informatica todo

Upload: pablo-reyes-carranza

Post on 04-Mar-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Manual Informatica

TRANSCRIPT

  • Programacin Estructurada Codificada

    PARA LA CARRERA DE PROFESIONAL TCNICO-BACHILLER EN

    INFORMTICA

    Manual Terico-Prctico del Mdulo Autocontenido Especfico

    ecbcc Educacin Capacitacin Basadas en Competencias Contextualizadas

    Capacitado por

    Conalep

  • Programacin Estruccturada Codificada

    2

    PARTICIPANTES Director General Efrn Castillo Saavedra Secretario de Desarrollo Acadmico y de Capacitacin Marco Antonio Norzagaray Director de Diseo de Curricular de la Formacin Ocupacional Gustavo Flores Fernndez Coordinadores de rea: Ma. Cristina Martnez Mercado Grupo de Trabajo para el Diseo del Mdulo Especialistas de Contenido

    Consultores Formo Internacional,S.C. Revisor de contenido Sandra Luz Lozano Ramrez Revisin Pedaggica Patricia Toledo Revisores de la Contextualizacin Agustn Valerio Armando Guillermo Prieto Becerril

    Tecnologas de la informacin Manual del curso mdulo Autocontenido Especfico Programacin Estructurada Codificada Informtica. D.R. 2006 CONALEP. Prohibida la reproduccin total o parcial de esta obra, incluida la portada, por cualquier medio sin autorizacin por escrito del CONALEP. Lo contrario representa un acto de piratera intelectual perseguido por la Ley Penal. E-CBCC Av. Conalep N 5, Col. Lzaro Crdenas, C.P. 52140 Metepec, Estado de Mxico.

  • Programacin Estruccturada Codificada

    3

    NDICE

    Participantes I. Mensaje al alumno 5 II. Como utilizar este manual 6 III. Propsito del mdulo 8 IV. Especificaciones de evaluacin 9 V. Mapa curricular del mdulo autocontenido transversal 10 Captulo 1 Manejo de sintaxis y elementos del lenguaje C. 11 Mapa curricular de la unidad de aprendizaje 13 1.1.1. Componentes de programacin 13 Algoritmo 13 Pseudocdigo 14 Diagramas de flujo 17 Codificacin en lenguaje C 19 Compilacin en C 20 Ejecucin de programa. 21 Documentacin 23 1.1.2. . Programacin en lenguaje C. 32 Propsito del lenguaje C. 32 Elementos 33 Tipos de datos 35 Declaraciones 37 1.2.1. Operadores y expresiones 40 Tipo de Operadores 40 Expresiones de asignacin 42 Expresiones condicionales 43 Precedencia y orden de evaluacin 43 1.2.2. Estructuras de control de flujo. 45 Proposiciones y bloques. 45 If-else. 46 Else-if 47 Ciclo While-for 48 Ciclo Do-while 48 Break y continue 49 Goto y etiquetas 51 Prcticas de ejercicio y Listas de Cotejo 53 Resumen 108 Autoevaluacin de conocimientos del captulo 1. 110 Captulo 2 Aplicacin de componentes de lenguaje C. 113Mapa curricular de la unidad de aprendizaje 114 2.1.1 Funciones 115 Definicin 115 Declaracin 115

    Llamadas a funciones 116

  • Programacin Estruccturada Codificada

    4

    2.1.2 Apuntadores y arreglos 119 Arreglos y cadenas 119 Arreglos unidimensionales 119 Cadenas 121 Arreglos multidimensiona-les 123 Punteros 125 Asignacin de punteros 125 Aritmtica de apuntadores 126 Punteros y arreglos. 1272.2.1 Estructuras. 132 Concepto 132 Estructuras y funciones 135 Arreglos de estructuras 136 Estructuras autoreferenciadas 137 Bsqueda en tablas 1372.2.2 Entrada y salida 140 E/S por consola 140 E/S por archivos 141 Preprocesador 143 Prcticas de ejercicio y Listas de Cotejo 145 Resumen 157 Autoevaluacin de conocimientos del captulo 2. 158Glosario de Trminos E-CBNC 162 Glosario de Trminos Tcnicos 164Referencias Documentales 184

  • Programacin Estruccturada Codificada

    5

    I. MENSAJE AL ALUMNO

    CONALEP TE DA LA BIENVENIDA AL CURSO-MDULO AUTOCONTENIDO ESPECFICO PROGRAMACI[ON ESTRUCCTURADA CODIFICADA EL CONALEP, a partir de la Reforma Acadmica 2003, disea y actualiza sus carreras, innovando sus perfiles, planes y programas de estudio, manuales terico-prcticos, con los avances educativos, cientficos, tecnolgicos y humansticos predominantes en el mundo globalizado, acordes a las necesidades del pas para conferir una mayor competitividad a sus egresados, por lo que se crea la modalidad de Educacin y Capacitacin Basada en Competencias Contextualizadas, que considera las tendencias internacionales y nacionales de la educacin tecnolgica, lo que implica un reto permanente en la conjugacin de esfuerzos. Este manual terico prctico que apoya al mdulo autocontenido, ha sido diseado bajo la Modalidad Educativa Basada en Competencias

    Contextualizadas, con el fin de ofrecerte una alternativa efectiva para el desarrollo de conocimientos, habilidades y actitudes que contribuyan a elevar tu potencial productivo y, a la vez que satisfagan las demandas actuales del sector laboral, te formen de manera integral con la oportunidad de realizar estudios a nivel superior. Esta modalidad requiere tu participacin y que te involucres de manera activa en ejercicios y prcticas con simuladores, vivencias y casos reales para promover un aprendizaje integral y significativo, a travs de experiencias. Durante este proceso debers mostrar evidencias que permitirn evaluar tu aprendizaje y el desarrollo de competencias laborales y complementarias requeridas. El conocimiento y la experiencia adquirida se vern reflejados a corto plazo en el mejoramiento de tu desempeo laboral y social, lo cual te permitir llegar tan lejos como quieras en el mbito profesional y laboral.

  • Programacin Estruccturada Codificada

    6

    II. COMO UTILIZAR ESTE MANUAL

    Las instrucciones generales que a

    continuacin se te pide que realices tienen la intencin de conducirte a que vincules las competencias requeridas por el mundo de trabajo con tu formacin de profesional tcnico.

    Redacta cules seran tus objetivos personales al estudiar este mdulo ocupacional.

    Analiza el Propsito del mdulo autocontenido que se indica al principio del manual y contesta la pregunta Me queda claro hacia dnde me dirijo y qu es lo que voy a aprender a hacer al estudiar el contenido del manual? Si no lo tienes claro, pdele al docente que te lo explique.

    Revisa el apartado especificaciones de evaluacin; son parte de los requisitos que debes cumplir para aprobar el mdulo. En l se indican las evidencias que debes mostrar durante el estudio del curso -mdulo ocupacional- para considerar que has alcanzado los resultados de aprendizaje de cada unidad.

    Es fundamental que antes de empezar a abordar los contenidos del manual, tengas muy claros los conceptos que a continuacin se mencionan: competencia laboral, unidad de competencia (bsica, genricas especficas), elementos de competencia, criterio de desempeo, campo de aplicacin, evidencias de desempeo, evidencias de conocimiento, evidencias por producto, norma tcnica de

    institucin educativa, formacin ocupacional, mdulo ocupacional, unidad de aprendizaje y resultado de aprendizaje. Si desconoces el significado de los componentes de la norma, te recomendamos que consultes el apartado glosario de trminos, que encontrars al final del manual.

    Analiza el apartado Normas Tcnicas de competencia laboral, Norma tcnica de institucin educativa.

    Revisa el Mapa curricular del mdulo autocontenido. Est diseado para mostrarte esquemticamente las unidades y los resultados de aprendizaje que te permitirn llegar a desarrollar paulatinamente las competencias laborales que requiere la ocupacin para la cual te ests formando.

    Realiza la lectura del contenido de cada captulo y las actividades de aprendizaje que se te recomiendan. Recuerda que en la educacin basada en normas de competencia laborales la responsabilidad del aprendizaje es tuya, ya que eres el que desarrolla y orienta sus conocimientos y habilidades hacia el logro de algunas competencias en particular.

    En el desarrollo del contenido de cada captulo, encontrars ayudas visuales como las siguientes, haz lo que ellas te sugieren efectuar. Si no haces no aprendes, no desarrollas habilidades, y te ser difcil realizar los ejercicios de evidencias de conocimientos y los de desempeo.

  • Programacin Estruccturada Codificada

    7

    Imgenes de Referencia

    Estudio individual Investigacin documental

    Consulta con el docente Redaccin de trabajo

    Comparacin de resultados con otros compaeros Repeticin del ejercicio

    Trabajo en equipo

    Contextualizacin

    Realizacin del ejercicio Resumen

    Observacin Consideraciones sobre seguridad e higiene

    Investigacin de campo Portafolios de evidencias

  • Programacin Estruccturada Codificada

    8

    III. PROPSITO DEL MDULO AUTOCONTENIDO

    Al finalizar el mdulo, el alumno elaborar programas estructurados codificados, mediante los elementos principales y la estructura modular del lenguaje de programacin C, para la resolucin de algoritmos dados.

  • Programacin Estruccturada Codificada

    9

    IV. ESPECIFICACIONES DE EVALUACIN

    Durante el desarrollo de las prcticas de ejercicio, tambin se estar evaluando el desempeo. El docente, mediante la observacin directa y con auxilio de una lista de cotejo, confrontar el cumplimiento de los requisitos en la ejecucin de las actividades y el tiempo real en que se realiz. En stas quedarn registradas las evidencias de desempeo.

    Las autoevaluaciones de conocimientos correspondientes a cada captulo, adems de ser un medio para reafirmar los conocimientos sobre los contenidos tratados, son tambin una forma de evaluar y recopilar evidencias de conocimiento.

    Al trmino del mdulo, debers presentar un Portafolios de Evidencias1, el cual estar integrado por las listas de cotejo correspondientes a las prcticas de ejercicio, las autoevaluaciones de conocimientos que se encuentran al final de cada captulo del manual y muestras de los trabajos realizados durante el desarrollo del mdulo, con esto se facilitar la evaluacin del aprendizaje para determinar que se ha obtenido la competencia laboral.

    Debers asentar datos bsicos, tales como: nombre del alumno, fecha de evaluacin, nombre y firma del evaluador y plan de evaluacin.

    1El portafolios de evidencias es una compilacin de documentos que le permiten al evaluador, valorar los conocimientos, las habilidades y las destrezas con que cuenta el alumno y a ste le permite organizar la documentacin que integra los registros y productos de sus competencias previas y otros materiales que demuestran su dominio en una funcin especfica (CONALEP. Metodologa para el diseo e instrumentacin de la educacin y capacitacin basada en competencias, Pg. 180).

  • Programacin Estruccturada Codificada

    10

    V. MAPA CURRICULAR DEL MDULO AUTOCONTENIDO ESPECFICO

    1.1 Identificar el entorno de programacin mediante los componentes de programacin, tipos y datos del lenguaje C

    24 hrs.

    1.2 Realizar interaccin de variables, produccin de nuevos valores y especificacin de orden de procesamiento, usando operadores, expresiones y control de flujo del lenguaje C.

    40 hrs.

    2.1 Elaborar rutinas de programacin, usando funciones, apuntadores y arreglos codificados en lenguaje C.

    40 hrs.

    2.2 Desarrollar programas en lenguaje C, aplicando estructuras, formatos de entrada y salida codificados en lenguaje C

    40 hrs.

    Mdulo

    Unidad de Aprendizaje

    2. Aplicacin de componentes de lenguaje C.

    80 hrs.

    Programacin Estructurada Codificada

    144 hrs.

    1. Manejo de sintaxis y elementos del lenguaje C.

    64 hrs.

    Resultados de

    Aprendizaje

  • Programacin Estruccturada Codificada

    11

    MANEJO DE SINTAXIS Y ELEMENTOS DEL LENGUAJE C. Al finalizar la unidad, el alumno manejar la sintaxis de acuerdo con los elementos del lenguaje C para la elaboracin de programas.

  • Programacin Estruccturada Codificada

    12

    MAPA CURRICULAR DE LA UNIDAD DE APRENDIZAJE

    1.1 Realizar la actualizacin de bienes utilizando el ndice Nacional de Precios. 24 hrs.

    1.2 Determinar los factores de ajuste de conversin y las partidas de acuerdo con las caractersticas de la empresa en pocas inflacionarias.

    10 hrs.

    Mdulo

    Unidad de Aprendizaje

    2. Aplicacin de componentes de lenguaje C

    80 hrs.

    Programacin Estructurada Codificada

    90 hrs.

    1. Manejo de sintaxis y elementos del lenguaje C.

    64 hrs.

    Resultados de

    Aprendizaje

  • Programacin Estruccturada Codificada

    13

    SUMARIO COMPONENTES DE PROGRAMACIN PROGRAMACIN EN LENGUAJE C OPERADORES Y EXPRESIONES ESTRUCTURAS DE CONTROL DE FLUJO

    RESULTADO DE APRENDIZAJE 1.1. Identificar el entorno de programacin mediante los componentes de programacin,

    tipos y datos del lenguaje C. 1.1.1. COMPONENTES DE PROGRAMACIN.

    Algoritmo

    Algoritmo, en matemticas, es un mtodo de resolucin de clculos complicados mediante el uso repetido de otro mtodo de clculo ms sencillo. Ejemplos bsicos son los mtodos para efectuar operaciones aritmticas (multiplicacin, divisin, obtencin de races cuadradas), la obtencin del mximo comn divisor y del mnimo comn mltiplo de un nmero mediante su descomposicin en factores primos, y la divisin de un polinomio por x a mediante la regla de Ruffini. En la actualidad, el trmino algoritmo se aplica a muchos de los mtodos de resolucin de problemas que emplean una secuencia mecnica de pasos, como en el diseo de un programa de computadora o computadora. Esta secuencia se puede representar en forma de un diagrama de flujo para que sea ms fcil de entender.

    Al igual que los algoritmos usados en aritmtica, los algoritmos para computadoraes pueden ser desde muy sencillos hasta bastante complejos. En todos los casos, sin embargo, la tarea que el algoritmo ha de realizar debe ser definible. Esta definicin puede incluir trminos matemticos o lgicos, o una compilacin de datos o instrucciones escritas. Utilizando el lenguaje de la informtica, esto quiere decir que un algoritmo debe ser programable, incluso si al final se comprueba que el problema no tiene solucin.

    En las computadoras con lgica de microcomputadoraes incorporada, esta lgica es un tipo de algoritmo. A medida que los equipos informticos se hacen ms complejos, ms y ms algoritmos del software toman la forma del llamado hard-software. Esto es, cada vez ms, se estn convirtiendo en parte de los circuitos bsicos de los computadoraes o en mdulos auxiliares; tambin estn apareciendo por s solos en mquinas especficas como las calculadoras de nminas.

  • Programacin Estruccturada Codificada

    14

    Representacin grfica de algoritmos.

    - Descripcin Narrada - Pseudocdigo - Diagramas de Flujo

    Descripcin Narrada

    Este algoritmo es caracterizado porque sigue un proceso de ejecucin comn y lgico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada.

    Ejemplo 1 Algoritmo para asistir a clases: Paso 1. Levantarse Paso 2. Baarse Paso 3. Vestirse Paso 4. DesayunarPaso Paso 5. Cepillarse los dientes Paso 6. Salir de casa Paso 7. Tomar el autobs Paso 8. Llegar al ITCA Paso 9. Buscar el aula Paso 10. Ubicarse en un asiento

    Pseudocdigo

    El vocablo Pseudo significa falso. El pseudocdigo no es realmente un cdigo, sino una imitacin y una versin abreviada de instrucciones reales para las computadoras. Es una tcnica para diseo de programas que permite definir las estructuras de datos, las operaciones que se aplicarn a los datos y la lgica que tendr el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programacin. Se concibi para superar las dos principales desventajas de

    los flujogramas: lento de crear y difcil de modificar sin un nuevo redibujo.

    Ejemplo: 1. Disear un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmtica. Inicio

    Leer (a, b, c, d) producto

  • Programacin Estruccturada Codificada

    15

    una se refiere a una actividad general o especfica.

    o Se utiliza un lenguaje comn, sin palabras rebuscadas.

    o Se evitan errores gramaticales, abreviaciones y puntuaciones.

    REGLAS GENERALES PARA LA CONVERSION

    DE PSEUDOCDIGO A LENGUAJE C Tabla de Correspondencias:

    PSEUDOCDIGO LENGUAJE C La primera lnea de todo programa #include PROGRAMA.... No tiene correspondencia INICIO void main(void){FIN }int a,b int a,b;a = b a = b;i = i + 1 i = i + 1;

    o bien i++;

    SI condicin * * * FINSI

    if (condicion){ * * * }

    SI condicion * * * SINO * * * FINSI

    if (condicion){ * * * } else{ * * * }

    MIENTRAS condicion * * * FINM

    while (condicion){ * * * }

    HACER * * * MIENTRAS condicion

    do{ * * * } while (condicion);

    DESDE i=0 HASTA 9 * * * FIND

    for(i=0;i

  • Programacin Estruccturada Codificada

    16

    Los comentarios comienzan con /* y terminan con */ Los #include permiten usar funciones ya escritas incluidas en grandes colecciones denominadas libreras. Las ms

    usuales son : #include permite usar printf, scanf, fread, fwrite, fopen, etc. #include permite usar clrscr #include permite usar rand #include permite usar funciones trigonomtricas

    Las constantes se definen tras los #include, de la siguiente forma: #define pi 3.1415 #define numero 2.71

    Ejemplos de traducciones: PROGRAMA prueba; int i, n INICIO escribir("Escriba n : ") leer(n) DESDE i

  • Programacin Estruccturada Codificada

    17

    Diagrama de flujo El diagrama de flujo, o diagrama secuencial, empleado en muchos campos para mostrar los procedimientos detallados que se deben seguir al realizar una tarea, como un proceso de fabricacin. Tambin se utilizan en la resolucin de problemas, como por ejemplo en algoritmos. Los diagramas de flujo se usan normalmente para seguir la secuencia lgica de las acciones en el diseo de programas de computadoras. Son la representacin grfica de la solucin algortmica de un problema. Para disearlos se utilizan determinados smbolos o figuras que representan una accin dentro del procedimiento. Utilizan unos smbolos normalizados, con los pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos con flechas, denominadas lneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Para su elaboracin se siguen ciertas reglas:

    Se escribe de arriba hacia abajo y de izquierda a derecha

    Siempre se usan flechas verticales u horizontales, jams curvas

    Evitar cruce de flujos En cada paso, expresar una accin

    concreta La secuencia de flujo normal en una solucin de problema considera lo siguiente:

    Tiene un inicio.

    Una lectura o entrada de datos El proceso de datos Una salida de informacin Un final

    Simbologa para disear flujogramas.

    Ventajas de usar flujogramas:

    Rpida comprensin de las relaciones

    Anlisis efectivo de las diferentes secciones del programa

    Pueden usarse como modelos de trabajo en el diseo de nuevos programas o sistemas

    Comunicacin con el usuario Documentacin adecuada de los

    programas Codificacin eficaz de los

    programas Depuracin y pruebas ordenadas de

    programas

    Desventajas de los flujogramas

    Los diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseo.

  • Programacin Estruccturada Codificada

    18

    Las acciones a seguir, tras la salida de un smbolo de decisin, pueden ser difciles de seguir si existen diferentes caminos.

    No existen normas fijas para la elaboracin de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.

    Representando un ejemplo, como flujograma tenemos:

    Codificacin en lenguaje C El compilador en s mismo slo es un programa que traduce nuestro cdigo fuente y lo convierte en un ejecutable. Para escribir nuestros programas necesitamos un editor. La mayora de los compiladores, al instalarse, incorporan ya un editor; es el caso de los conocidos Turbo C, Borland C, Visual C++. No

    debemos confundir, por tanto, el editor con el compilador. Estos editores suelen tener unas caractersticas que nos facilitan mucho el trabajo: permiten compilar y ejecutar el programa directamente, depurarlo (corregir errores), gestionar proyectos complejos. Si el compilador no trae editor, la solucin ms simple en MS-Dos puede ser usar el edit, en windows el notepad. stos son ms que editores sin ninguna otra funcionalidad. Otra posibilidad es un entorno de desarrollo llamado RHIDE, un programa muy til que automatiza muchas de las tareas del programador (del estilo del Turbo C y Turbo Pascal). Si queremos una herramienta muy avanzada podemos usar Emacs, que es un editor muy potente, aunque para algunos puede parecer muy complicado. Estos dos programas estn disponibles tanto en Linux como en MS-Dos. Como recomendcin se puede buscar en la web una lista de Compiladores y editores actualizada. El primer programa: Hola Mundo #include int main() { printf("Hola mundo\n"); return 0; } Nota: Hay mucha gente que programa en Windows que se queja de que cuando ejecuta el programa no puede ver el

  • Programacin Estruccturada Codificada

    19

    resultado. Para evitarlo, se puede aadir antes de return 0; la siguiente lnea: system("PAUSE");

    Si esto no funciona, pruebe aadir getch();

    Otra nota: En compiladores MS Windows, para poder usar la funcin system() se debe aadir al principio del programa la lnea: #include

    Este programa lo nico que hace es sacar por pantalla el mensaje:

    Hola mundo

    Vamos ahora a comentar el programa lnea por lnea (Esto no va a ser ms que una primera aproximacin).

    #include

    #include es lo que se llama: una directiva. Sirve para indicar al compilador que incluya otro archivo. Cuando en compilador se encuentra con esta directiva, la sustituye por el archivo indicado. En este caso, es el archivo stdio.h, que es donde est definida la funcin printf, que veremos luego.

    int main()

    Es la funcin principal del programa. Todos los programas de C deben tener una funcin llamada main. Es la que primero se ejecuta. El int (viene de Integer=Entero) que tiene al principio, significa que cuando la funcin main acabe devolver un nmero entero. Este valor se suele usar para saber cmo ha terminado el programa. Normalmente,

    este valor ser 0, si todo ha ido bien o un valor distinto, si se ha producido algn error.

    Se puede usar la definicin 'void main()', que no necesita devolver ningn valor, pero se recomienda la forma con 'int' que es ms correcta.

    Falta el return 0; del final, el cdigo funciona correctamente pero puede dar un 'warning' al compilar es necesario escribir:

    {

    Son las llaves que indican el comienzo de una funcin, en este caso la funcin main.

    /* Aqu va el cuerpo del programa */

    Esto es un comentario, no se ejecuta. Sirve para describir el programa. Conviene acostumbrarse a comentar los programas. Un comentario puede ocupar ms de una lnea. Por ejemplo el comentario:

    /* Este es un comentario que ocupa dos filas */

    es perfectamente vlido.

    printf( "Hola mundo\n" );

    Aqu es donde, por fin, el programa hace algo que podemos ver al ejecutarlo. La funcin printf muestra un mensaje por la pantalla. Al final del mensaje "Hola mundo" aparece el smbolo '\n'; ste hace que despus de imprimir el mensaje se pase a la lnea siguiente.

  • Programacin Estruccturada Codificada

    20

    Fjate en el ";" del final. Es la forma que se usa en C para separar una instruccin de otra. Se pueden poner varias en la misma lnea siempre que se separen por un punto y coma.

    return 0;

    Como he indicado antes el programa al finalizar develve un valor entero. Como en este programa no se pueden producir errores (nunca digas nunca jams) la salida siempre ser 0. La forma de hacer que el programa devuelva un 0 es usando return. Esta lnea significa 'finaliza la funcin main haz que devuelva un 0.

    }

    ...y cerramos llaves con lo que termina el programa. Todos los programas finalizan cuando se llega al final de la funcin main.

    Compilacin en C

    Un compilador es un programa que convierte nuestro cdigo fuente en un programa ejecutable. El procesador trabaja con 0 y 1. Si se escribe un programa en el lenguaje mquina, nos volveramos locos. Para eso hay lenguajes como el C. Nos permiten escribir un programa de manera que sea fcil entenderlo por una persona (el cdigo fuente). Luego es el compilador el que se encarga de convertirlo al complicado idioma de un computadora.

    En la prctica a la hora de crear un programa, Se escribe el cdigo fuente, en

    nuestro caso en C, que normalmente ser un fichero de texto normal y corriente que contiene las instrucciones de nuestro programa. Luego se lo pasamos al compilador y ste se encarga de convertirlo en un programa.

    Si tenemos el cdigo fuente, podemos modificar el programa tantas veces como queramos (slo tenemos que volver a compilarlo). Pero si tenemos el ejecutable final, no podremos cambiar nada (realmente s se puede pero es mucho ms complicado y requiere ms conocimientos).

    Si se va a programar en Windows es recomendable usar el Dev-C++, de fcil instalacin y manejo. Tambin se recomienda usar el DJGPP para MS-Dos y Windows y el GNU C (gcc.gnu.org) para Linux. La informacin de la pgina est ms actualizada.

    Ejecucin de programa Creacin del programa

    Se puede crear un archivo que contenga el programa completo, como en los ejemplos que se muestran ms adelante. Se puede usar cualquier editor de textos ordinario con el que se est familiarizado. Un editor disponible en la mayora de los sistemas UNIX es vi, y en Linux se puede usar pico.

    Por convencin, el nombre del archivo debe terminar con ``.c'' por ejemplo: miprograma.c progprueba.c. El contenido

  • Programacin Estruccturada Codificada

    21

    del archivo deber obedecer la sintaxis de C.

    Compilacin Existen muchos compiladores de C. El cc es el compilador estndar de Sun. El compilador GNU de C es gcc, el cual es bastante popular y est disponible en varias plataformas. Existen tambin compiladores equivalentes de C++ los cuales usualmente son nombrados como CC. Por ejemplo, Sun provee CC y GNU GCC. El compilador de GNU es tambin denotado como g++. Existen otros compiladores menos comunes de C y C++. En general, todos los compiladores mencionados operan esencialmente de la misma forma y comparten muchas opciones comunes en la lnea de opciones. Para compilar el programa usaremos el comando gcc. El comando deber ser seguido por el nombre del programa en C que se quiere compilar. Un determinado nmero de opciones del compilador puede ser indicado tambin.

    El comando bsico de compilacin es: gcc programa.c , donde programa.c es el nombre del archivo.

    Si hay errores obvios en el programa (tales como palabras mal escritas, caracteres no tecleados u omisiones de punto y coma), el compilador se detendr y los reportar.

    Podra haber, desde luego, errores lgicos que el compilador no podr detectar. En el caso que est fuera la situacin, se le estar indicando a la computadora que haga las operaciones incorrectas. Cuando el compilador ha terminado con xito la versin compilada, o el ejecutable, es dejado en un archivo llamado a.out, o si la opcin -o es usada con el compilador, el nombre despus de -o es el nombre del programa compilado. Se recomienda, y es ms conveniente, usar la opcin -o con el nombre del archivo ejecutable como se muestra a continuacin: gcc -o programa programa.c el cual pone el programa compilado en el archivo del programa sealado, en ste caso en programa, en vez del archivo a.out. Ejecucin del programa

    El siguiente paso es correr el programa ejecutable. Para correr un ejecutable en UNIX, simplemente se escribe el nombre del archivo que lo contiene, en este caso el programa (o a.out).

    Con lo anterior, se ejecuta el programa, mostrando algn resultado en la pantalla. En ste estado, podra haber errores en tiempo de ejecucin (run-time errors), tales como divisin por cero, o bien, podran hacerse evidentes al ver que el programa no produce la salida correcta.

  • Programacin Estruccturada Codificada

    22

    Si lo anterior sucede, entonces se debe regresar a editar el archivo del programa, recompilarlo y ejecutarlo nuevamente.

    Documentacin

    Es importante documentar cda uno de los programas que se van elaborando, en forma de comentario. Al principio se puede poner comentarios sobre la funcin que hace o reliza el programa.

    Pero tambin existen otras tcnicas de documentar los programas como son las siguientes:

    Diagramacin

    La explosin del diagrama de flujo original permite que el analista de sistemas se enfoque en representaciones cada vez ms detalladas de los movimientos de datos dentro del sistema. Luego, el analista desarrolla un diagrama de flujo de datos fsico a partir del diagrama de flujo de datos lgico, particionndolo para facilitar la programacin. Cada proceso es analizado para determinar si debe ser un procedimiento manual o automatizado. Los procesos automatizados son agrupados subsecuentemente en una serie de programas de computadora diseados para ser por lotes o en lnea. Seis consideraciones para particin de diagramas de flujo incluyen si hay:

    - Procesos ejecutados por diferentes grupos de usuarios

    - Procesos que se ejecuten al mismo tiempo

    - Procesos que ejecuten tareas similares

    - Procesos por lotes que pueden ser combinados para un procesamiento eficiente

    - Procesos que pueden ser combinados en un programa para tener consistencia de datos

    - Procesos que pueden ser partidos en diferente programas por razones de seguridad.

    Caractersticas comunes de los diagramas de flujo de datos lgicos y fsicos.

  • Programacin Estruccturada Codificada

    23

    El diagrama de flujo de datos fsico (abajo) muestra determinados detalles que no se

    encuentran en el diagrama de flujo de datos lgico (arriba).

    Caso

    No hay negocio como el negocio de flujos

    Suena el telfono de Merman, y Annie Oakiea, jefa del inventario de vestidos, lo levanta y responde a una pregunta diciendo:

    "Djame echar una ojeada a las tarjetas de inventario. Lstima, parece como si slo

    hubiera dos trajes de oso macho en el inventario, con una expresin de extraeza. Tenemos gran cantidad de

    osos. Cundo lo necesita? Tal vez regresen uno. No, no puede hacerlo, lo siento. Sin embargo, quisiera que le enviara esos dos? Cul es el nombre de su local? El teatro en la plaza? Correcto. Qu bella compaa! Veo por nuestras tarjetas de contabilidad que usted ya ha rentado con nosotros antes. Cunto tiempo necesitar los trajes?".

  • Programacin Estruccturada Codificada

    24

    La figura es un diagrama de flujo de datos que pone los pasos para el procesamiento de rentas de trajes de Merman. Muestra rentas como la que Annie est haciendo para el teatro de la plaza.

    Diagrama de flujo de datos para la renta de disfraces de la tienda Mermans Costume Rentals

  • Programacin Estruccturada Codificada

    25

    Despus de conversar unos momentos ms sobre la poltica de la tienda acerca de alteraciones, Annie termina su conversacin diciendo, "Tienen ustedes mucha suerte para obtener los osos con tan poco aviso. He estado en otra compaa reservndolos desde la primera semana de julio. Les enviar los trajes de oso y se los llevar directamente nuestro mensajero. Como siempre, el retorno rpido nos ahorrar problemas enormes a todos". La empresa de renta de trajes de Merman est ubicada en el distrito teatral West End, de Londres, famoso mundialmente. Cuando a una compaa de produccin de teatro o televisin le faltan recursos (ya sea por tiempo o experiencia) para construir un traje en su propio taller, el grito es "Hblenle a Merman!" y ellos proceden a rentar lo que necesitan con el mnimo de problemas.

    La tienda (visualizada mejor como bodega) est en tres pisos llenos de percheros de trajes que tienen miles de ellos colgados juntos por periodo histrico, agrupados luego por si son para hombre o mujer y luego por tamao de traje.' La mayora de las compaas de teatro son capaces de localizar precisamente lo que necesitan por medio de la asistencia capaz de Annie.

    Ahora elabore a la medida la parte de regreso de renta de diagrama de flujo dado anteriormente. Recuerde que los retornos a tiempo son crticos para mantener la fama de los trajes rentados a Merman.

    Se dice que Western Costume Company en Hollywood, Califorriiii, tiene ms de 1 milln de vestidos que valen cerua de $40 millones.

    Diccionarios De Datos.

    Usando un enfoque de arriba hacia abajo, el analista de sistemas usa los diagramas de flujo de datos para comenzar la compilacin de un diccionario de datos, que es una referencia que contiene datos acerca de datos, o metadatos sobre todos los datos de procesos, almacenes, flujos, estructuras y los elementos lgicos y fsicos dentro del sistema que est siendo estudiado. Una manera para comenzar es incluyendo todos los conceptos de datos de los diagramas de flujo de datos.

  • Programacin Estruccturada Codificada

    26

    La

    forma en que el diccionario de datos se relaciona con el diagrama de flujo de datos.

    Una coleccin grande de la informacin de proyecto es llamada un depsito. Las herramientas CASE permiten que el analista cree un depsito, que puede incluir informacin acerca de los flujos, almacenes, estructuras de registro y elementos de datos, la lgica de procedimiento de diseos de pantalla y reporte, relaciones de datos, requerimientos del proyecto y lo que produce el sistema final e informacin sobre la administracin de proyecto.

    Cada entrada del diccionario de datos contiene: el nombre del concepto, una descripcin verbal, alias, elementos de datos relacionados, rango, longitud, codificacin y la informacin de edicin necesaria. El diccionario de datos es til

    en

    todas las fases del anlisis, diseo y documentacin ltima, debido a que es la fuente autorizada sobre la manera en que es usado y definido un elemento de datos en el sistema. Muchos sistemas grandes tienen diccionarios de datos computarizados que tienen referencias cruzadas con todos los programas de la base de datos que usan un elemento de datos particular.

  • Programacin Estruccturada Codificada

    27

    Dos diagramas de flujo de datos y sus entradas del diccionario de datos correspondientes para la produccin de un cheque de pago a un empleado.

    LA MANERA EN QUE LAS ESPECIFICACIONES DE PROCESO SE RELACIONAN CON EL DIAGRAMA DE FLUJO DE DATOS.

    Una forma para describir las decisiones estructuradas es usar el mtodo mencionado como lenguaje estructurado, donde la lgica es expresada en

    estructuras secuenciales, estructuras de decisin, estructuras de caso o iteraciones. El lenguaje estructurado usa palabras reservadas aceptadas, tales como SI, ENTONCES, SINO, HACER, HACER MIENTRAS y HACER HASTA para describir la lgica usada y usa sangras para indicar la estructura jerrquica del proceso de decisin.

  • Programacin Estruccturada Codificada

    28

    Las tablas de decisin proporcionan otra forma para examinar, describir y documentar decisiones. Cuatro cuadrantes (vistos en sentido del reloj a partir de la esquina superior izquierda) son usados para: (1) describir las condiciones, (2) identificar alternativas de decisin posibles (tales como S o N), (3) indicar cules acciones deben ser ejecutadas y (4) describir las acciones. Las tablas de decisin son ventajosas, debido a que las reglas para desarrollar la tabla misma, as como las reglas para eliminar redundancia, contradicciones y situaciones imposibles son directas y manejables. El uso de tablas de decisin promueve la integridad y precisin en el anlisis de decisin estructuradas.

    Figura.- Lenguaje estructurado para el

    sistema de procesamiento de reclamaciones mdicas. Lo

    subrayado significa que esos trminos han sido definidos en el diccionario de datos.

    Cada uno de los mtodos de anlisis de decisin tiene sus propias ventajas y debe ser usado de acuerdo con ellas. El lenguaje estructurado es til cuando

    muchas acciones son repetidas y cuando es importante la comunicacin con otros. Las tablas de decisin proporcionan

  • Programacin Estruccturada Codificada

    29

    anlisis completo de situaciones complejas y a la vez limitan la necesidad por cambios atribuibles a situaciones imposibles, redundancias o contradicciones. Los rboles de decisin son importantes cuando es crtica la secuencia adecuada de condiciones y acciones y cuando cada condicin no es relevante para cada accin.

    Las especificaciones de proceso pueden ser usadas para analizar el diagrama de flujo de datos y el diccionario de datos por

    medio de un mtodo llamado balanceo horizontal, que indica que todos los elementos del flujo de datos de salida deben ser obtenidos a partir de elementos de entrada y lgica de proceso. Las reas no resueltas pueden ser planteadas como preguntas en entrevistas de averiguacin.

    Figura: Uso de una tabla de decisin para ilustrar una poltica de tienda para la salida de un cliente con cuatro juegos de reglas y cuatro

    acciones posibles.

  • Programacin Estruccturada Codificada

    30

    Figura: Trazado de un rbol de decisin para mostrar las acciones de aprobacin de una

    compra que no es en efectivo en una tienda de departamentos.

  • Programacin Estruccturada Codificada

    31

    CONTEXTUALIZACIN

    Competencia analtica

    Promover habilidades cognitivas que les permitan utilizar hbitos y tcnicas de estudio que potencialicen su estilo de aprendizaje. Los sistemas de informacin se han convertido en el pilar de toda organizacin, porque en ellos se encuentran automatizados los procesos y el flujo de informacin, adem de que dichos sistemas informticos pueden estar comunicados entres s desde una red LAN (Local Area Network), hasta una red remota que puede ser conectada por un servidor desde Internet. El Analista-Programador tiene como funcin realizar todos los estudios necesarios de una organizacin en lo que refiere a las actividades operativas y administrativas, para as presentar una propuesta cercana al diseo de un Sistema Informtico. El alumno:

    Comparar qu avances tecnolgicos se han dado a travs del tiempo con el uso de los distintos lenguajes de programacin.

    Competencia de informacin

    Buscar fuentes de informacin bibliogrfica, hemerogrfica, Internet y videotecas que ample el acervo de conocimientos.

    El alumno:

    Recopilar informacin sobre la evolucin de los lenguajes de programacin estructurada desde su surgimiento hasta la actualidad.

    Para mayor informacin puede consultar las siguientes direcciones electrnicas: http://www.monografias.com/trabajos/anaydisesis/anaydisesis.shtml http://comunidad.uach.mx/marana/materias/adsi/adsi.htm

  • Programacin Estruccturada Codificada

    32

    1.1.2 PROGRAMACIN EN LENGUAJE C.

    Propsito del lenguaje C

    C es un lenguaje de programacin desarrollado en 1972 por el estadounidense Dennis Ritchie en los Laboratorios Bell. Debe su nombre a que su predecesor inmediato haba sido llamado lenguaje de programacin B. Aunque muchos consideran que C es un lenguaje ensamblador ms independiente de la mquina que un lenguaje de alto nivel, su estrecha asociacin con el sistema operativo UNIX, su enorme popularidad y su homologacin por el American National Standards Institute (ANSI) lo han convertido quiz en lo ms cercano a un lenguaje de programacin estandarizado en el sector de microcomputadoraes o microcomputadoras y estaciones de trabajo. C es un lenguaje compilado que contiene un pequeo conjunto de funciones incorporadas dependientes de la mquina. El resto de las funciones de C son independientes de la mquina y estn contenidas en bibliotecas a las que se puede acceder desde programas escritos en C. Estos programas estn compuestos por una o ms funciones definidas por el programador, por lo que C es un lenguaje de programacin estructurada. Vase tambin C++. C++, en informtica (lase C plus plus), es una versin orientada a objetos derivada del lenguaje de programacin de aplicacin general denominado C, desarrollada por Bjarne Stroustrup en los Bell Laboratories de la compaa American Telephone and Telegraph (AT&T); en un

    principio tambin fue conocido como C with Classes (C con clases, alusin a las clases de la programacin orientada a objetos). Comenz a desarrollarse en 1980 y se nombr C++ en 1983. El primer manual y su primera implementacin como producto comercial aparecieron en 1985. Versiones sucesivas se publicaron en 1989 y 1990, siendo sus referencias oficiales, adems de las publicaciones de su versin estandarizada, las obras The C++ Programming Language (El lenguaje de programacin C++, 1985) y Annotated C++ Reference Manual (Manual de referencia comentado de C++, 1990). El lenguaje tiene como conceptos clave, entre otros, la clase (class), que facilita la creacin de tipos de datos definidos por el usuario conjuntamente con funciones o mtodos para tratar con ellos, la encapsulacin de datos, la asignacin dinmica de memoria y la sobrecarga de operadores. Se dise explcitamente para lograr una mayor flexibilidad en la programacin avanzada, aunque manteniendo un grado de simplicidad apreciable, basndose para todos los efectos en el lenguaje C, de ya muy amplia difusin, y en la metodologa bsica del lenguaje Simula, en lo referente a la programacin orientada a objetos. A mediados de 1998, fue publicado como un estndar oficial del comit ANSI X3J16 (American National Standards Institute) y de la ISO, International Standards Organization (Asociacin Internacional para la Estandarizacin).

  • Programacin Estruccturada Codificada

    33

    Fue a partir de 1990 cuando se extendi su uso, tanto como lenguaje para el desarrollo de aplicaciones como para sistemas operativos. Muy ligado a UNIX en sus orgenes, su uso es, hoy da, prcticamente general. Las versiones ms utilizadas en computadoraes personales son Visual C++ de Microsoft y C++

    Builder de Borland (actualmente Inprise Corp.). Tambin ha tenido una gran influencia en el desarrollo del lenguaje JAVA, con el que mantiene similitudes en cuanto a la sintaxis y estructura de la programacin.

    Elementos

  • Programacin Estruccturada Codificada

    34

    Sistema informtico Un sistema informtico suele estar compuesto por una unidad central de proceso (CPU), dispositivos de entrada, dispositivos de almacenamiento y dispositivos de salida. La CPU incluye una unidad aritmtico-lgica (ALU), registros, seccin de control y bus lgico. La unidad aritmtico-lgica efecta las operaciones aritmticas y lgicas. Los registros almacenan los datos y los resultados de las operaciones. La unidad de control regula y controla diversas operaciones. El bus interno conecta las unidades de la CPU entre s y con los componentes externos del sistema. En la mayora de las computadoras, el principal dispositivo de entrada es el teclado. Los dispositivos de almacenamiento son los discos duros, flexibles (disquetes) y compactos (CD) y qu hay del chunche (USB). Los dispositivos de salida que permiten ver los datos son los monitores e impresoras. Dentro de la programacin del lenguaje C, partamos ahora a la progracin estructurada enlenguaje C Paradigma de la programacin estructurada:

    Algoritmos+estructuras de datos = programas.

    Estructuras de datos

    Literales Tipos bsicos (todos numricos) Tipos enumerados Tipos estructurados (struct, union) Punteros y vectores

    Construcciones algortmicas

    Construcciones condicionales (if,switch)

    Construcciones iterativas(while,for,do...while)

    Subrutinas (funciones)

    Adems de lo anterior, el C tiene otros elementos:

    Comentarios Inclusin de ficheros Macros Compilacin condicional

    El preprocesador normalmente se encarga de interpretar estas construcciones. .

    Estructura bsica de un programa en C

    La mejor forma de aprender un lenguaje es programando con l. El programa ms sencillo que se puede escribir en C es el siguiente:

    main( ) { }

    Como nos podemos imaginar, este programa no hace nada, pero contiene la parte ms importante de cualquier programa C y adems, es el ms pequeo que se puede escribir y que se compile correctamente. En l se define la funcin main, que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre de una funcin C siempre va seguida de parntesis, tanto si tiene

  • Programacin Estruccturada Codificada

    35

    argumentos como si no. La definicin de la funcin est formada por un bloque de sentencias, que est encerrado entre llaves {}. Un programa algo ms complicado es el siguiente:

    #include main( ) { printf("Hola amigos!\n"); }

    Con l visualizamos el mensaje Hola amigos! en el terminal. En la primera lnea indica que se tengan en cuenta las funciones y tipos definidos en la librera stdio (standard input/output). Estas definiciones se encuentran en el fichero header stdio.h. Ahora, en la funcin main se incluye una nica sentencia que llama a la funcin printf. sta toma como argumento una cadena de caracteres, que se imprimen van encerradas entre dobles comillas " ". El smbolo \n indica un cambio de lnea.

    Hay un grupo de smbolos, que son tratados como caracteres individuales, que especifican algunos caracteres especiales del cdigo ASCII. Los ms importantes son:

    Cdigo Descripcin

    \a Alerta

    \b Espacio atrs

    \f Salto de pgina

    \n Salto de lnea

    \r Retorno de carro

    \t Tabulacin horizontal

    \v Tabulacin vertical

    \\ Barra invertida

    \' Comilla simple

    \" Comillas dobles

    \OOO Visualiza un carcter cuyo cdigo ASCII es OOO en octal

    \xHHH Visualiza un carcter cuyo cdigo ASCII es HHH en hexadecimal

    Un programa C puede estar formado por diferentes mdulos o fuentes. Es conveniente mantener las fuentes de un tamao no muy grande, para que la compilacin sea rpida. Tambin, al dividirse un programa en partes, puede facilitar la legibilidad del programa y su estructuracin. Las diferentes fuentes son compiladas de forma separada, nicamente las fuentes que han sido modificadas desde la ltima compilacin, y despus combinados con las libreras necesarias para formar el programa en su versin ejecutable.

    Tipos de datos Tipos bsicos y variables Los tipos de datos bsicos definidos por C son caracteres, nmeros enteros y nmeros en coma flotante. Los caracteres son representados por char, los enteros por short, int, long y los nmeros en coma flotante por float y double. Los tipos bsicos disponibles y su tamao son:

    Tipo de Datos

    Tamao Descripcin

  • Programacin Estruccturada Codificada

    36

    char Normalmente 8 bits Carcter

    short Normalmente 16 bits

    Entero corto con signo

    int Depende de la implementacin

    Entero con signo

    unsigned Depende de la implementacin Entero sin signo

    long Normalmente 32 bits

    Entero largo con signo

    float Normalmente 32 bits

    Flotante de precisin simple

    double Normalmente 64 bits

    Flotante de precisin doble

    La palabra unsigned en realidad es un modificador aplicable a tipos enteros, aunque si no se especifica un tipo se supone int. Un modificador es una palabra clave de C que indica que una variable, o funcin, no se comporta de la forma normal. Hay tambin un modificador signed, pero como los tipos son por defecto con signo, casi no se utiliza. Las variables son definidas utilizando un identificador de tipo seguido del nombre de la variable. Veamos el siguiente programa: #include main() { float cels, farh; farh = 35.0; cels = 5.0 * ( farh - 32.0 ) / 9.0; printf("-> %f F son %f C\n", farh, cels ); } En el programa anterior se definen dos variables flotantes. Se asigna un valor a la primera y se calcula la segunda mediante

    una expresin aritmtica. En la instruccin printf, el smbolo %f indica que se imprime un nmero en coma flotante. Hay un tipo muy importante que se representa por void, que puede significar dos cosas distintas, segn su utilizacin. Puede significar nada, o sea que si una funcin devuelve un valor de tipo void no devuelve ningn resultado, o puede significar cualquier cosa, como puede ser un puntero a void es un puntero genrico a cualquier tipo de dato. Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinnimos vlidos reconocidos por dichos tipos de datos. Las llamadas en C son por valor, lo que permite modificar las copias privadas y temporales, es decir, las variables automticas. Cuando se usa un arreglo como argumento, se pasa la direccin del mismo.

    Cadenas de caractere

    Tienen un caracter nulo al final ('\0').

    Ej. "hello\n" -> h e l l o \n \0

    Tipos de variables

    Entre los tipos de variables se cuentan:

    Automticas

    Externas

    Las variables automticas...

  • Programacin Estruccturada Codificada

    37

    - aparecen y desaparecen con la llamada de la funcin.

    Las variables externas...

    - se declaran globalmente: extern int max;

    - se definen fuera de las funciones: int max;

    - se declaran dentro de las funciones: extern int max;

    Comentarios

    Un comentario es una lnea que se incluye en el programa, cuya misin consiste en aclarar la funcin de una parte concreta del programa a otro lector, o incluso al mismo programador. En C, hay dos formas de incluir estos comentarios. La primera es incluir el texto que sirve de comentario al principio de la seccin, entre dos smbolos especiales: el /* o principio de comentario y el */ o fin de comentario. Todo el texto que incluyamos entre ellos, el compilador lo ignora, incluyendo los saltos de lnea. Por ejemplo, si una seccin del programa se encarga de ofrecer los resultados finales del programa, podramos incluir en el cdigo el siguiente comentario: En el C original, tienen la forma /* cualquier texto */ Los comentarios se pueden extender varias lneas No se pueden anidar comentarios (comentarios dentro de otros) En C++ se usan tambin comentarios de una sola lnea. La sintaxis es

    / cualquier texto Todo lo que se escriba a partir de las dos barras es un comentario. El comentario termina con el final de la lnea. Ejemplos: { /*Esto es un comentario que ocupa varias lneas */ // esto es un comentario de C++ // y esto es otro comentario }

    Declaraciones: Declaracin y comprobacin de tipos Al igual que para las variables, cuando una funcin se va a usar en un programa antes del lugar donde se define, o cuando una funcin se define en otro programa (funciones externas), la funcin se debe declarar. La declaracin de una funcin consiste en especificar el tipo de datos que va a retornar la funcin. Esto es obligatorio cuando vamos a usar una funcin que no devuelve un entero. Adems en la declaracin se puede especificar el nmero de argumentos y su tipo. Una declaracin tpica de funcin es:

    tipo identificador(lista_de_argumentos_con_tipo);

  • Programacin Estruccturada Codificada

    38

    Esto avisa al compilador de que la funcin ya existe, o que la vamos a definir despus.

    La lista de argumentos con tipo difiere de la lista de argumentos antes presentada en que el tipo de cada argumento se coloca dentro de la lista, antes de su correspondiente identificador, como hacamos en la definicin de variables. Por ejemplo:

    char print(int numero, int letra);

    declara una funcin que devuelve un carcter y tiene dos parametros, un entero y un carcter. La lista de argumentos permite al compilador hacer comprobacin de tipos, ya que el tipo y nmero de argumentos debe coincidir en la declaracin, definicin y llamada a una funcin. Este tipo de especificacin del tipo de argumentos tambin se puede emplear en la definicin de las funciones, aunque lo contrario no es posible. Asi:

    char print(int numero, int letra)

    {

    printf("%d, %c\c", numero, letra);

    }

    es otra definicin vlida para la funcin print que hemos empleado. Las variables se utilizan para guardar datos dentro del programa. Hay que declarar las variables antes de usarlas.

    Cada variable tiene un tipo. Declaracin: tipo nombre ; Ejemplo:

    int pepe;

    Las variables globales se declaran justo antes de main(). Se pueden declarar varias variables en pocos renglones: int lower,upper, step; char c, line[1000]; Tambin se pueden escribir ms explicitamente, para agregar comentarios: int lower; /* algunos comentarios */ int upper; int step; char c; char line[1000]; Inicializacin de variables: char backslash='\\'; int i=0;

    Nombres de las variables

    Letra (Letra o Dgito)* -> 31 caracteres Las maysculas son diferentes de las

    minsculas Es prctica comn de C, denotar con - MAYUSCULAS las constantes - minsculas las variables

  • Programacin Estruccturada Codificada

    39

    Constantes

    Simblicas (Preprocesamiento)

    Ej. #define PI 3.14159265359

    #define MAXLINE 1000

    char line [MAXLINE+1]

    #define FORMFEED '\014'

    Variables constantes:

    Ej. const float pi=3.14159265359;

    Alfanumricas:

    Se evalan en tiempo de compilacin, no de ejecucin.

    Ejs. 3.14159265359

    123.456e-7

    0.12E3

    '0' -> ASCII 48, EBCDIC 240

    CONTEXTUALIZACION

    Competencias cientfico-terica Aplicar conocimientos de aritmtica,

    lgebra y lgica matemtica para la elaboracin de rutinas de programacin.

    En los lenguajes de programacin existen reglas y sintaxis para la creacin de programas. Es de suma importacia que se tenga conocimiento de las partes que conforman la codificacin de un programa. Un programa C puede estar formado por diferentes mdulos o fuentes. Es conveniente mantener las fuentes de un tamao no muy grande, para que la compilacin sea rpida. Tambin, al dividirse un programa en partes, puede facilitar la legibilidad del programa y su estructuracin El alumno:

    Identificar que la repeticin de eventos en la programacin generan huellas de memoria que hacen factible el reforzamiento en el aprendizaje.

    Competencia de informacin

    Buscar fuentes de informacin bibliogrfica, hemerogrfica, Internet y videotecas que ample el acervo de conocimientos.

    El alumno: Consultar en Internet o revistas

    especializadas material tcnico de varios tipos de lenguajes de programacin estructurada existentes en el mercado.

    Para mayor informacin consulte las siguientes direcciones electronicas http://webpages.ull.es/users/fsande/talf/cursoc/ http://www.sisoft.ucm.es/Manuales/Lenguaje_C.pdf http://labsopa.dis.ulpgc.es/cpp/intro_c/ http://correo.puj.edu.co/el982002/lenguajeC.htm http://www.jeanpaul.com.ar/

  • Programacin Estruccturada Codificada

    40

    RESULTADO DE APRENDIZAJE

    1.2 Determinar los factores de ajuste de conversin y las partidas de acuerdo con las caractersticas de la empresa en pocas inflacionarias. 1.2.1 OPERADORES Y EXPRESIONES.

    Tipo de Operadores

    Los distintos operadores permiten formar expresiones tanto aritmticas como lgicas. Los operadores aritmticos y lgicos son:

    +, - suma, resta ++, -- incremento, decremento

    *, /, % multiplicacin, divisin, mdulo

    >>, 3 ) || ( x < y ))

    y escribir en su lugar: x++; if (( x > 3 ) || ( x < y )) Hay un tipo especial de expresin en C que se denomina expresin condicional y est representada por los operadores ? y : . Su utilizacin es como sigue: ? : . Se evala si e entonces x; si no, y.

  • Programacin Estruccturada Codificada

    41

    int mayor ( int a, int b ) { return ( a > b ) ? TRUE : FALSE; } waste_time () { float a, b = 0.0; ( b > 0.0 ) ? sin(M_PI / 8) : cos(M_PI / 4); }

    Expresiones de asignacin El signo de igualdad, =, es el operador bsico de asignacin en C. Un ejemplo de asignacin es: i = 7 A la variable i se le asigno el valor 7, y la expresin, como un todo, toma ese valor. Cuando la expresin va seguida de un punto y coma, se convierte en una proposicin. Algunos ejemplos de proposiciones son: i = 7; x = 3.1 + sin(22.2); Se calcula el valor de la expresin que est a la derecha del signo = y luego se asigna a la variable del lado izquierdo. Por ejemplo int a, b, c a = 7; b = 2; c = a + b;

    declara que las variables a, b y c son de tipo int, luego asigna el valor 7 a a, el valor 2 a b, y el valor de la expresin a + b a c. Notacin compacta. Una expresin como k = k + 2; sumar dos al antiguo valor de k y le asignar el resultado; as la expresin, como un todo, tendr ese valor. La expresin k += 2; utiliza el operador de asignacin += para ejecutar la misma tarea. Otro ejemplo sera: k *= 3 + x; es equivalente a: k = k * (3 + x); Operadores aritmticos. Los operadores aritmticos + - * / % corresponden a las operaciones matemticas normales de suma, resta, multiplicacin, divisin y mdulo, respectivamente. La divisin de enteros devuelve el valor entero que obtuvo y desecha cualquier fraccin restante. Por ejemplo, 1 / 2 tiene el valor 0, 3 / 2 tiene el valor 1, y -7 / 3 tiene el valor -2. La

  • Programacin Estruccturada Codificada

    42

    expresin a % b se lee "a modulo b". Si a y b son enteros positivos, el resultado ser el residuo de la divisin de a ante b. Por ejemplo, 7 % 2 tiene el valor 1, y 12 % 3 tiene el valor 0; si a, b o ambos son negativos, entonces a % b est definido, pero el resultado es dependiente de la mquina. El valor de b no puede ser cero, porque eso nos conducira a dividir por cero. Operadores de incremento y decremento. Como operador de incremento tenemos el ++ y de decremento es el --. Tanto ++ como - - pueden aplicarse a variables, pero no a constantes o a expresiones. Algunos ejemplos son: ++y --k y++ k-- La proposicin ++y; es equivalente a i = i + 1; As, tambin la proposicin y++; es equivalente a i = i + 1; y de manera similar --k; es equivalente a k = k - 1; k--; es equivalente a k = k - 1; Las expresiones ++a y a++ provocan que a se incremente en 1. En forma similar, - -a y a- - causan que a disminuya en 1. No obstante, al usar ++a en una expresin, el valor de a se aumenta antes de evaluar la expresin, mientras que al emplear a++, la expresin se evala con el valor actual

    de a, incrementndolo despus. Lo mismo ocurre con - -a y a- -.

    Expresiones condicionales. OPERADORES DE RELACION, IGUALDAD Y LGICA. Operadores y Expresiones de Relacin Los operadores de relacin < menor que > mayor que = mayor o igual que son todos binarios. Cada uno de ellos toma dos expresiones como operandos y dan como resultado el valor INT 0 o el valor INT 1. Considrese una expresin de relacin como a < b. Intuitivamente, si el valor de a es menor que el de b, la expresin es VERDADERA; y como en C lo VERDADERO se representa con cualquier valor distinto de 0, es natural que a < b tenga el valor INT 1. Si el valor de a no es menor que el de b, entonces la expresin es FALSA, y a < b tendr el valor INT 0. Algunos ejemplos son: a < 3 a > b -7.7 = (2.0 * x + 3.3)

  • Programacin Estruccturada Codificada

    43

    Operadores y Expresiones de Igualdad. Los operadores de igualdad == igual a != distinto de son operadores binarios que actan sobre expresiones, y producen valores INT 0 o 1. Las conversiones usuales de aritmtica se aplican a las expresiones que sean operandos de los operadores de igualdad. Algunos ejemplos son: c == 'w' x != -2.77 22 == 33 Intuitivamente, una expresin de igualdad como a = = b es VERDADERA o FALSA. Si el valor de a es igual al de b, entonces la expresin producir el valor INT 1, en caso contrario, si a no es igual b la expresin producir el valor INT 0. La expresin a != b se evala de la misma manera. Obsrvese que las expresiones a == b a = b son similares A PRIMERA VISTA. Se parecen en la forma, pero son completamente distintas en cuanto a la funcin. La expresin a = = b es una prueba de igualdad, mientras que a = b es una expresin de asignacin. Uno de los errores ms comunes en programacin es codificar algo como: if (i = 1) . . . . /* hacer algo */

    en lugar de if (i == 1) . . . . /* hacer algo */ La expresin de la primera proposicin IF siempre es VERDADERA, y ser muy difcil encontrar un error de este tipo. Operadores y Expresiones Lgicos. Los operadores lgicos ! (unario) negacin && y lgico || o lgico se aplican a expresiones, producen los valores INT 0 o bien 1. Algunos ejemplos son: !5 !'z' !(x + 7.7) 2 || 3 a || b a && 1 a && b

    Precedencia y orden de evaluacin.

    Lista en la que se muestra el Operador y la Asociatividad

    () [] De izquierda a derecha

    - ++ -- ! ~ * & sizeof(tipo) De derecha a izquierda

  • Programacin Estruccturada Codificada

    44

    - * / % De izquierda a derecha - + - De izquierda a derecha - > De izquierda a derecha - < >= De izquierda a

    derecha - == != De izquierda a derecha - & De izquierda a derecha - && De izquierda a derecha - || De izquierda a derecha - ?: De derecha a izquierda - = *= /= %= += -= &= = De derecha a izquierda - , De izquierda a derecha

    -

    CONTEXTUALIZACIN

    Competencia analtica Promover habilidades cognitivas que

    les permitan utilizar hbitos y tcnicas de estudio que potencialicen su estilo de aprendizaje.

    Los distintos operadores permiten formar expresiones tanto aritmticas como lgicas. En estos operadores deben tenerse en cuenta la precedencia de operadores y las reglas de asociatividad, que son las normales en la mayora de lenguajes. El signo de igualdad, =, es el operador bsico de asignacin en C, son operadores binarios que actan sobre expresiones, y producen valores INT 0 o 1. Las conversiones usuales de aritmtica se aplican a las expresiones que sean operandos de los operadores de igualdad.

    El alumno:

    Comparar mtodos de ordenamiento aplicables a la construccin de tablas.

    Competencia para la vida

    Razonar la importancia que ha tenido el avance de las Tecnologas de Informacin y Comunicaciones (TICs) en el Acceso de la informacin.

    El alumno:

    Identificar los lenguajes de programacin como una herramienta que se aplica en cualquier mbito para el desempeo laboral.

    Para mayor informacin consulte las siguientes direcciones electrnicas http://webpages.ull.es/users/fsande/talf/cursoc/ http://www.sisoft.ucm.es/Manuales/Lenguaje_C.pdf http://labsopa.dis.ulpgc.es/cpp/intro_c/ http://correo.puj.edu.co/el982002/lenguajeC.htm http://www.jeanpaul.com.ar/

  • Programacin Estruccturada Codificada

    45

    1.2.2 ESTRUCTURAS DE CONTROL DE FLUJO

    Control del flujo del programa

    En C las sentencias se ejecutan sucesivamente una tras otra. Esto define un camino o direccin segn la cual se va desarrollado el programa. Sin embargo, habr momentos en que el programa deba ejecutar determinadas partes dependiendo del estado en el que se halle el programa o de las variables externas. Esto permitir modificar el orden de la ejecucin para adaptarse al estado del programa y bifurcar hacia nuevas subrutinas cuando se cumplan ciertas condiciones, que el programador fija de antemano.

    Proposiciones y bloques.

    La principal particularidad que posee C es el manejo de rutinas que controlan el flujo de datos que ingresan y egresan en cada proceso, que se ejecuta bajo la estructura de dicho lenguaje.

    Las Proposiciones o sentencias son las que van determinando el orden o camino de ejecucin de un programa escrito en lenguaje C.

    Es de destacar que las proposiciones son expresiones cuya escritura finaliza con un

    punto y coma (;) el que cumple la funcin de terminador de sentencias y no la de un separador de las mismas.

    Las declaraciones y sentencias pueden ser agrupadas en un bloque o proposicin compuesta, encerrndolas entre llaves. No est permitido colocar punto y coma despus de la llave derecha.

    Tambin es posible declarar variables dentro de cualquier bloque.

    A continuacin se desarrollan las proposiciones que permiten la toma de decisiones que marcarn el camino que debe seguir un proceso dentro su ejecucin.

    Por ejemplo, la proposicin If Else, cuya sintaxis se expresa de la siguiente manera:

    If (expresin) Prop. 1

    Else Prop. 2

    Donde la parte Else es opcional.

    La misma opera del siguiente modo: Se evala la expresin; si sta es cierta, se ejecuta la prop. 1. Por el contrario, si la expresin es falsa y existe la parte Else, se ejecuta la prop. 2.

    Todo Else se asocia con el If interior ms prximo, siendo conveniente observar el sangrado en la escritura de cada proposicin.

  • Programacin Estruccturada Codificada

    46

    If-else.

    La sentencia if

    La primera sentencia de control es la sentencia if. Admite dos tipos de sintaxis:

    if (expresin1)

    sentencia1;

    o tambin:

    if (expresin1)

    sentencia1;

    else

    sentencia2;

    Esta sentencia es equivalente a la que poseen la mayora de lenguajes de programacin y sirve para bifurcar en un punto de programa. La sentencia if permite tomar decisiones al programa. En su primera forma la sentencia1 slo se ejecuta si el resultado de evaluar la expresin1 es verdadero (distinto de cero). En la segunda forma, tenemos dos posibilidades: si al evaluar la expresiin1 el resultado es verdadero, se ejecuta la sentencia 1, pero si el resultado es falso, se ejecuta la sentencia 2. En cualquier caso, slo una de las dos sentencias se ejecuta. Por ejemplo:

    if (numero1 == 1)

    puts("la variable numero1 vale 1");

    else

    puts("la variable numero1 no vale 1");

    Tras evaluarse la expresin if y ejecutarse la sentencia adecuada, el programa contina con la lnea siguiente a la de la ltima sentencia del if. Para la sentencia if, vale como expresin cualquier expresin vlida en C, incluso las asignaciones y llamadas a funciones. El caso en que la expresin es una asignacin, suele ser sorprendente, ya que en la mayora de los lenguajes este tipo de expresiones no es vlido. Como sentencia vale cualquier tipo de sentencia vlida en C, entre ellas la propia sentencia if. En este caso hablaremos de sentencias if anidadas. Por ejemplo:

    if (num > 0)

    if (num == 1)

    puts("num es igual a 1")

    else

    puts("num es mayor que 1)

    else

    puts("num es menor que 1");

    Cuando hay dos if anidados y a continuacin hay un else, este else pertenece al ltimo if. As, en el caso anterior, el primer else corresponde al segundo if. Si queremos que un else

  • Programacin Estruccturada Codificada

    47

    pertenezca al primer if de un if anidado deberemos encerrar al segundo entre parntesis. Por ejemplo:

    if (num > 0)

    {

    if (num == 1)

    puts("num es igual a 1");

    }

    else

    puts("num es menor que 0");

    Cuando necesitamos ejecutar varias sentencias que dependen de un if, utilizaremos la sentencia de tipo bloque de sentencias. Un bloque de sentencias es un grupo de sentencias encerradas entre llaves { y }. Por ejemplo:

    if (num >= 0) {

    printf("num %d\n");

    if (num == 0)

    puts("num 0");

    if (num >= 1)

    puts("num mayor o igual a 1");

    }

    else if Permite escribir condicionales de casos EXCLUYENTES

    if (expresin)

    proposicin

    else if (expresin)

    proposicin

    else

    proposicin

    El ciclo while Un bucle es un conjunto de sentencias que se ejecutan repetidamente hasta que se alcanza una condicin de fin de bucle o condicin de salida. El bucle while es el tipo de bucle ms sencillo. En su modo ms simple se escribe:

    while (expresin1)

    sentencia1;

    El bucle while comienza por evaluar la expresin1. Si es cierta se ejecuta la sentencia1. Entonces se vuelve a evaluar la expresin1. De nuevo si es verdadera se vuelve a ejecutar la sentencia1. Este proceso contina hasta que el resultado de evaluar la expresin es falso. Por esto se le llama a esta expresin la condicin de salida. Por ejemplo:

    int variable = 10;

  • Programacin Estruccturada Codificada

    48

    while (variable)

    printf("la variable vale %d\n", variable--);

    En este caso se imprime el valor de la variable hasta que se llegue a 1. Normalmente, en las sentencias del bucle while se coloca alguna instruccin que modifique la expresin de control. Lo ms habitual es utilizar un bloque de sentencias en vez de una sentencia nica.

    Por ejemplo:

    int variable = 10;

    while (variable) {

    printf("valor de la variable %d\n", variable);

    printf("valor tras decrementar la variable %d\n", variable);

    }

    El ciclo do-while La sintaxis de este bucle es:

    do

    sentencia1;

    while (expresin1);

    Su funcionamiento es anlogo del bucle while, salvo que la expresin de control se

    evala al final del bucle. Esto nos garantiza que el bucle do-while se ejecuta al menos una vez. Es menos habitual que el bucle while.

    Podemos incluir dentro del bucle un grupo de sentencias, en vez de la sentencia1. Este es el nico bucle que no necesita llaves para encerrar un grupo de sentencias. Por ejemplo:

    char c = '9';

    do

    printf("numero actual %c\n", c);

    --c; /* ahora la decrementamos como si fuera entera */

    while (c >= '0');

    El ciclo for La sintaxis del bucle for es:

    for (inicio, control, incremento)

    sentencia1;

    Este bucle se utiliza para realizar una accin un nmero determinado de veces. Est compuesto de tres expresiones: la de inicio, la de control y la de incremento, y una sentencia. Su versin ms sencilla es:

    for (i =0; i < 10; i++)

    printf("i vale %d\n", i);

  • Programacin Estruccturada Codificada

    49

    Esta versin del bucle imprime un mensaje en la pantalla mientras que no se alcance la condicin de salida, i == 10.

    El funcionamiento del bucle for es el siguiente:

    - Primero se ejecuta la expresin de inicio. Normalmente sta es una expresin de asignacin a una variable, que le da un valor inicial.

    - Luego se comprueba la expresin de control. Si esta expresin es verdadera se ejecuta la sentencia, o el grupo de sentencias. Si la expresin es falsa el bucle finaliza.

    - Tras ejecutarse la sentencia se evala la expresin de incremento.

    - Habitualmente, lo que hace esta expresin es incrementar la variable de control.

    - A continuacin se vuelve al segundo paso. El bucle finaliza cuando la expresin de control es falsa

    En un bucle for podemos omitir la expresin de inicio, por ejemplo si sabemos que la variable ya est inicializada:

    int i = 0;

    for ( ; i

  • Programacin Estruccturada Codificada

    50

    La sentencia break rompe la ejecucin de un bucle o bloque de instrucciones y contina en la instruccin que siga al bucle o bloque. Por ejemplo:

    int a = 10;

    while (1) {

    if (a--

  • Programacin Estruccturada Codificada

    51

    cuando se haya ejecutado otra *) sta es la accin por defecto. La etiqueta default es opcional. Si no la ponemos, el programa simplemente salta a la lnea siguiente.

    Hay que tener cuidado con un aspecto de este bucle. Cuando una expresin de una etiqueta case es igual a la sentencia de control, se ejecutan todas las sentencias que sigan hasta que se alcance una nueva etiqueta case, y luego se vuelve a comparar la expresin de control. Este mecanismo tiene una ventaja y un inconveniente. La ventaja es que no necesitamos encerrar entre llaves el grupo de sentencias a ejecutar para cada etiqueta. El inconveniente es que al agotar las sentencias de una determinada etiqueta la sentencia switch prosigue con la siguiente etiqueta case. Habitualmente, lo que se pretende es que tras ejecutar el grupo de sentencias se finalice el switch. Para evitar que se ejecuten ms sentencias, habitualmente se acaba cada grupo de sentencias con una sentencia break. La sentencia break pasa entonces la ejecucin a la siguiente lnea de programa que prosiga al bucle switch.

    Tambin se permite poner etiquetas mltiples para un mismo grupo de sentencias. Si dejamos una etiqueta case sin sentencias a ejecutar, entonces se asocia a la siguiente etiqueta. Esto es til para ejecutar una misma accin para distintos valores de la expresin.

    Goto y etiquetas Instruccin goto Sirve para saltar incondicionalmente a un punto cualquiera del programa. La sintaxis es

    goto etiqueta; Etiqueta es un identificador que indica el punto al que queremos saltar. La etiqueta se define colocndola en el punto adecuado seguida de dos puntos. Slo se puede saltar a una etiqueta que se encuentre en la misma funcin donde se invoca a goto. Ejemplo:

    parriba: // declaracin de etiqueta

    // salto directo a una etiqueta if (error) goto pabajo; ... if (repetir) goto parriba;

    pabajo: // declaracin de etiqueta

    Generalmente, es usada en el manejo de errores. Se aconseja ser parcos en su uso. Por ejemplo

    /* muestra el primer valor negativo de un */

    /* arreglo multidimensional */

  • Programacin Estruccturada Codificada

    52

    for (i=0; i

    for (j=0; j

    if (v[i][j]

  • Programacin Estruccturada Codificada

    53

    PRCTICAS DE EJERCICIO Y LISTA DE COTEJO

    Unidad de aprendizaje:

    1

    Prctica nmero: 1 Nombre de la prctica: Impresin de un mensaje Propsito de la prctica:

    Al finalizar la prctica el alumno, elaborar un programa donde imprima un mensaje con lenguaje de programacin C.

    Escenario: Laboratorio de

    Informtica.

    Duracin: 2 hrs. Materiales Maquinaria y equipo Herramienta Software de lenguaje de programacin C. Manual de C.

    Computadora (Pentium II como requerimiento mnimo).

    Impresora.

  • Programacin Estruccturada Codificada

    54

    Procedimiento

    Aplicar las medidas de seguridad e higiene. Evitar la manipulacin de lquidos cerca del equipo. No introducir objetos extraos en los dispositivos de disco. No utilizar imanes cerca de discos flexibles, discos compactos del equipo. Limpiar el rea de trabajo. Disponer del manual de lenguaje de programacin C. 1. Encender equipo de cmputo. 2. Abrir sesin de ambiente grfico. 3. Accesar el subdirectorio donde se encuentra C. 4. Escribir un programa que imprima el mensaje "Primer programa", transcribiendo el siguiente algoritmo en

    el editor de C.

    /* Primer programa */ #include main() { printf("Primer programa"); }

    5. Guardar el archivo que contiene el programa transcrito. 6. Compilar el programa. 7. De ser necesario, iniciar un proceso de depuracin del programa (correccin de errores) hasta cerciorarse

    que el programa cumpla con el objetivo establecido. 8. Imprimir el resultado de la ejecucin del programa. 9. Repetir los procedimientos con asesora del PSP. 4 Depositar los residuos recuperables disponiendo de 3 botes de reciclaje tonner, discos y papel.

  • Programacin Estruccturada Codificada

    55

    Lista de cotejo de la prctica Nmero 1:

    Impresin de un mensaje.

    Nombre del alumno: Instrucciones: A continuacin se presentan los criterios que van a ser verificados

    en el desempeo del alumno mediante la observacin del mismo.

    De la siguiente lista marque con una 9 aquellas observaciones que hayan sido cumplidas por el alumno durante su desempeo.

    Desarrollo S No No Aplica

    Aplic las medidas de seguridad e higiene. Evit la manipulacin de lquidos cerca del equipo. No introdujo objetos extraos en los dispositivos de disco, No utiliz imanes cerca de discos flexibles, discos compactos del

    equipo.

    Limpi el rea de trabajo. Dispuso del manual de lenguaje de programacin C. 1. Encendi equipo de cmputo. 2. Abri sesin de ambiente grfico. 3. Acces el subdirectorio donde se encuentra C. 4. Escribi un programa que imprima el mensaje "Primer programa",

    transcribiendo el algoritmo en el editor de C.

    5. Guard el archivo que contiene el programa transcrito. 6. Compil el programa. 7. Inici un proceso de depuracin del programa (correccin de errores) hasta

    cerciorarse que el programa cumpla con el objetivo establecido.

    8. Imprimir el resultado de la ejecucin del programa. 9. Repetir los procedimientos con asesora del PSP. 4 Deposit los residuos recuperables. Observaciones:

    PSP: Hora de

    inicio: Hora de

    trmino: Evaluacin:

  • Programacin Estruccturada Codificada

    56

    Unidad de aprendizaje: 1 Prctica nmero: 2 Nombre de la prctica: Programa de un carcter Propsito de la prctica:

    Al finalizar la prctica el alumno, elaborar un programa que lea y escriba un carcter con lenguaje de programacin C.

    Escenario: Laboratorio de

    Informtica.

    Duracin: 2 hrs.

    Materiales Maquinaria y equipo Herramienta Software de lenguaje de

    programacin C.

    Manual de C.

    Computadora (Pentium II como requerimiento mnimo).

    Impresora.

  • Programacin Estruccturada Codificada

    57

    Procedimiento

    Aplicar las medidas de seguridad e higiene. Evitar la manipulacin de lquidos cerca del equipo. No introducir objetos extraos en los dispositivos de disco. No utilizar imanes cerca de discos flexibles, discos compactos del equipo. Limpiar el rea de trabajo. Disponer del manual de lenguaje de programacin C. 1. Encender equipo de cmputo. 2. Abrir sesin de ambiente grfico. 3. Accesar el subdirectorio donde se encuentra C. 4. Escribir un programa que lea y escriba un carcter, transcribiendo el siguiente algoritmo en el editor de

    C.

    /* Leer y escribir un caracter */ #include main () { char car; printf("Escriba un carcter: "); car=getchar(); printf("\nEl caracter introducido es %c.\n",car); }

    5. Accesar el subdirectorio donde se encuentra C. 6. Abrir el editor de C. 7. Transcribir el programa en el editor de C. 8. Guardar el archivo que contiene el programa transcrito. 9. Compilar el programa. 10. De ser necesario, iniciar un proceso de depuracin del programa (correccin de errores) hasta cerciorarse

    que el programa cumpla con el objetivo establecido. 11. Imprimir el resultado de la ejecucin del programa. 12. Repetir los procedimientos con asesora del PSP. 4 Depositar los residuos recuperables disponiendo de 3 botes de reciclaje tonner, discos y papel.

  • Programacin Estruccturada Codificada

    58

    Lista de cotejo de la prctica Nmero 2:

    Programa de un carcter.

    Nombre del alumno:

    Instrucciones: A continuacin se presentan los criterios que van a ser verificados en el desempeo del alumno mediante la observacin del mismo.

    De la siguiente lista marque con una 9 aquellas observaciones que hayan sido cumplidas por el alumno durante su desempeo.

    Desarrollo S No No Aplica

    Aplic las medidas de seguridad e higiene. Evit la manipulacin de lquidos cerca del equipo. No introdujo objetos extraos en los dispositivos de disco, No utiliz imanes cerca de discos flexibles, discos compactos del

    equipo.

    Limpi el rea de trabajo. Dispuso del manual de lenguaje de programacin C. 1. Encendi equipo de cmputo. 2. Abri sesin de ambiente grfico. 3. Acces el subdirectorio donde se encuentra C. 4. Escribi un programa que lea y escriba un carcter, transcribiendo el

    algoritmo en el editor de C.

    5. Acces el subdirectorio donde se encuentra C. 6. Abri el editor de C. 7. Transcribi el programa en el editor de C. 8. Guard el archivo que contiene el programa transcrito. 9. Compil el programa. 10. Iniciar un proceso de depuracin del programa (correccin de errores) hasta

    cerciorarse que el programa cumpla con el objetivo establecido.

    11. Imprimi el resultado de la ejecucin del programa. 12. Repeti los procedimientos con asesora del PSP. 4 Deposit los residuos recuperables.

    Observaciones:

    PSP:

    Hora de inicio: Hora de trmino:

    Evaluacin:

  • Programacin Estruccturada Codificada

    59

    Unidad de aprendizaje: 1 Prctica nmero: 3 Nombre de la prctica: Impresin de una agenda. Propsito de la prctica:

    Al finalizar la prctica el alumno, elaborar una impresin de lista de amigos en una agenda con lenguaje de programacin C.

    Escenario: Laboratorio de

    Informtica.

    Duracin: 3 hrs.

    Materiales Maquinaria y equipo Herramienta Software de lenguaje de

    programacin C.

    Manual de C.

    Computadora (Pentium II como requerimiento mnimo).

    Impresora.

  • Programacin Estruccturada Codificada

    60

    Procedimiento

    Aplicar las medidas de seguridad e higiene. Evitar la manipulacin de lquidos cerca del equipo. No introducir objetos extraos en los dispositivos de disco. No utilizar imanes cerca de discos flexibles, discos compactos del equipo. Limpiar el rea de trabajo. Disponer del manual de lenguaje de programacin C. 1. Encender equipo de cmputo. 2. Abrir sesin de ambiente grfico. 3. Accesar el subdirectorio donde se encuentra C. 4. Escribir un programa que imprima una lista de amigos guardados en una agenda (tipo estructura),

    transcribiendo el siguiente algoritmo en el editor de C.

    /* Lista los campos de una agenda construida en el programa */ #include #define N 3 main() { struct agenda { char nombre[25]; char telefono[10]; int edad; }; struct agenda amigos[N]={{"Pepe","913472314",18},{"Juan","915547623",19},{"Rosa","917456778",21}}; int i; for (i=0; i

  • Programacin Estruccturada Codificada

    61

    Procedimiento

    6. Abrir el editor de C. 7. Transcribir el programa en el editor de C.Guardar el archivo que contiene el programa transcrito. 8. Compilar el programa. 9. De ser necesario, iniciar un proceso de depuracin del programa (correccin de errores) hasta cerciorarse

    que el programa cumpla con el objetivo establecido. 10. Imprimir el resultado de la ejecucin del programa. 11. Repetir los procedimientos con asesora del PSP. Nota: El instructor deber adecuar la prctica al equipo con el que se cuenta. 4 Depositar los residuos recuperables disponiendo de 3 botes de reciclaje tonner, discos y papel.

  • Programacin Estruccturada Codificada

    62

    Lista de cotejo de la prctica Nmero 3:

    Impresin de una agenda.

    Nombre del alumno:

    Instrucciones: A continuacin se presentan los criterios que van a ser verificados en el desempeo del alumno mediante la observacin del mismo. De la siguiente lista marque con una 9 aquellas observaciones que hayan sido cumplidas por el alumno durante su desempeo.

    Desarrollo S No No Aplica

    Aplic las medidas de seguridad e higiene. Evit la manipulacin de lquidos cerca del equipo. No introdujo objetos extraos en los dispositivos de disco, No utiliz imanes cerca de discos flexibles, discos compactos del

    equipo.

    Limpi el rea de trabajo. Dispuso del manual de lenguaje de programacin C. 1. Encender equipo de cmputo. 2. Abrir sesin de ambiente grfico. 3. Acces el subdirectorio donde se encuentra C. 4. Escribi un programa que imprima una lista de amigos guardados en una

    agenda (tipo estructura), transcribiendo el algoritmo en el editor de C.

    5. Acces el subdirectorio donde se encuentra C. 6. Abri el editor de C. 7. Transcribi el programa en el editor de C. 8. Guard el archivo que contiene el programa transcrito. 9. Compil el programa. 10. Inici un proceso de depuracin del programa (correccin de errores) hasta

    cerciorarse que el programa cumpla con el objetivo establecido.

    11. Imprimi el resultado de la ejecucin del programa. 12. Repeti los procedimientos con asesora del PSP. 4 Deposit los residuos recuperables. Observaciones:

    PSP:

    Hora de

    inicio: Hora de

    trmino: Evaluacin:

  • Programacin Estruccturada Codificada

    63

    Unidad de aprendizaje: 1 Prctica nmero: 4 Nombre de la prctica: Programa de longitudes y valores mnimos del

    byte.

    Propsito de la prctica:

    Al finalizar la prctica el alumno, realizar un programa para ver longitudes y valores mximos y mnimos del byte con lenguaje de programacin C.

    Escenario: Laboratorio de

    Informtica.

    Duracin: 4 hrs.

    Materiales Maquinaria y equipo Herramienta Software de lenguaje de

    programacin C.

    Manual de C.

    Computadora (Pentium II como requerimiento mnimo).

    Impresora.

  • Programacin Estruccturada Codificada

    64

    Procedimiento

    Aplicar las medidas de seguridad e higiene. Evitar la manipulacin de lquidos cerca del equipo. No introducir objetos extraos en los dispositivos de disco. No utilizar imanes cerca de discos flexibles, discos compactos del equipo. Limpiar el rea de trabajo. Disponer del manual de lenguaje de programacin C. 1. Encender equipo de cmputo. 2. Abrir sesin de ambiente grfico. 3. Accesar el subdirectorio donde se encuentra C. 4. Escribir un programa para ver las longitudes y valores mximos y mnimos en bytes de los tipos bsicos de

    programacin en C, transcribiendo el siguiente algoritmo en el editor de C.

    /* Muestra las longitudes en longitudes en bytes y los valores mximos y mnimos de los tipos bsicos */ #include #include #include main() char a; short int b; int c; long int d; unsigned char e; unsigned short int f; unsigned int g; unsigned long int h; float i; double j; long double k; printf ("Longitud de cada uno de los tipos basicos \n\n"); printf ("La longitud de char a= %d\n",sizeof(a)); printf ("La longitud de short int b= %d\n",sizeof(b)); printf ("La longitud de int c= %d\n",sizeof(c)); printf ("La longitud de long int d= %d\n",sizeof(d)); Accesar el subdirectorio donde se encuentra C.

  • Programacin Estruccturada Codificada

    65

    Procedimiento

    printf ("La longitud de unsigned char e= %d\n",sizeof(e)); printf ("La longitud de unsigned short int f= %d\n",sizeof(f)); printf ("La longitud de unsigned int g= %d\n",sizeof(g));

    printf ("La longitud de unsigned long int h= %d\n",sizeof(h)); printf ("La longitud de float i= %d\n",sizeof(i)); printf ("La longitud de double j= %d\n",sizeof(j)); printf ("La longitud de long double k= %d\n",sizeof(k)); printf("\nValores minimos y maximos de cada uno de los tipos\n\n"); printf ("Minimo y maximo de char a= %d\t\t%d\n",CHAR_MIN,CHAR_MAX); printf ("Minimo y maximo de short int b=%d\t\t%d\n",SHRT_MIN,SHRT_MAX); printf ("Minimo y maximo de int c= %d\t\t%d\n",INT_MIN,INT_MAX); printf ("Minimo y maximo de long int d=%d\t\t%d\n",LONG_MIN,LONG_MAX); printf ("Maximo de unsigned char e= %d\n",UCHAR_MAX);

    printf ("Maximo de unsigned short int f= %d\n",USHRT_MAX); printf ("Maximo de unsigned int g= %d\n",UINT_MAX); printf ("Maximo de unsigned long int h= %d\n",ULONG_MAX); printf ("Minimo y maximo de float i= %d\t\t%d\n",FLT_MIN,FLT_MAX); printf ("Minimo y maximo de double j= %d\t\t%d\n",DBL_MIN,DBL_MAX); printf ("Minimo y maximo de long double k=%d\t\t%d\n",LDBL_MIN,LDBL_MAX)