Вы находитесь на странице: 1из 10

Colegio Comfandi Calipso Informtica Dcimo

Estructuras repetitivas (cclicas)


Existen algoritmos cuyas operaciones se deben de ejecutar un nmero repetido de veces. Esto es, las instrucciones son las mismas pero los datos varan. El conjunto de instrucciones que se ejecutan repetidamente se llama ciclo. Un ciclo tiene un nmero finito de veces de ejecucin. Un ciclo tiene una condicin para seguir ejecutndose o para terminar. Esto es, todo ciclo tiene una condicin de fin de ejecucin. En los algoritmos que se conoce el nmero de veces que se repite el ciclo, se dice que se establece a priori. Esto significa que el nmero de veces de repeticin no depende de los datos. Este tipo de algoritmo se le llama repetir n veces el ciclo donde n es un nmero conocido. Cuando no se conoce el nmero de veces a repetir el ciclo, esto es, que no se puede establecer a priori el nmero de veces que ha de ejecutarse el ciclo sino que depende del tipo de datos y de las instrucciones de repeticin, el algoritmo se ejecuta mientras sucede una condicin de ejecucin.

Colegio Comfandi Calipso Informtica Dcimo

Estructura repetitiva repetir (FOR) La estructura repetir conocida como la instruccin FOR, es la estructura algortmica que se utiliza en un ciclo que se ejecuta un nmero definido de veces. Esta estructura est definida en cualquier lenguaje de programacin. Ejemplo:

Esta estructura se puede usar en reemplazo del ciclo Mientras en esquema cuantitativo cuando el contador que controla dicho ciclo se incrementa o disminuye en un valor constante. La diferencia con el ciclo Mientras es que en el ciclo PARA, la variable controladora se inicializa, se incrementa y se compara automticamente.

Colegio Comfandi Calipso Informtica Dcimo

Representacin o forma general PARA VC = VI, VF, IN HACER Accion1 Accion2 FIN_PARA Donde: VC Variable de control del ciclo VI Valor inicial LF valor final IN Incremento

Funcionamiento: a. Si IN es positivo: (VI < VF) Cuando se activa la estructura, automticamente se asigna el valor de VI a VC y se compara VC con VF. Si VC>VF, no se ejecuta la secuencia de instrucciones o acciones. Si VC<=VF, se ejecuta la secuencia una vez y automticamente regresa al principio del ciclo a incrementar la variable controladora en el valor de IN (VC=VC+IN) y se compara nuevamente el valor de VC con VF. Si nuevamente VC<=VF, se vuelve a ejecutar la secuencia y se regresa al principio del ciclo a repetir lo mismo. Si ahora, VC>VF, se termina el ciclo automticamente. b. Si IN es negativo: Se hace lo mismo pero se ejecuta la secuencia siempre y cuando VC>=VF y no se ejecuta si VC<VF. En ese caso VI>VF

Ejemplo: Hacer un algoritmo que encuentre el factorial de un nmero positivo cualquiera . Anlisis del problema: Datos de entrada: El nmero al cual se le hallar el factorial. Datos de salida: El factorial del nmero. Proceso: El factorial de un nmero es el producto del nmero por todos sus nmeros anteriores hasta uno, as: Factorial de 5= 5*4*3*2*1. Se debe entonces inicializar el factorial en 1 (mdulo del producto) incrementar un contador y multiplicar por l (esto lo hace el ciclo PARA)

Colegio Comfandi Calipso Informtica Dcimo

Definicin de variables: N: Nmero al cual se le hallar el factorial FAC: Factorial del nmero CON: contador que generar los factores del factorial. Algoritmo: INICIO Leer N FAC=1 PARA CON=1, N, 1 HACER FAC=FAC*CON FIN_PARA Imprimir El factorial de ,N, es: , FAC FIN_INICIO Ejercicio 1. Hacer un algoritmo que imprima las tablas de multiplicar de 1 a 5. Definicin de variables: I: multiplicando J: Multiplicador P: Producto Realizar le algoritmo

2. Hacer un algoritmo que encuentre la suma de los nmeros impares comprendidos entre 1 y N.

Colegio Comfandi Calipso Informtica Dcimo

Estructura repetitiva mientras (WHILE) Estructura que se utiliza cuando no se conoce el nmero de veces de repeticin. Esto es, el nmero de repeticiones depende de las instrucciones y la informacin a procesar (datos). Esta estructura debe de estar compuesta de dos partes: Ciclo: las instrucciones que se ejecutan repetidamente Condicin de terminacin: la evaluacin que decide cuando se termina el ciclo.

Cada vez que se ejecutan las instrucciones de un ciclo se dice que se hizo una iteracin. Por lo tanto, si el ciclo se repite 5 veces por ejemplo, se hicieron 5

Colegio Comfandi Calipso Informtica Dcimo

