You are on page 1of 12

UNIDAD: 4 Ciclos iterativos. Objetivo: Construir secciones de cdigo repetitivas a partir de los conocimientos de estructuras de ciclo.

Se describe y analiza el concepto de ciclos, adems se estudian los ciclos ms tpicos, de manera el estudiante ser capaz de disear secciones de cdigo que utilicen ciclos como For to (Para) y While (mientras). . Introduccin: Existen cantidad de problemas que requieren de estructuras de repeticin, en las cuales algunos clculos o secuencia de instrucciones se repiten una y otra vez .Se llaman problemas repetitivos o cclicos aquellos en cuya solucin es necesario utilizar un mismo conjunto de acciones, que se puedan ejecutar una cantidad especfica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en funcin de algn dato dentro del programa). En la unidad anterior se manejaron las tcnicas de control de flujo dentro de los algoritmos como en el pseudocdigo. En esta unidad se manejaran ciclos iterativos que son mdulos de repeticin dentro de la solucin o codificacin de un programa. Dentro de los ciclos se pueden crear contadores y/o acumuladores.

4.1 CONTADORES Y ACUMULADORES. Objetivo 4.1 Al finalizar este captulo el alumno definir el concepto de contadores y acumuladores para despus formular pequeos segmentos de cdigo que permitan explicar el uso de ellos. Contadores y acumuladores Estas dos palabras se usan mucho en programacin para referirse a variables que van modificando su valor a lo largo de la ejecucin del programa. Normalmente sern de tipo numrico y no se tratan de ninguna forma en especial, solo que al asignarles un valor se hace de forma que el anterior no se pierda, por ejemplo: nivel = nivel + 1 total = total + subtotal vidas = vidas - 1 tamao = tamao * 2

Es muy importante inicializarlas de forma correcta siguiendo estas normas: Si vamos a sumar o restar la inicializaremos a cero al principio del programa para que no empiecen con valores residuales. Si vamos a multiplicar las inicializamos a 1, porque si valen cero todo lo que multipliquemos por ella seguir valiendo cero. La diferencia entre acumuladores y contadores es que los acumuladores se incrementan con cualquier nmero, como por ejemplo el total de una factura, mientras que los contadores se incrementan siempre con el mismo nmero, normalmente 1.

Objeto Ciclo Para (FOR TO)

Su funcin es ejecutar un bloque de objetos mientras que la variable contadora no alcance el lmite establecido por el valor final. El contador es siempre una variable de tipo de dato Real. Contiene adems un valor inicial que ser asignado al contador al iniciar la ejecucin del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecucin continuar a partir del objeto que sigue al Cierre. En caso contrario, se ejecutar el cuerpo del ciclo [Bloque de objetos] y el contador ser incrementado en el valor indicado por el incremento.

El cuadro de dilogo del objeto Ciclo PARA contiene espacio para el nombre de la variable contador, valor inicial, valor final y el valor de incremento en su respectivo orden.

EJEMPLO: ELABORAR UN ALGORITMO EN DFD QUE REALICE LA TABLA DE MULTIPLICAR DE CUALQUIER NUMERO. UTILIZANDO EL CICLO FOR TO [PARA]

ANALISIS DEL PROBLEMA Variable de entrada int: tabla, mul Proceso Ciclo FOR TO Para mul de 1, hasta 10, con incremento de 1 Formula Res = mul*tabla Variable de salida real: res

PSEUDOCODIGO Algoritmo tablademultiplicar Var Int tabla, mult Real res Escribir cual tabla de multiplicar deseas Leer tabla //Ciclo FOR TO Para mul de 1, hasta 10, con incremento de 1 Res tabla * mul Imprimir tabla, x , mul , = , res Cierre Fin

EJEMPLO: ELABORAR UN ALGORITMO QUE REALICE DE FORMA AUTOMTICA LAS TABLAS DE MULTIPLICAR DEL UNO AL DIEZ, UTILIZANDO CICLOS FOR TO.

ANALISIS DEL PROBLEMA Variables de tipo entero tabla, mul Proceso Ciclos FOR TO Para tabla de 1, hasta 10, con incremento de 1 Para mul de 1, hasta 10, con incremento de 1 Formula Res = tabla * mul Variable de salida res

PSEUDOCODIGO Algoritmo Tablas-Multiplar-del-1al-10 Var Int: tabla, res, mul tabla 0 //Para tabla de 1, hasta 10, con incremento de 1 Para mul de 1, hasta 10, con incremento de 1 Res mul*tabla Imprimir tabla, x , mul, =, res Cierre Cierre Fin

