Sie sind auf Seite 1von 7

ESTRUCTURAS REPETITIVAS

1. Definicin

Como su nombre lo indica, estas estructuras se utilizan cuando se necesita


REPETIR una instruccin varias veces. Estas estructuras simplifican el trabajo
considerablemente. Tambin son llamadas CICLOS. Por ejemplo, si un
algoritmo pide que lea uno, dos, tres o cuatro nmero, resultara fcil leer una,
dos, tres o cuatro variables; pero si se pide leer 100, 1000 o 1.000.000 de
variables sera imposible su realizacin, mientras que con las estructuras
repetitivas sera demasiado sencillo.

Los algoritmos se realizan como si fueran a hacer una sola vez (un nmero, un
estudiante, un trabajador) y se encierran esas instrucciones en medio de la
estructura repetitiva.

2. Condiciones para utilizar un ciclo

Un ciclo PARA se usa principalmente cuando se conoce el nmero de


veces que se va a repetir el ciclo, si se desea se puede usar cuando se
va ha hacer N veces. NUNCA CUANDO NO SE CONOZCA EL FINAL
del ciclo.
Un ciclo MIENTRAS se usa principalmente cuando el ciclo se va a
realizar N (REGISTRO IDENTIFICADOR) o cuando NO se conoce el
nmero de veces que se va a repetir el ciclo (REGISTRO CENTINELA
quien es el que va a controlar el numero de ciclos). Se puede hacer
tambin cuando se conoce el nmero de veces que se repite el ciclo;
pero en ese caso es ms funcional el ciclo PARA.

3. Tipos de estructuras repetitivas


Las estructuras ms importantes son: Ciclos PARA y Ciclos MIENTRAS.

3.1. Ciclos PARA


Este ciclo empieza con la palabra PARA y necesita de una variable que tiene
un INICIO, un FINAL y un INCREMENTO. Todo lo anterior se coloca en una
misma lnea, separados por coma (,). Y del mismo modo como un algoritmo o
una estructura de decisin tienen un fin, esta estructura repetitiva tambin lo
tiene y se llama FIN-PARA. Existen dos tipos de ciclos PARA: Cuando se
conoce el nmero de veces que se va repetir el ciclo, y el otro tipo es cuando el
ciclo se va a realizar N veces (en este caso, N es el FINAL).

3.1.1. Ciclo Para (conociendo el nmero de veces que se repite)


Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, se coloca
el final del ciclo, o sea el nmero de veces que se va a repetir. Por ejemplo que
se diga: Haga un proceso para 500 estudiantes o para 20 nmeros o 2.000
empleados. Ah est el final del ciclo. La sintaxis es la siguiente:

PARA (VAR=INICIO, FINAL, INCREMENTO)


Instrucciones que se repiten N veces
FIN-PARA
3.1.2. Ciclo Para (cuando se repite N veces)
Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, no se
coloca el final del ciclo, sino que se dice que el proceso de va a hacer N veces
(en algunos casos N se reemplaza por otra variables. Por ejemplo que se diga:
Haga un proceso para X estudiantes o para N nmeros o Z empleados). N es el
FINAL del ciclo. La sintaxis es la siguiente:

LEER FINAL
PARA (VAR=INICIO, FINAL, INCREMENTO)
Instrucciones que se repiten N veces
FIN-PARA

La variable VAR se puede definir de cualquier manera (se pueda dar cualquier
nombre), siempre y cuando no tenga el mismo nombre de alguna de las dems
variables que intervienen en el algoritmo. En el primer mtodo (cuando se
conoce el nmero de veces que se va a realizar el ciclo), se reemplaza el
INICIO, el FINAL y el INCREMENTO por los respectivos valores; mientras que
en el segundo el FINAL no se reemplaza, sino que se deja el nombre de esa
variable que se ley antes del ciclo.

Ejemplo 1: Desarrolle un algoritmo que lea un nmero y calcule su cuadrado.

INICIO
LEER NUM
CUAD=NUM*2
IMPRIMIR CUAD
FIN

Como puede observar en el enunciado del Ejemplo1, slo se pide leer UN


