Está en la página 1de 7

“ESTRUCTURAS REPETITIVAS”

1. Definición

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


REPETIR una instrucción varias veces. Estas estructuras simplifican el trabajo
considerablemente. También son llamadas CICLOS. Por ejemplo, si un
algoritmo pide que lea uno, dos, tres o cuatro número, resultaría fácil leer una,
dos, tres o cuatro variables; pero si se pide leer 100, 1000 o 1.000.000 de
variables sería imposible su realización, mientras que con las estructuras
repetitivas sería demasiado sencillo.

Los algoritmos se realizan como si fueran a hacer una sola vez (un número, 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 número 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
número 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
también cuando se conoce el número de veces que se repite el ciclo;
pero en ese caso es más funcional el ciclo PARA.

3. Tipos de estructuras repetitivas


Las estructuras más 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 línea, separados por coma (,). Y del mismo modo como un algoritmo o
una estructura de decisión tienen un fin, esta estructura repetitiva también lo
tiene y se llama FIN-PARA. Existen dos tipos de ciclos PARA: Cuando se
conoce el número 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 número 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 número de veces que se va a repetir. Por ejemplo que
se diga: Haga un proceso para 500 estudiantes o para 20 números 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 números 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 demás
variables que intervienen en el algoritmo. En el primer método (cuando se
conoce el número 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 número y calcule su cuadrado.

INICIO
LEER NUM
CUAD=NUM*2
IMPRIMIR CUAD
FIN

Como puede observar en el enunciado del Ejemplo1, sólo se pide leer UN


SOLO número. 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 números 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 NÚMERO 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 números 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 cuál 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 números 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 líneas. Este ciclo también tiene un fin de
estructura: FIN-MIENTRAS o FIN-MQ. Existen tres tipos de ciclos MIENTRAS:
Cuando se conoce el número de veces que se va repetir el ciclo, cuando el
ciclo se va a realizar N veces y cuando no se conoce el número de veces que
se va a repetir el ciclo.

3.2.1. Ciclo Mientras (conociendo el número de veces que se repite)

Tiene la misma definición 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 también 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
número de veces que se van a repetir las instrucciones. También 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 números. 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 básicamente el mismo;


pero tiene una variación 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 condición con
una variable VALORD, el cual es un valor desconocido que el programador
determinar para la culminación del ciclo. Posteriormente se leen las demás
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 números.

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 números.

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 números que se van a leer (50 y N), mientras que en el Ejemplo3
no. Por lo tanto observe como se harían estos ejemplos con ciclo MIENTRAS.

Ejemplo 3:
Calcular el cuadrado y el cubo de una cantidad de números.

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 sólo hay una variable que es el número (NUM). Esa
variable se tiene que leer antes del ciclo y dentro del ciclo mientras se puso la
condición para terminar el ciclo NUM < > 0, por tal motivo, se leerán números
hasta que se lea un número igual a 0. Esta condición es determinada por usted,
por tal motivo se pudo poner una condición NUM >= 0, por lo que el programa
leerá hasta que se lea un número negativo.

Ejemplo 4:
Lea la edad, el nombre y el teléfono 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 teléfono 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 teléfono 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

También podría gustarte