Programación Estructurada
PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 3 Nombre: Estructuras de control Contextualización A lo largo de la evolución de los lenguajes de programación, se han implementado diversas formas o metodologías para estructurar un programa. Redactar paso a paso un programa, donde las instrucciones se dictan línea a línea, significa que el código es estricto o rígido, pero en ocasiones, será necesario dar la opción al programa de que tome decisiones según el resultado de alguna operación con los datos, por lo cual se deberá utilizar una estructura más flexible. Las estructuras de control, brindan opciones de ejecución o decisión dentro de la elaboración de un programa, permitiéndole robustecer sus funciones para un mejor análisis y resultado de la operación para la que fue diseñado.
PROGRAMACIÓN ESTRUCTURADA 2 Introducción al Tema Los programas secuenciales (línea a línea) son sencillos de seguir y prácticos en cuestiones de practica para realizar tareas sencillas, pero, Qué sucede cuando una tarea se vuelve un poco compleja? Las estructuras de control gestionan la secuencia que un programa debe seguir, es decir, dictan en qué orden se deben leer las líneas o funciones, estas estructuras se dividen en tres categorías: Secuenciales: las instrucciones se ejecutan una tras otra. Selectivas: las instrucciones se ejecutan en función de una condición. Iterativas: las instrucciones se ejecutan varias veces en función de una condición. En esta sesión conocerás la diferencia entre estas y su uso en la programación estructural.
PROGRAMACIÓN ESTRUCTURADA 3 Explicación 2.1 Secuencial El lenguaje de programación estructurada, contiene implícitamente un tipo de control dado por el ordenamiento de las sentencias enunciadas, es decir, instrucciones dictadas línea a línea de forma ordenada que desataran acciones de la forma convencional de lectura (de arriba hacia abajo), a este tipo de ejecución línea a línea se le conoce como ejecución secuencial. Los programas escritos bajo este modelo de ejecución, implican que la información introducida se irá modificando paso a paso en la lectura del programa, utilizando operadores aritméticos o lógicos, donde la salida del programa será la transformación de la información introducida para un fin específico. Los programas secuenciales responden en línea directa a los diagramas de flujo, siendo este, un ejercicio clásico para ilustrar el flujo de la información, su transformación y el resultado de salida. Los símbolos más utilizados para crear diagramas de flujo de un programa secuencial son los siguientes.
PROGRAMACIÓN ESTRUCTURADA 4 Representación: INICIO <Instrucción 1> <Instrucción 2> <Instrucción 3> <Instrucción n> FIN_INICIO Ejemplo en lenguaje C: #include<conio.h> #include<stdio.h> #include <dos.h > void main() int var1; int var2; int suma; int resta; printf("ingrese un numero:"); scanf("%d",&var1); printf("\n Ingrese otro numero:"); scanf("%d",&var2) suma = var1 + var2; resta = var1 var2 ; printf("la suma de 2+ 3 es %d" suma); printf("la resta de 2+ 3 es %d" resta); getch();
PROGRAMACIÓN ESTRUCTURADA 5 2.2 Estructura Selectiva La estructura selectiva o estructura de decisión lógica está formada por una condición utilizando algún operador lógico (como los que se vieron en la sesión anterior), que puede ser simple o compuesta, de ésta puede resultar dos posibles caminos: 1. Un conjunto de acciones o secuencias a ejecutar, si el resultado de la condición es verdadera. 2. Un conjunto de acciones o secuencias a realizar, si el resultado de la condición es falsa. Representación: Si <expresión lógica> entonces Secuencia 1I camino 1 SINO Secuencia 2 I camino 2 FIN_SI Funcionamiento: Al igual que las otras estructuras, la estructura secuencial tiene una única entrada y salida. Al llegar a la estructura se evalúa la condición; si ésta es: Verdadera, Se ejecuta el grupo de instrucciones que conforman la secuencia 1 y continua hacia abajo con las demás instrucciones de algoritmo que están después del FIN_SI, es decir que toma el camino 1 y no se ejecutan las instrucciones que conforman la secuencia 2.
PROGRAMACIÓN ESTRUCTURADA 6 Si es Falsa, se ejecuta el grupo de instrucciones que conforman a secuencia 2 y omite la ejecución de las instrucciones de la secuencia 1, es decir que toma el camino 2 y continua hacia abajo. Las instrucciones que conforman las dos secuencias pueden permanecer a cualquier estructura, incluida la decisión lógica. Es común, dentro de la programación que falte una de las dos secuencias, en cuyo caso significa que al estar ausente y tomar ese camino no haga nada y continúe con las estructuras siguientes. En lenguaje C se utilizan dos tipos de estructuras condicionales, las estructuras dobles o múltiples. Su sintaxis es la siguiente: Estructura de selección doble if - else if(expresión) <Proceso en resultado verdadero> else <Proceso en resultado negativo> Ejemplo en lenguaje C: #include<conio.h> #include<stdio.h> void main() Int X = 70; if(x % 2 == 0) printf( Es un numero par ); else printf( Es un número inpar );
PROGRAMACIÓN ESTRUCTURADA 7 Estructura de selección multiple switch Switch(variable) case valor1: acción1; accion2; acción n; case valor2: acción1; accion2; acción n; case valorn: acción1; accion2; acción n; default: accion1; Ejemplo en lenguaje C: #include<conio.h> #include<stdio.h> void main() char operador; int res; int var1 = 2; int var2 = 3; printf("ingrese un operador (+ - * /) :"); scanf("%s",&operador);
PROGRAMACIÓN ESTRUCTURADA 8 Switch(operador) case + : res = var + var2; case - : res = var var2; case * : res = var * var2; case / : res = var / var2; default: res = 0; printf( El resultado de la operación seleccionada es: %d,res); getch()
PROGRAMACIÓN ESTRUCTURADA 9 Conclusión Las estructuras de control aplicadas a los programas estructurados ayudan a definir el flujo de la información y las acciones que se tomaran en cuenta para regresar el resultado esperado de un programa. Ya sea de forma secuencial o selectiva, las estructuras de control pueden ser representadas de manera gráfica en diagramas de flujo, para poder percibir de mejor forma, los pasos a seguir en el programa que llevaran a la solución buscada. Aún falta un tipo de estructura por mencionar, la estructura de control iterativa o también conocida como cíclica, la cual se desarrollara en la siguiente sesión.
PROGRAMACIÓN ESTRUCTURADA 10 Para aprender más Para cada proyecto que se desea desarrollar es recomendable realizar primero el diagrama de flujo que resuelva el problema, esto, dará un guía más acertada para para las acciones a realizar en un programa secuencial. Existen herramientas que te pueden ayudar a diseñar toda clase de diagramas para la creación de sistemas, puedes echarle un ojo a herramientas que cuentan con versiones de distribución gratuita, a continuación encontraras una lista de programas que puedes utilizar para diagramar. Visual paradigm. http://www.visual-paradigm.com/ Dia. http://dia-installer.de/index.html.en SmatDraw http://www.smartdraw.com/software/diagramasdeflujo.asp Microsoft Visio http://office.microsoft.com/es-mx/visio/
PROGRAMACIÓN ESTRUCTURADA 11 Actividad de Aprendizaje Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión, realiza la siguiente actividad. Instrucciones Realizar dos programas en lenguaje C donde muestres las estructuras de control vistas en esta sesión. Imprimir la pantalla ya que esté escrito en C Convertir en imagen en formato JPG del programa realizado Subirlo a la plataforma de la asignatura Esta actividad te ayudará a comprender las estructuras de control del lenguaje C, así como su correcta utilización, lo cual te facilitará a entender las siguientes sesiones. Esta actividad representa el 5% de tu calificación y se tomará en cuenta lo siguiente: Tus datos generales. Título. Los dos programas en lenguaje C Ortografía y redacción. Referencias bibliográficas.
PROGRAMACIÓN ESTRUCTURADA 12 Bibliografía Gómez, A; (2008), Introducción a la computación, México: Cengage Learning. Harvey, M; (2004), C / C++ y Java cómo programar, México: Pearson Educación. Oviedo, R; (2004), Lógica de programación, Bogotá: Ecoe Ediciones Rice, P. (s/f). Desarrollo humano, estudio del ciclo vital, Pearson Prentice Hall.