SOLO nmero. Por tal motivo no requiere de una estructura repetitiva, mientras
que los dos ejemplos siguientes SI la necesita.

Ejemplo 2: Desarrolle un algoritmo que lea 100 nmeros y calcule el cuadrado


de cada numero.

Lo que se tiene que hacer es encerrar las instrucciones del Ejemplo1, que se
manejan y se han usado anteriormente, en una estructura repetitiva, teniendo
presente que la variable empieza en 1 y termina en 100 con incrementos de 1
porque se CONOCE EL NMERO DE VECES que se va a realizar el ciclo.

INICIO
PARA (X=1, 100, 1)
LEER NUM
CUAD = NUM * 2
IMPRIMIR CUAD
FIN-PARA
FIN
Ejemplo 3:

Desarrolle un algoritmo que lea N nmeros y calcule su cuadrado.


Este ejemplo empieza en 1 y termina en N (FINAL) con incrementos de 1, por
lo tanto NO SE CONOCE EL FINAL del ciclo (SE DEBE LEER):

INICIO
LEER FIN
PARA (X=1, FIN, 1)
LEER NUM
CUAD = NUM * 2
IMPRIMIR CUAD
FIN-PARA
FIN

Tenga muy presente cul va a ser el incremento a utilizar, porque dependiendo


de l, el algoritmo puede tener xito o no. Por ejemplo, si en el ejercicio anterior
se coloca incrementos de 2, el ciclo no se har para 100 nmeros sino para 50,
y eso no es lo que solicita el algoritmo.

Ejemplo 4:

Lea la edad de un estudiante e imprima si es mayor de edad o no.

INICIO
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
FIN

Ejemplo 5:

Lea la edad de 50 estudiantes e imprima de cada uno si es mayor de edad o


no.

INICIO
PARA (EST=1, 50, 1)
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
FIN-PARA
FIN
Ejemplo 6:
Lea la edad de N estudiantes e imprima a cada uno si es mayor de edad o no.

INICIO
LEER N
PARA (EST=1, N, 1)
LEER EDAD
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
FIN-PARA
FIN

3.2. Ciclo MIENTRAS

Este ciclo empieza con la palabra MIENTRAS o se pone su abreviatura MQ


(Mientras Que). Al igual que el ciclo PARA, necesita de una variable que tiene
un INICIO, un FIN y un INCREMENTO. Pero a diferencia del ciclo anterior,
estos datos van en distintas lneas. Este ciclo tambin tiene un fin de
estructura: FIN-MIENTRAS o FIN-MQ. Existen tres tipos de ciclos MIENTRAS:
Cuando se conoce el nmero de veces que se va repetir el ciclo, cuando el
ciclo se va a realizar N veces y cuando no se conoce el nmero de veces que
se va a repetir el ciclo.

3.2.1. Ciclo Mientras (conociendo el nmero de veces que se repite)

Tiene la misma definicin de un ciclo PARA de este tipo. La sintaxis es la


siguiente:

VAR=INICIO
MIENTRAS QUE (VAR<=FIN)
Instrucciones que se repiten
VAR=VAR+INCREMENTO
FIN-MIENTRAS

3.2.2. Ciclo Mientras (con registro identificador)

Son los mismos conceptos y ejemplos de un ciclo que va hasta N. Est


estructura es tambin conocida como MIENTRAS con REGISTRO
IDENTIFICADOR. La sintaxis es la siguiente:

LEER FIN
VAR=INICIO
MIENTRAS QUE (VAR<=FIN)
Instrucciones que se repiten
VAR=VAR+INCREMENTO
FIN-MIENTRAS

3.2.3. Ciclo Mientras (con registro centinela)


Estructura muy diferente a las dos anteriores. En este ciclo no se conoce el
nmero de veces que se van a repetir las instrucciones. Tambin conocido
como Ciclo MIENTRAS CON REGISTRO CENTINELA. Un ejemplo de este
Ciclo puede ser: Realizar un algoritmo para un grupo de estudiantes, una
cantidad de empleados o varios nmeros. Aqu se sabe que se van a realizar
varias veces las instrucciones pero no dicen cuantas veces.

