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

Estructuras de Repeticin

Algoritmos
Recordatorio
Mientras
Hacer-Mientras
Para

Profesor Juan Abarca Olivos

Si - simple

Profesor Juan Abarca Olivos

Si - doble

Profesor Juan Abarca Olivos

Repeticin

Las estructuras de repeticin permiten la


ejecucin repetida de una lista o secuencia
de instrucciones (tambin llamada bloque de
instrucciones). El nmero de veces que el
bloque de instrucciones se ejecutar se
puede especificar de manera explcita o a
travs de una condicin que indica cuando
se ejecuta de nuevo o cuando no. A cada
ejecucin el bloque de instrucciones se le
conoce como una iteracin.
Profesor Juan Abarca Olivos

Tipos de estructuras de
repeticin
Existen tres tipos principales de sentencias de
repeticin
Ciclo MIENTRAS
Ciclo HACER-MIENTRAS
Ciclo PARA

Profesor Juan Abarca Olivos

CICLO MIENTRAS

El CICLO MIENTRAS ejecuta un bloque de


acciones mientras que una condicin dada se
cumpla.
La condicin es evaluada antes de ejecutar el
bloque de acciones, si la condicin no se cumple, el
bloque no se ejecuta.
De esta manera es que el nmero de repeticiones
del bloque de acciones sea cero, pues, si la
condicin de entrada se evala falsa, el bloque no
ser ejecutado alguna vez. La forma general del
ciclo mientras es la siguiente:
Profesor Juan Abarca Olivos

Diagrama de Flujo y Pseudo


cdigo

Mientras( condicin)
Bloque de
instrucciones
Fin_mientras
Profesor Juan Abarca Olivos

Ejemplo

Calcular la suma de los nmeros naturales desde 1 hasta n.


Proceso Suma
definir i, n, suma como entero;
leer n;
i=1;
suma =0
Mientras (i<=n) Hacer
suma=suma+i;
i=i+1;
FinMientras
escribir suma; // mostrar el resultado de la suma
FinProceso

Profesor Juan Abarca Olivos

Ciclo Hacer-Mientras

El CICLO HACER-MIENTRAS es similar al ciclo


mientras, la diferencia radica en el momento de
evaluacin de la condicin. En el ciclo hacer-mientras
la condicin se evala antes de la ejecucin del
bloque, en el ciclo HACER-MIENTRAS la condicin
se evala despus de ejecutar el bloque de acciones,
por lo tanto, el bloque se ejecuta por lo menos una
vez. El bloque se ejecuta nuevamente si la condicin
se evala a verdadero y no se ejecuta ms si se
evala falso. La forma general del ciclo HACERMIENTRAS es la siguiente:

Profesor Juan Abarca Olivos

Diagrama de Flujo y Pseudocdigo

HACER
bloque de
instrucciones

MIENTRAS (condicin)

Profesor Juan Abarca Olivos

10

Ejemplo:

El problema es calcular la suma de los nmeros naturales


desde 1 hasta n.
Inicio
Entero i, n, Suma
Leer( n)
i=1
Suma =0
HACER
Suma=Suma+i
i=i+1
MIENTRAS (i<=n)
Escribir (Suma)
Fin
Profesor Juan Abarca Olivos

11

Ciclo PARA

El CICLO PARA permite la ejecucin repetida de un


conjunto de acciones. El nmero de veces que el
bloque es ejecutado est determinado por los
valores que puede tomar una variable contadora (de
tipo entero), en un rango definido por un lmite
inferior y un lmite superior. Despus de ejecutar el
bloque de acciones en cada iteracin la variable
contadora es incrementada en uno (*1) y en el
momento en que la variable sobrepasa el lmite
superior el ciclo termina.

Profesor Juan Abarca Olivos

12

Ciclo PARA Continuacin

El valor final de la variable contadora depende