PROBLEMA: SE DESEA CALCULAR EL PROMEDIO DE LAS CALIFICACIONES DE LAS MATERIAS QUE ESTA CURSANDO, UTILIZANDO CICLOS CON FOR TO ( PARA) ANALISIS DEL PROBLEMA Entrada de datos Se solicita el nmero de materias cursando variable entera y se le pide capture las calificaciones variable real. Proceso o procedimiento Ciclo de captura de calificaciones de las materias Calif de 1 hasta materias con incremento de 1 Calif1 Calif2 Calif3 Calif(n) Formula Sum se inicializa en cero Sum= sum + calif Salida de datos Promedio = sum/materias

PSEUDOCDIGO Algoritmo PromedioMaterias Var Int: n, x Real: suma, calif Inicio Escribir ingrese el numero de materias cursadas Leer n Suma0 // porque se va a utilizar en una sumatoria Imprime capture las calificaciones de las materias Ciclo for to x = 1, n, 1 Leer calif Sumsum + calif Cierre Impresin el promedio es = , sum/n, de las, n, materias Fin

Objeto Ciclo Mientras

El objeto Ciclo Mientras tiene como funcin el ejecutar un bloque de objetos mientras que una condicin sea verdadera. La condicin debe ser siempre una expresin que al ser evaluada de como resultado un valor de tipo de dato Lgico. Ejemplo: 3 < W , x > 0 AND Sw = .V. , Valor*15 < 300*Contador.

Si al evaluar la condicin se obtiene el valor .F. la ejecucin del algoritmo continuar a partir del objeto que sigue al Cierre.

El cuadro de dialogo del objeto Ciclo Mientras contiene espacio para la expresin que conforma la condicin. CICLO CONTADOR Es cuando se ejecuta un bloque de instrucciones un nmero especfico de veces. Se debe indicar lo siguiente: Darle nombre al contador Darle un valor con el que va a iniciar el conteo. La condicin de salida es cuando se llegue al nmero de veces que se requiera repetir Ir incrementando el valor del contador

REALIZAR LA TABLA DE CUALQUIER NMERO UTILIZANDO EL CICLO WHILE

ANALISIS DEL PROBLEMA Variable de entrada tabla: int Proceso o Procedimiento Ciclo WHILE MIENTRAS QUE MUL<=10 Formula Res = mul*tabla Variable de salida res: int

PSEUDOCODIGO Algoritmo tablamultiplicar Var Int: tabla, mul, res MUL1 Escribir De cual numero deseas la tabla de multiplicar Leer tabla // Ciclo WHILE MIENTRAS QUE MUL <=10 Res mul*tabla Imprimir tabla, x, mul, =, res MULMUL+1 Cierre Fin

PROBLEMA: REALIZAR LAS TABLAS DE MULTIPLICAR DE 1 AL 10 UTILIZANDO EL CICLO WHILE

ANALISIS DEL PROBLEMA Datos de entrada tabla, mul Proceso o procedimiento Ciclo WHILE MIENTRAS QUE TABLA<=10 MIENTRAS QUE MUL<=10 Formula Res = mul*tabla Datos de salida res

Pseudocodigo Algoritmo tablasdemultiplicar Var Int: mul, tabla, res Tabla1 // Ciclos while Mientras que tabla<=10 Mul1 Mientras que mul <=10 Res mul*tabla Imprimir tabla, x, mul, =, res Mulmul+1 Cierre Tablatabla+1 Cierre Fin

SUBPROGRAMAS Objeto Llamada

La funcin de este objeto es realizar una llamada a un subprograma, el cual debe encontrarse en el diagrama en edicin. En la llamada deben encontrarse los argumentos que han de ser pasados al subprograma, la cantidad, el orden y el tipo de los argumentos deben coincidir con los parmetros del subprograma. Una vez que el subprograma haya sido ejecutado la ejecucin continuar en el objeto siguiente a la llamada.

El cuadro de dilogo para la edicin de este objeto contiene el espacio para el nombre del subprograma a llamar y el espacio para la lista de argumentos. Dichos argumentos deben estar separados por comas.

Objeto Subprograma

Es el primer objeto a ser ejecutado cuando un subprograma es llamado. Al ser ejecutado, el objeto Subprograma transfiere el control al siguiente objeto.

El cuadro de dilogo del objeto Subprograma contiene un espacio para la descripcin o comentarios acerca del mismo; contiene un espacio para el nombre del subprograma y un espacio para los parmetros. Estos parmetros (si existen) deben estar separados por comas. El nombre de un subprograma debe comenzar por una letra seguida de letras, nmeros el caracter ( _ ). Ejemplo : Factorial , Leer , Sub1 , sub_programa.

No se tiene en cuenta la diferencia entre maysculas y minsculas para el nombre de un subprograma, es decir , SUB equivale a sub

TABLAS DE MULTIPLICAR DEL 1 AL 10 CON WHILE UTILIZANDO SUBPROGRAMAS

You might also like