LEER VAR
MIENTRAS QUE (VAR<>VALORD)
Lea las otras variables
Instrucciones que se repiten
LEER VAR
FIN-MIENTRAS

Observe que en los dos primero casos el ejercicio es bsicamente el mismo;


pero tiene una variacin radical en el tercero. Porque en ste hay que leer una
variable de las que se van a usar dentro del algoritmo antes del ciclo (no es
como en los casos anteriores donde se creaba otra variable controladora para
el ciclo, distinta a las que se van a leer), luego va el ciclo con una condicin con
una variable VALORD, el cual es un valor desconocido que el programador
determinar para la culminacin del ciclo. Posteriormente se leen las dems
variables, si las hay. Se ponen las instrucciones que se van a realizar y por
ltimo, antes de cerrar el ciclo, se vuelve a leer la variable que se us como
registro centinela.

Ejemplo 1:
Calcular el cuadrado y el cubo de 50 nmeros.

INICIO
X=1
MIENTRAS QUE (X<=50)
LEER NUM
CUAD = NUM * 2
CUBO = NUM * 3
IMPRIMIR El cuadro es: , CUAD
IMPRIMIR El cubo es: , CUBO
X=X+1
FIN-MIENTRAS
FIN

Ejemplo 2:
Calcular el cuadrado y el cubo de N nmeros.

INICIO
LEER N
X=1
MIENTRAS QUE (X<=N)
LEER NUM
CUAD = NUM * 2
CUBO = NUM * 3
IMPRIMIR El cuadro es: , CUAD
IMPRIMIR El cubo es: , CUBO
X=X+1
FIN-MIENTRAS
FIN

Como puede observar en el enunciado del Ejemplo1 y Ejemplo2 se sabe la


cantidad de nmeros que se van a leer (50 y N), mientras que en el Ejemplo3
no. Por lo tanto observe como se haran estos ejemplos con ciclo MIENTRAS.

Ejemplo 3:
Calcular el cuadrado y el cubo de una cantidad de nmeros.

INICIO
LEER NUM
MIENTRAS QUE (NUM < > 0)
CUAD = NUM * 2
CUBO = NUM * 3
IMPRIMIR El cuadro es: , CUAD
IMPRIMIR El cubo es: , CUBO
LEER NUM
FIN-MIENTRAS
FIN

Como en el Ejemplo3 slo hay una variable que es el nmero (NUM). Esa
variable se tiene que leer antes del ciclo y dentro del ciclo mientras se puso la
condicin para terminar el ciclo NUM < > 0, por tal motivo, se leern nmeros
hasta que se lea un nmero igual a 0. Esta condicin es determinada por usted,
por tal motivo se pudo poner una condicin NUM >= 0, por lo que el programa
leer hasta que se lea un nmero negativo.

Ejemplo 4:
Lea la edad, el nombre y el telfono de los estudiantes del segundo semestre
de sistemas (36) e imprima si es mayor de edad o no.

INICIO
CE=1
MIENTRAS QUE (CE<=36)
LEER EDAD, NOM, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
X=X+1
FIN-MIENTRAS
FIN

Ejemplo 5:
Lea la edad, el nombre y el telfono de los X estudiantes del segundo semestre
de sistemas e imprima si es mayor de edad o no.

INICIO
CE=1
LEER X
MIENTRAS QUE (CE<=X)
LEER EDAD, NOM, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
X=X+1
FIN-MIENTRAS
FIN

Ejemplo6:
Lea la edad, el nombre y el telfono de los estudiantes del segundo semestre
de sistemas e imprima si es mayor de edad o no. (Haga mientras hasta que no
se lea un nombre igual a * ).

INICIO
LEER NOM
MIENTRAS QUE (NOM < > * )
LEER EDAD, TEL
SI (EDAD >= 18) ENTONCES
IMPRIMIR ES MAYOR DE EDAD
SINO
IMPRIMIR NO ES MAYOR DE EDAD
FIN-SI
LEER NOM
FIN-MIENTRAS
FIN

Das könnte Ihnen auch gefallen