mucho del lenguaje de programacin utilizado, por
lo tanto, no es recomendable disear algoritmos que
utilicen el valor de la variable contadora de un ciclo
para, despus de ejecutar el mismo. De la definicin
del ciclo para se puede inferir que el bloque de
acciones no se ejecuta alguna vez si el lmite inferior
es mayor al lmite superior y que si el lmite superior
es mayor o igual al lmite superior, el nmero de
veces que el conjunto de acciones se ejecutar es
igual a uno ms el lmite superior menos el lmite
inferior. La forma general del ciclo para es la
siguiente:
Profesor Juan Abarca Olivos

13

Diagrama de Flujo y Pseudo


cdigo ciclo Para

Para var= v.inicial hasta lm_super hacer


< bloque de instrucciones >
Fin_para
Profesor Juan Abarca Olivos

14

Ejemplo. Ciclo Para

Leer 20 nmeros e imprimir cuantos son positivos, cuantos negativos y cuantos


neutros.
Inicio
cn = 0
cp = 0
cneg = 0
Para x = 1 hasta 20 hacer
Leer num
Sin num = 0 entonces
cn = cn + 1
si no
Si num > 0 entonces
cp = cp + 1
si no
cneg = cneg + 1
Fin-si
Fin-si
Fin-para
Imprimir cn, cp, cneg
Fin.

Profesor Juan Abarca Olivos

15

Ejemplo 2. Ciclo Para

El problema es calcular la suma de los nmeros naturales


desde 1 hasta n.
Inicio
Entero i, n, Suma
Leer( n)
i=1
Suma =0
PARA i=1 hasta n hacer
Suma=Suma+i
Fin_para
Escribir (Suma)
Fin

Profesor Juan Abarca Olivos

16

TIPOS DE VARIABLES UTILES EN


REPETICIN

Variables contadores
Como su nombre lo indica estas variables se usan
fundamentalmente para contar, por lo tanto deben
ser de tipo entero. Un ejemplo de este tipo de
variables es la variable de control en un ciclo para.
Una variable contadora se incrementa (o
decrementa) en un valor constante en cada
iteracin del ciclo.

Profesor Juan Abarca Olivos

17

TIPOS DE VARIABLES UTILES EN


REPETICIN
Ejemplo. Desarrollar un algoritmo que imprima la
cantidad de nmeros impares que hay entre dos
nmeros.

Profesor Juan Abarca Olivos

18

TIPOS DE VARIABLES UTILES EN


REPETICIN

Acumulador:
La funcin de una variable acumuladora es
almacenar la sumatoria de valores numricos en
cada iteracin, por lo tanto la variable debe ser de
tipo entero o real.
Por ejemplo, en los diferentes algoritmos
presentados para solucionar el problema de calcular
la suma de los nmeros naturales desde 1 hasta n,
la variable suma es una variable acumuladora.

Profesor Juan Abarca Olivos

19

Ejemplo

Ejemplo. Calcular las suma de los


cuadrados de los nmeros entre 1 y 100.

Profesor Juan Abarca Olivos

20

Variables flag (bandera)

Una variable bandera es utilizada dentro de


la condicin del ciclo, para determinar
cundo un ciclo se sigue iterando o cundo
no.
De esta manera es recomendable que una
variable bandera sea de tipo booleano.

Profesor Juan Abarca Olivos

21

Variables bandera. Cont.

Ejemplo. Realizar un programa que lea una serie


de nmeros reales y los sume. El programa debe
preguntar al usuario cundo desea ingresar un
siguiente dato y si el usuario responde que no
desea ingresar ms datos el programa debe
confirmar la respuesta. Si el usuario desea
continuar ingresando datos se debe seguir
solicitando datos y si el usuario confirma su deseo
de salir, el programa debe mostrar la suma de los
datos ledos y terminar.

Profesor Juan Abarca Olivos

22

Traduccin de Estructuras Repetitivas

Profesor Juan Abarca Olivos

23

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