tema 2.ppt

30
TEMA 2: Estructuras de control Repetitivas y Diagramas de Flujo Materia: Introducción a la Programación Docente: Msc.Ing. Sandra Lima Guevara

Upload: cjo-arroyo-muijca

Post on 07-Dec-2014

131 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TEMA 2.ppt

TEMA 2: Estructuras de control Repetitivas y Diagramas de Flujo

Materia: Introducción a la Programación

Docente: Msc.Ing. Sandra Lima Guevara

Page 2: TEMA 2.ppt

2.1 Diagramas de Flujo

Un Diagrama de Flujo es la esquematización gráfica de un algoritmo, el cual muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema.

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

Page 3: TEMA 2.ppt

2.1 Diagramas de Flujo

Es importante resaltar que el Diagrama de Flujo muestra la solución del problema como una red de procesos conectados entre sí por "Tuberías" y "Depósitos" de datos que permite describir el movimiento de los datos a través 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.

Page 4: TEMA 2.ppt

2.1.1 Símbolos de los diagramas de flujo

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando son requeridos.

Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:

Page 5: TEMA 2.ppt

2.1.1 Símbolos de los diagramas de flujo

Entrada

Repetitivas

Page 6: TEMA 2.ppt

2.1.2 Reglas para la creación de Diagramas de Flujo

Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

Los símbolos se unen con líneas, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).

Page 7: TEMA 2.ppt

2.1.2 Reglas para la creación de Diagramas de Flujo

Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.

Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.

Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

Page 8: TEMA 2.ppt

Ejercicios

1) Construya un DFD que dado el radio de un círculo, 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

Page 9: TEMA 2.ppt

Ejercicios: estructura selectiva

Escribir un pseudocódigo que verifique si un número es par, en tal caso muestre el valor mitad del mismo, caso contrario muestre el número par inmediatos superior del mismo

Escribir el pseudocódigo, que teniendo tres valores A, B y C que representan números enteros diferentes, muestre siempre estos números en forma descendente.

Page 10: TEMA 2.ppt

Ejercicios: estructura selectiva

Escribir un pseudocódigo, que teniendo como dato el peso en kilogramos de una persona adulta, muestre un mensaje como por ejemplo “DELGADO”; según la siguiente relación: 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.

Page 11: TEMA 2.ppt

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"

Page 12: TEMA 2.ppt

PRACTICAR

Desarrolle un algoritmo que le permita leer un valor cualquiera N y escribir si dicho número es múltiplo de Z.

Desarrolle un algoritmo que le permita leer un valor cualquiera N y escribir si dicho número es común divisor de otros dos valores leídos 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 números entre la resta del primer número con el segundo es exacta.

Page 13: TEMA 2.ppt

Practicar

Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si la suma de los dos números 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 números cualquiera es igual al tercero

Page 14: TEMA 2.ppt

2.2 Estructuras Repetitivas

Es muy común encontrar en los algoritmos operaciones que se deben ejecutar un número repetido de veces. Si bien los pasos son los mismos, los datos sobre los que se opera varían.

El conjunto de pasos que se ejecutan repetidamente se llama ciclo. Todo ciclo debe terminar de ejecutar luego de un número finito de veces, por lo que es necesario en cada interacción del mismo, evaluar las condiciones necesarias para decidir si debe seguir ejecutándose o debe tenerse. En todo ciclo, siempre debe existir una condición de parada o fin de ciclo.

Page 15: TEMA 2.ppt

2.2 Estructuras Repetitivas

En algunos algoritmos podemos establecer a priori que el ciclo se repetirá un número definido de veces. Llamaremos PARA a la estructura algorítmica repetitiva que se ejecuta un número definido de veces.

Por otra parte, en algunos algoritmos no podemos establecer a priori el número de veces que ha de ejecutarse el ciclo, sino que este número dependerá de las condiciones dentro del mismo. Llamaremos MIENTRAS a la estructura algorítmica repetitiva que se ejecuta mientras la condición evaluada resulta verdadera.

Page 16: TEMA 2.ppt

2.2.1 Estructura PARA

La estructura PARA como lo señalamos anteriormente, es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutará un número definido de veces.

El número de veces que debe repetirse el ciclo, se obtiene del planteamiento del problema o de una lectura que indica que el número de iteraciones se debe realizar para N ocurrencias.

Page 17: TEMA 2.ppt

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.

Page 18: TEMA 2.ppt

2.2.1 Estructura PARA

Primera Solución1ro. Análisis 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 numérico

Page 19: TEMA 2.ppt

2.2.1 Estructura PARA

2do. Diseño del Algoritmo1 INICIO2 Leer S13 Leer S24 Leer S35 Leer S46 Leer S57 Leer S68 Leer S79 Leer S810 Leer S911 Leer S1012 Total = S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S1013 Mostrar Total14 FIN

