Vous êtes sur la page 1sur 30

TEMA 2: Estructuras de control Repetitivas y Diagramas de Flujo

Materia: Introduccin a la Programacin Docente: Msc.Ing. Sandra Lima Guevara

2.1 Diagramas de Flujo

Un Diagrama de Flujo es la esquematizacin grfica de un algoritmo, el cual muestra grficamente los pasos o procesos a seguir para alcanzar la solucin de un problema.

Si el Diagrama de Flujo est completo y correcto, el paso del mismo a un Lenguaje de Programacin es relativamente simple y directo.

2.1 Diagramas de Flujo

Es importante resaltar que el Diagrama de Flujo muestra la solucin del problema como una red de procesos conectados entre s por "Tuberas" y "Depsitos" de datos que permite describir el movimiento de los datos a travs del programa. Este describir : lugares de origen y destino de los datos , transformaciones a las que son sometidos los datos, lugares en los que se almacenan los datos dentro del sistema, los canales por donde circulan los datos.

2.1.1 Smbolos de los diagramas de flujo

Los Diagramas de flujo se dibujan generalmente usando algunos smbolos estndares; sin embargo, algunos smbolos especiales pueden tambin ser desarrollados cuando son requeridos. Algunos smbolos estndares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuacin:

2.1.1 Smbolos de los diagramas de flujo

Entrada

Repetitivas

2.1.2 Reglas para la creacin de Diagramas de Flujo

Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha. Los smbolos se unen con lneas, se deben de utilizar solamente lneas de flujo horizontal o verticales (nunca diagonales).

2.1.2 Reglas para la creacin de Diagramas de Flujo

Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de muchas palabras. Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del smbolo final. Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de salida.

Ejercicios
1) Construya un DFD que dado el radio de un crculo, calcule y muestre su rea y longitud de la circunferencia: A=pi * r2, L=2*pi*r
2) Construya un DFD que dado el radio y la altura de un cilindro, calcule y muestre su rea y volumen. A=2*pi*r(h+r), V=pi *h*r2

Ejercicios: estructura selectiva

Escribir un pseudocdigo que verifique si un nmero es par, en tal caso muestre el valor mitad del mismo, caso contrario muestre el nmero par inmediatos superior del mismo Escribir el pseudocdigo, que teniendo tres valores A, B y C que representan nmeros enteros diferentes, muestre siempre estos nmeros en forma descendente.

Ejercicios: estructura selectiva

Escribir un pseudocdigo, que teniendo como dato el peso en kilogramos de una persona adulta, muestre un mensaje como por ejemplo DELGADO; segn la siguiente relacin: menor a 40 kg DESNUTRIDO, entre 41 y 50 DELGADO, entre 51 y 70 NORMAL, entre 71 y 90 ROBUSTO, y mayor a 91 UHHHHHHHH.

Ejercicios: estructura selectiva doble

Carla organiza una fiesta en la cual una computadora controla el ingreso mediante 3 claves digitadas (clave1: FIESTA, clave2: ALEGRIA, clave3: DIVERSION). Si se ingresa al menos una clave incorrecta esta mostrara "TE EQUIVOCASTE DE FIESTA" y no permitira el ingreso. Si las 3 claves son correctas mostrara "BIENVENIDO A LA FIESTA"

PRACTICAR

Desarrolle un algoritmo que le permita leer un valor cualquiera N y escribir si dicho nmero es mltiplo de Z. Desarrolle un algoritmo que le permita leer un valor cualquiera N y escribir si dicho nmero es comn divisor de otros dos valores ledos W y Z Desarrolle un algoritmo que le permita leer 2 valores A y B e indicar si uno de los dos divide al otro exactamente Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si el resultado de dividir la suma del los dos nmeros entre la resta del primer nmero con el segundo es exacta.