iteraciones. La forma general del ciclo MIENTRAS es: MIENTRAS <Condicin> HACER <Secuencia de instrucciones> <actualizacion> FIN_MIENTRAS Dentro de la secuencia de instrucciones debe haber por lo menos una que, en algn momento cambie el valor de verdad de la condicin, pues de lo contrario se repetira la ejecucin de la secuencia en forma indefinida (ciclo infinito). El funcionamiento es como sigue: Al llegar a la estructura MIENTRAS se evala la condicin (expresin lgica); si el resultado de la evaluacin es verdadero, se LEE el primer registro de datos y se procesa y a continuacin se vuelve a evaluar la condicin y si nuevamente es verdadera, se lee el siguiente registro y se procesa. Si el resultado de la evaluacin de la condicin es falso, se contina con la siguiente instruccin que haya despus del FINMIENTRAS (si la hay). Es posible que la primera vez que se evala la condicin, el resultado de su evaluacin sea falso. En este caso no se ejecuta nunca las instrucciones dentro del ciclo. Es por esto que el ciclo MIENTRAS se dice que ejecuta cero o ms veces una secuencia de instrucciones. La representacin general de este esquema cuantitativo es: INICIO <Inicializar El contador> LEER <N de iteraciones> MIENTRAS <Condicin> HACER LEER <Registro de datos> <PROCESO> FIN_MIENTRAS FIN_INICIO En este tipo de esquema, se controla la repeticin del ciclo con una variable tipo contador, la cual se compara con el nmero de iteraciones que debe hacer el algoritmo o con el nmero hasta el cual debe llegar. Dentro del PROCESO debe haber una instruccin de incrementar o disminuir el valor del contador. Esta instruccin es la que hace que la condicin se haga falsa en determinado momento y que el ciclo termine (no sea infinito).

Colegio Comfandi Calipso Informtica Dcimo

Ejemplo: Hacer un algoritmo que sume los cinco primeros nmeros naturales. Anlisis del problema: Datos de entrada: No hay, ya que los nmero naturales (1, 2, 3, etc) no se ingresan por parte del usuario sino que se deben generar por el algoritmo (no hay una instruccin de lectura). Datos de salida: La suma de esos primeros cinco nmeros naturales. Definicin de variables: NUM: Variable para guardar el nmero natural generado. SUMA: Variable para guardar la suma de los nmeros naturales. Algoritmo: INICIO NUM=0 SUMA=0 MIENTRAS NUM<5 HACER NUM=NUM+1 SUMA=SUMA+NUM FIN_MIENTRAS IMPRIMIR La suma de los cinco primeros nmeros naturales es , SUMA FIN_INICIO
Otra forma de resolver el problema es:

Algoritmo INICIO NUM=1 SUMA=0 MIENTRAS NUM<=5 HACER SUMA=SUMA+NUM NUM=NUM+1 FIN_MIENTRAS IMPRIMIR La suma de los cinco primeros nmeros naturales es , SUMA FIN_INICIO

Colegio Comfandi Calipso Informtica Dcimo

Esquema cualitativo La representacin general de este esquema es: INICIO LER <Campo elegido> MIENTRAS <Condicin> HACER LEER <Resto del registro de datos> <PROCESO> LEER < Campo elegido > FIN_MIENTRAS FIN_INICIO En este tipo de esquema, se controla la repeticin del ciclo con el valor del campo elegido, al cual el usuario, en el momento que desee terminar la repeticin del ciclo, le asigna un valor que no est contemplado en el rango de valores que este campo pueda tomar. Esta instruccin de lectura (entrada de datos) es la que hace que la condicin se haga falsa en determinado momento y que el ciclo termine (no sea infinito). El valor no vlido para el campo elegido se guarda en un registro llamado registro centinela o registro marca y tiene el significado de no hay ms registros para procesar Ejemplo: Hacer un algoritmo que encuentre la suma y el promedio de un grupo de nmeros positivos que entran de a uno por registro. Anlisis del problema: Datos de entrada: Los nmeros que el usuario ingresa de a uno. Datos de salida: La suma de los nmeros y el promedio de los nmeros Proceso: El algoritmo le dir al usuario que le ingrese cada nmero. Este le ingresar nmero positivos hasta que desee terminar, caso en el cual le ingresar un 0 o un nmero negativo. Lo ms recomendable es que el algoritmo le diga al usuario con qu valor terminar. Los nmeros ingresados se deben ir contando en una variable tipo contador y se deben acumular sus valores en una variable tipo acumulador.

Colegio Comfandi Calipso Informtica Dcimo

Definicin de variables: NUM: Variable para guardar el nmero entrado. SUMA: Variable para guardar la suma de los nmeros. PROM: promedio de los nmeros CN: contador de nmeros ingresados. Algoritmo: INICIO Imprimir Ingrese un nmero positivo LEER NUM SUMA=0 CN=0 MIENTRAS NUM <> 0 HACER SUMA=SUMA+NUM CN= CN+1 Imprimir Ingrese otro nmero positivo o 0 para terminar LEER NUM FIN_MIENTRAS PROM = SUMA/CN IMPRIMIR La suma es ,SUMA, Y EL PROMEDIO ES ,prom FIN_INICIO Como se puede apreciar, si el usuario desea estar indefinidamente ingresando nmeros positivos, lo puede hacer y el algoritmo le sigue pidiendo ms y ms nmeros, pero si l desea terminar de ejecutarlo, le ingresa un 0 y con eso la condicin se hace falsa y ya no se ejecutar ms la secuencia de instrucciones dentro del ciclo. El registro que contiene dicho 0 es el que se denomina centinela. Ejercicios: 1) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia Fsica (Esquema cuantitativo). 2) Leer una cantidad indeterminada de nmeros diferentes de cero y obtener su cubo y su cuarta. (Esquema cualitativo) 3) Leer N nmeros e imprimir solamente los nmeros positivos. (Esquema cuantitativo)

Colegio Comfandi Calipso Informtica Dcimo

4) Leer N nmeros e imprimir cuntos son positivos, cuntos negativos y cuntos ceros. (Esquema cuantitativo) 5) Leer 15 nmeros negativos y convertirlos a positivos e imprimir dichos nmeros. 6) Calcular e imprimir la tabla de multiplicar de un nmero cualquiera de 1 hasta 10. Imprimir el multiplicando, el multiplicador y el producto.

Вам также может понравиться