Page 20: TEMA 2.ppt

2.2.1 Estructura PARA

Ahora bien la solución al problema es simple, pero que pasaría si la cantidad de empleados es 100 o 1000…Entonces sería bueno hacer uso de una Estructura de Control Repetitiva, de forma que la lectura del sueldo de un empleado y la acumulación en un total se realice en un ciclo tantas veces como empleados tenga la empresa.1ro. Análisis 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 numérico

cant_emp variables del tipo numérico

Page 21: TEMA 2.ppt

2.2.1 Estructura PARA

2do. Diseño del Algoritmo1 Inicio2 Leer cant_emp4 total = 05 PARA contador=1, contador=cant_emp, contador = contador +1 6 Leer sueldo7 total = total + sueldo9 FIN PARA10 Mostrar total11 Fin

Page 22: TEMA 2.ppt

2.2.1 Estructura PARA

Ejemplo:1) Diseñar un DF que calcule la nota promedio del primer parcial

de los 24 estudiantes de la materia.

2) Diseñar un Diagrama de flujo que encuentre la suma de los primeros 50 números naturales

Page 23: TEMA 2.ppt

2.2.1 Estructura PARA

Ejercicios1. Escriba un algoritmo que clasifique 10 personas según el

deporte que práctica, los deportes son Ajedrez, Atletismo, Básquet, Futbol. Debe mostrar cuantas personas practican cada deporte.

2. Escriba un algoritmo, que dado un número cualquiera muestre como resultado su tabla de multiplicar del 1 al 15

3. Realizar un algoritmo que permita pedir 10 números y determine e imprima cuantos son pares, impares, positivos y negativos

4. Escriba un algoritmo, que genere los N primeros términos de la serie de Fibonacci. El valor N (entero y positivo) debe ser leído por el teclado. En esta serie los dos primeros números son 1, y el resto se obtiene sumando los dos anteriores: 1,1,2,3,5,8,13,21 …

Page 24: TEMA 2.ppt

Práctica

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

Page 25: TEMA 2.ppt

2.2.2 Estructura MIENTRAS

La estructura algorítmica MIENTRAS es la estructura adecuada para utilizar en un ciclo cuando no sabemos el número de veces que éste se ha de repetir. Dicho número depende de las condiciones dentro del ciclo.

Ejemplos: Cuando tenemos que sacar el promedio de calificaciones de un

exámen, pero no sabemos precisamente cuantos estudiantes lo rindieron. En este caso tenemos que ir sumando las calificaciones e ir contando el número de estudiantes, esto con el fin de poder obtener posteriormente el promedio. El ciclo se repite mientras tengamos calificaciones de alumnos.

Page 26: TEMA 2.ppt

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 ejecutarán repetidamente

Condición de terminación: la evaluación de esta condiciónpermite decidir cuando finalizarála ejecución del ciclo. La

condiciónse evalúa al inicio del mismo.

Page 27: TEMA 2.ppt

2.2.2 Estructura MIENTRAS

Ejemplo: Escriba un algoritmo, tal que dado un grupo de

números positivos, calcule e imprima el cubo de cada número.

1ro. Análisis del problemaProblema: calcular el cubo de cada número positivo ingresados, mientras el número ingresado sea +Datos necesarios: número positivo (num)

Page 28: TEMA 2.ppt

2.2.2Estructura MIENTRAS

2do. Diseño del algoritmo1. Inicio2. Leer num3. MIENTRAS num > 0

4. cubo = num ^ 35. Mostrar cubo6. Leer num

7. FIN MIENTRAS 8. FIN

Page 29: TEMA 2.ppt

2.2.2 Estructura MIENTRAS

Ejemplos:1.- Diseñar el DFD que permita establecer los primeros 4

números pares, de una serie de números ingresados por teclado. Posteriormente calcular su media aritmética de los cuatro números pares.

2.- A una fiesta asistieron personas de diferentes edades y géneros. Diseñar el DFD que dada la edad y género de las personas, permita calcular:

-Cuantas personas asistieron a la fiesta -Cuantos hombres y cuantas mujeres -Promedio de edades por género -La edad de la persona más joven que asistió -No se permiten menores de edad a la fiesta Ingresar datos hasta que se ingrese una edad igual a cero

Page 30: TEMA 2.ppt

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 día, y subtotales por clase de sala. Existen tres clases de salas: Platea, Mezanine y Galería. 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 números perfectos, de una serie de números ingresados por teclado. (Un número es perfecto cuando la suma de sus divisores, sin incluir al número, es exactamente el número. Por ejemplo el 6 es un número perfecto porque sus divisores 1, 2, 3 suman exactamente 6)