Practicar

Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si la suma de los dos nmeros es par Desarrolle un algoritmo que le permita leer dos valores A y B e indicar cual de las dos restas (B-A) o (A-B) es positiva Desarrolle un algoritmo que le permita leer tres valores A,B,C e indique cual es valor del centro Desarrolle un algoritmo que le permita leer tres valores A,B,C e indicar si uno de los tres divide a los otros dos exactamente Desarrolle un algoritmo que le permita leer tres valores A,B,C e indicar si la suma de dos nmeros cualquiera es igual al tercero

2.2 Estructuras Repetitivas

Es muy comn encontrar en los algoritmos operaciones que se deben ejecutar un nmero repetido de veces. Si bien los pasos son los mismos, los datos sobre los que se opera varan. El conjunto de pasos que se ejecutan repetidamente se llama ciclo. Todo ciclo debe terminar de ejecutar luego de un nmero finito de veces, por lo que es necesario en cada interaccin del mismo, evaluar las condiciones necesarias para decidir si debe seguir ejecutndose o debe tenerse. En todo ciclo, siempre debe existir una condicin de parada o fin de ciclo.

2.2 Estructuras Repetitivas

En algunos algoritmos podemos establecer a priori que el ciclo se repetir un nmero definido de veces. Llamaremos PARA a la estructura algortmica repetitiva que se ejecuta un nmero definido de veces. Por otra parte, en algunos algoritmos no podemos establecer a priori el nmero de veces que ha de ejecutarse el ciclo, sino que este nmero depender de las condiciones dentro del mismo. Llamaremos MIENTRAS a la estructura algortmica repetitiva que se ejecuta mientras la condicin evaluada resulta verdadera.

2.2.1 Estructura PARA

La estructura PARA como lo sealamos anteriormente, es la estructura algortmica adecuada para utilizar en un ciclo que se ejecutar un nmero definido de veces. El nmero de veces que debe repetirse el ciclo, se obtiene del planteamiento del problema o de una lectura que indica que el nmero de iteraciones se debe realizar para N ocurrencias.

2.2.1 Estructura PARA


Ejemplo: Escriba un algoritmo, que dados como datos los sueldo de los 10 trabajadores de una empresa, obtenga el total de la suma de los sueldos.

2.2.1 Estructura PARA


Primera Solucin 1ro. Anlisis del Problema Problema: Calcular la suma total de los sueldos de 10 empleados Datos necesarios: S1, S2, S3, S4, S5, S6, S7, S8, S9, S10 Tipo de datos: S1 ...S10 son variables del tipo numrico

2.2.1 Estructura PARA


2do. Diseo del Algoritmo 1 INICIO 2 Leer S1 3 Leer S2 4 Leer S3 5 Leer S4 6 Leer S5 7 Leer S6 8 Leer S7 9 Leer S8 10 Leer S9 11 Leer S10 12 Total = S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 13 Mostrar Total 14 FIN

2.2.1 Estructura PARA


Ahora bien la solucin al problema es simple, pero que pasara si la cantidad de empleados es 100 o 1000 Entonces sera bueno hacer uso de una Estructura de Control Repetitiva, de forma que la lectura del sueldo de un empleado y la acumulacin en un total se realice en un ciclo tantas veces como empleados tenga la empresa. 1ro. Anlisis del Problema

Problema: Calcular la suma total de los sueldos de n empleados Datos necesarios: sueldo de cada empleado, cantidad de empleados Tipo de datos: sueldo variables del tipo numrico cant_emp variables del tipo numrico

2.2.1 Estructura PARA


2do. Diseo del Algoritmo 1 Inicio 2 Leer cant_emp 4 total = 0 5 PARA contador=1, contador=cant_emp, contador = contador +1 6 Leer sueldo 7 total = total + sueldo 9 FIN PARA 10 Mostrar total 11 Fin

2.2.1 Estructura PARA


Ejemplo:
1) Disear un DF que calcule la nota promedio del primer parcial de los 24 estudiantes de la materia. 2) Disear un Diagrama de flujo que encuentre la suma de los primeros 50 nmeros naturales

2.2.1 Estructura PARA


