Programación estructurada • Tipos de datos • Numericos: • Enteros y Reales • Carácter o texto: • Código ASCII y Unicode • Lógicos: • Falso y Verdadero Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Operadores aritméticos • • • • • • • • ! && || <>= Negación Y O Comparaciones • La función Y es verdadera solo si todos sus argumentos son verdaderos. • La función O es falsa solo si todos sus argumentos son falsos. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Los datos se almacenan en la memoria de la computadora de diferentes maneras: • Existen datos cuyo valor es fijo y nunca cambia, a estos datos se les llama constantes. Ejem.: PI • Otros datos cambian con la ejecucion del programa, a estos datos se les llama variables. Por lo regular sirven para almacenar resultados o para almacenar datos de entrada. Ejem.: C = A + B Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Otra consideración importante es la cantidad de memoria que cada tipo de dato necesita. • Un carácter o letra por ejemplo, necesita solo ocho bits para guardarse. En cambio un número real, necesita de 32 bits para almacenarse. • Esto significa que no es posible almacenar un número real en el espacio que le corresponde a un carácter. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Parentesis Exponenciación Multiplicación y división Suma y resta • Tienen precedencia o prioridad Programación estructurada • Operadores lógicos () ^ */ +- Programación estructurada • Lenguaje ANSI C • Un programa en lenguaje C se compone de las siguientes partes: • • • • Librerías Declaración de variables Declaración de funciones Función principal Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 1 Programación estructurada • Ejemplo: #include <stdio.h> void main(){ printf(“Hola mundo”); } //libreria //principal //instrucción Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Las librerías contienen código para ejecutar instrucciones especiales. La librería stdio.h contiene instrucciones para leer y escribir. • La función principal debe existir en todo programa que quiera convertirse en ejecutable. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • La instrucción printf se encuentra en la librería stdio.h y sirve para presentar datos en la pantalla. En este caso imprimirá el mensaje “Hola mundo”. • En este sencillo programa se han omitido otras partes como la declaración de funciones y variables. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Las funciones básicas para ingresar y presentar datos son: • printf(“mensaje %formato”, variable) Imprimir datos en la pantalla. • scanf(“%formato”, &variable) Leer datos del teclado. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Ahora veamos cuales son los tipos de datos que son reconocidos por el lenguaje C: • • • • • char int long float double caracteres o simbolos ASCII números enteros números enteros grandes números reales números reales grandes Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Para escribir un programa, es necesario tener un archivo de texto con extension c o cpp que contenga las instrucciones del programa. • Un archivo de texto puede crearse con un editor de textos como el block de notas de windows. Algunos compiladores como Borland C, tienen integrado su propio editor de textos. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 2 Programación estructurada • Para tener acceso al editor de textos de Borland C, ir al menu file, new, text edit. • Escribir el programa y grabarlo con extensión c o cpp. • Para compilarlo ir al icono de la hoja con un signo de admiración. O usar la combinación de teclas ALT + F9. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Como todo lenguaje de programación estructurado, el lenguaje C posee sus estructuras de control básicas. • Posee ademas la posibilidad de hacer programación modular y tener bibliotecas de modulos. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada Instrucción 1 Instrucción 2 ... Instrucción n Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Para ejecutar el programa, ir al icono con un rayo, para hacer que se ejecute paso a paso, ir a los iconos con los parentesis. • Al compilarse un programa, aparece una ventana que reporta si existieron errores o advertencias. Indica el tipo de error y la linea en donde ocurrio. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Siguiendo los principios de la programación estructurada tenemos que la parte más simple de un programa lo son las instrucciones de tipo secuencial. • Dichas instrucciones se ejecutan en el orden estricto en el cual aparecen en el código fuente. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Cuando deseamos cambiar el orden en el que se ejecutan las instrucciones usamos las estructuras condicionales. • La estructura de selección simple obliga a que una instrucción sea ejecutada solo si se cumple una condición. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 3 Programación estructurada Programación estructurada • En C tenemos lo siguiente: verdadero if (condicion){ instrucciones secuenciales a ejecutarse si la condición es verdadera. falso condición } else{ instrucciones secuenciales a ejecutarse si la condición es falsa. Instrucción 1 Instrucción 2 } Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Ejemplo, decidir cual de dos numeros es el mayor. if (a > b) printf(“a es mayor que b \n”); else printf(“b es mayor o igual que a \n”); Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos • Dado que el lenguaje gráfico de los diagramas de flujo se usa continuamente, es necesario establecer el significado de sus diferentes simbolos. Inicio, fin, conexion Modulo Instrucción secuencial Decisión Salida de datos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos • En algunas ocasiones solo es necesario que la instrucción se ejecute solo si se cumple la condición y que salte a la siguiente si no se cumple. if ( a == 10) printf(“Es el numero diez”); printf(“Instrucción despúes del if”); Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada Entrada de datos Programación estructurada Ciclo fijo Programación estructurada • Lo que en laminas anteriores he llamado condiciones tambien son llamadas expresiones lógicas. • Estas son expresiones cuyo resultado es falso o verdadero. • Generalmente son construidas con los llamados operadores relacionales (>,<,= =,!=, >=, <=) y se combinan con las operaciones lógicas (&&, || y !). Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 4 Programación estructurada Programación estructurada • • Ejemplo: if (A >= 6 && A < =10) printf(“Aprobado”); else printf(“Reprobado”); Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada Programación estructurada • si no mes != “febrero” dia == 30 no no si dia == 28 si pagar la nomina pagar la nomina Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada opcion 1 Hola mundo 2 Adios default Opcion no válida Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos En ocasiones es necesario usar “estructuras anidadas”, esto cuando la evaluación de una segunda condición depende del resultado de una primera. if ( mes != “febrero”) if (dia == 30) printf(“pagar la nomina”); else if (dia == 28) printf(“pagar la nomina”); También suelen presentarse situaciones en las que el valor de una variable determina la acción a realizar. Esto es muy común en los programas guiados por menu: switch(opcion){ case 1: printf(“Hola mundo”); break; case 2: printf(“Adios”); break; default: printf(“opcion no válida”); break; } Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada • Tambien es cierto que una estrucción de selección multiple puede realizarse por medio de muchas selecciones simples anidadas. • Esto siempre es posible debido a que los microprocesadores solo reconocen intrucciones de selección simples. Así pues el compilador se encarga de realizar la conversión. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 5 Programación estructurada Programación estructurada • Además de la posibilidad de elegir entre alternativas existe la posibilidad de hacer ciclos repetitivos. • Exiten tres tipos de ciclos: • De numero fijo de repeticiones. • De condición previa. • De condición posterior. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada Programación estructurada • En C, tendriamos lo siguiente: for( i = 0; i < 80; i++) printf(“*”); • El ciclo de condición previa se usa cuando no sabemos a ciencia cierta cuantas veces vamos a ejecutar una tarea y si esta será ejecutada despúes de todo. • Por ejemplo, si queremos convertir una palabra a mayusculas. i=0 no i < 80 si * i++ Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos Programación estructurada i = 0; while(palabra[i] != 0){ palabra[i] = toupper(palabra[i]); i++; } Programación estructurada i=0 no palabra[i] != 0 si palabra[i] = toupper(palabra[i]); i++; Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos • El ciclo de numero fijo de repeticiones se usa cuando sabemos de antemano cuantas operaciones repetitivas van a realizarse. • Por ejemplo, si tenemos que formar una linea horizontal de asteriscos en la pantalla y sabemos que caben 80, entonces podriamos usar un ciclo como este para lograrlo. • También existen ciclos de condición posterior, esto significa que se ejecutan al menos una vez. Luego se evalua un cambio en los datos o alguna condición que permite continuar o terminar con el ciclo. • Por ejemplo, en un programa guiado por menu, este será un ciclo de condición posterior cuya terminación depende de una opción del menu. Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 6 Programación estructurada Programación estructurada do{ bandera = 1; opcion 1 2 funcion1 3 funcion2 Adios bandera = 0 si bandera == 1 no Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos default opcion invalida clrscr(); imprime_menu(); scanf(“%d”,&opcion); bandera = 1; switch(opcion){ case 1: funcion1(); break; case 2: funcion2(); break; case 3: printf(“adios”); bandera = 0; break; default: printf(“opcion no valida”); break; } }while(bandera == 1); Ing. Conceptosbásicos básicos Ing.Jorge JorgeA. A.Hernández HernándezP.: P.:Conceptos 7