Ejercicios 1. Escriba un algoritmo que clasifique 10 personas segn el deporte que prctica, los deportes son Ajedrez, Atletismo, Bsquet, Futbol. Debe mostrar cuantas personas practican cada deporte. 2. Escriba un algoritmo, que dado un nmero cualquiera muestre como resultado su tabla de multiplicar del 1 al 15 3. Realizar un algoritmo que permita pedir 10 nmeros y determine e imprima cuantos son pares, impares, positivos y negativos 4. Escriba un algoritmo, que genere los N primeros trminos de la serie de Fibonacci. El valor N (entero y positivo) debe ser ledo por el teclado. En esta serie los dos primeros nmeros son 1, y el resto se obtiene sumando los dos anteriores: 1,1,2,3,5,8,13,21

Prctica

Desarrolle un programa que permita establecer los primeros 5 nmeros impares, de una serie de nmeros ingresados por teclado. Mostrar como resultado la suma de estos cinco nmeros.

2.2.2 Estructura MIENTRAS

La estructura algortmica MIENTRAS es la estructura adecuada para utilizar en un ciclo cuando no sabemos el nmero de veces que ste se ha de repetir. Dicho nmero depende de las condiciones dentro del ciclo.

Ejemplos: Cuando tenemos que sacar el promedio de calificaciones de un exmen, pero no sabemos precisamente cuantos estudiantes lo rindieron. En este caso tenemos que ir sumando las calificaciones e ir contando el nmero de estudiantes, esto con el fin de poder obtener posteriormente el promedio. El ciclo se repite mientras tengamos calificaciones de alumnos.

2.2.2 Estructura MIENTRAS


En la estructura MIENTRAS se distinguen dos partes, al igual que en la estructura PARA: Ciclo: Conjunto de pasos que se ejecutarn repetidamente

Condicin de terminacin: la evaluacin de esta condicin permite decidir cuando finalizar la ejecucin del ciclo. La condicin se evala al inicio del mismo.

2.2.2 Estructura MIENTRAS


Ejemplo: Escriba un algoritmo, tal que dado un grupo de nmeros positivos, calcule e imprima el cubo de cada nmero. 1ro. Anlisis del problema Problema: calcular el cubo de cada nmero positivo ingresados, mientras el nmero ingresado sea + Datos necesarios: nmero positivo (num)

2.2.2Estructura MIENTRAS
2do. Diseo del algoritmo 1. Inicio 2. Leer num 3. MIENTRAS num > 0 4. cubo = num ^ 3 5. Mostrar cubo 6. Leer num 7. FIN MIENTRAS 8. FIN

2.2.2 Estructura MIENTRAS


Ejemplos: 1.- Disear el DFD que permita establecer los primeros 4 nmeros pares, de una serie de nmeros ingresados por teclado. Posteriormente calcular su media aritmtica de los cuatro nmeros pares. 2.- A una fiesta asistieron personas de diferentes edades y gneros. Disear el DFD que dada la edad y gnero de las personas, permita calcular: -Cuantas personas asistieron a la fiesta -Cuantos hombres y cuantas mujeres -Promedio de edades por gnero -La edad de la persona ms joven que asisti -No se permiten menores de edad a la fiesta Ingresar datos hasta que se ingrese una edad igual a cero

2.2.2 Estructura MIENTRAS


3.- Escriba un algoritmo que permita controlar la venta de boletos de un cine, para mostrar el total de la venta de un da, y subtotales por clase de sala. Existen tres clases de salas: Platea, Mezanine y Galera. Cuando se vende un boleto se registra los siguientes datos: NIT del cliente, Precio del boleto, sala y fecha. 4.- Escriba un algoritmo que permita establecer y mostrar los primeros 5 nmeros perfectos, de una serie de nmeros ingresados por teclado. (Un nmero es perfecto cuando la suma de sus divisores, sin incluir al nmero, es exactamente el nmero. Por ejemplo el 6 es un nmero perfecto porque sus divisores 1, 2, 3 suman exactamente 6)

Vous aimerez peut-être aussi