You are on page 1of 8

UNIVERSIDAD NACIONAL EXPERIMENTAL

FRANCISCO DE MIRANDA
COMPEJO ACADMICO EL SABINO
DEPARTAMENTO DE GERENCIA

GUA NRO. 4 DE INFORMTICA


PROFESORA NORKYS MEDINA

ESTRUCTURAS DE CONTROL REPETITIVAS

Las

computadoras estn

especialmente

diseadas

para

ejecutar

tareas

repetidamente. Las estructuras de control repetitivas son aquellas en las que


una instruccin o grupo de instrucciones se repiten muchas veces.
Una estructura de control que permite la repeticin de una serie determinada de
instrucciones se denomina ciclo (lazo o ciclo). El cuerpo del ciclo contiene las
instrucciones que se repiten.
La accin o acciones que se repiten en un ciclo se denominan el cuerpo del ciclo,
y cada repeticin del cuerpo del ciclo se denomina iteracin.
Para poder entender cmo funciona un proceso repetitivo, se necesita conocer el
concepto de dos expresiones: acumulador y contador .
Contador: es una variable cuyo valor se incrementa o decrementa en una
cantidad constate o fija en cada iteracin. La forma de representar un contador es:
Contador = contador + 1
Contador = contador - 1

Esta expresin debe interpretarse como: asignar a la variable contador el valor


que tena anteriormente ms o menos una, dependiendo del caso, si se quiere
incrementar o decrementar

Nota: en todo contador es necesario que exista una instruccin que inicializa la
variable que va a tener la funcin de contador y esta variable puede ser cualquier
identificador.
Ejemplo 1: Contador que incrementa de uno en uno. En este caso la variable que
funciona como contador se llama contador
Contador = 1
Contador = contador + 1

Inicializacin de la
variable Contador en
0.

Ejemplo 2. Contador que decrementa de uno en uno. En este caso la variable que
funciona como contador se llama cont
Cont = 10

Inicializacin de la
variable Cont en

Cont = cont - 1
Ejemplo 3. Contador que se incrementa de dos en dos. En este caso la variable
que funciona como contador se llama c.
C = 36
C = contador + 2

Inicializacin de
la variable C en
36.

Ejemplo 4. Contador que se decrementa de cinco en cinco. En este caso la


variable que funciona como contador se llama cont

Cont = 60

Inicializacin de la
variable Cont en 60.

Con = Cont - 5

Acumulador: es una variable cuya misin es almacenar cantidades variables.


Realiza la misma funcin que un contador pero con la diferencia de que el
incremento o decremento es variable y no constante como el contador. La forma
de representar el acumulador es:
Acumulador = Acumulador + ValorVariable

Nota: en todo acumulador es necesario que exista una instruccin que inicializa la
variable que va a tener la funcin de acumulador y esta variable puede ser
cualquier identificador.
Ejemplo 5.

Calcular el promedio de notas de 10 alumnos, primero debemos

utilizar una variable acumulador para ir sumando las 10 notas (cantidades


variables) y luego dividir este valor entre diez. La variable S va a tener la funcin
de ser acumulador.
Solucin:
S = 0;

Inicializacin de la variable (acumulador) en 0.

Escribir('Introduzca nota: ');


Leer (nota);
S = S + nota;

Calcular Prom = S/ 10

Estas tres instrucciones van


dentro de un ciclo repetitivo
(son 10 notas).

Instruccin para hallar el promedio

ESTRUCTURA REPETITIVA MIENTRAS..HACER (WHILE)


La estructura repetitiva mientras es aquella en la que el nmero de iteraciones no
se conoce por anticipado y el cuerpo del ciclo se repite mientras se cumple una
determinada condicin. Por esta razn a estos ciclos se les denomina ciclos
condicionales.
Mientras (condicin) hacer
Instruccin 1;
Mientras (condicin) hacer
Inicio
Instruccin 1;
Instruccin 2;
:
Instruccin N
Fin

Para el caso de una


sola instruccin

Para el caso de varias


instrucciones.
Se
encierran entre Inicio
y Fin

Ejemplo 6. Calcular la suma de una lista de nmeros enteros ingresados por el


usuario
Algoritmo SUMAR;
Declaracin de variables
n, num, cont, sum: entero;
Inicio
Escribir('Introduzca la cantidad de nmeros que desea sumar: ');
Leer(N);
cont = 0;
sum = 0;
Mientras (cont < N) hacer
Inicio
Escribir('Introduzca nmero: ');
Leer (num);
sum = sum + num;
cont = cont + 1
Fin;
Escribir ('La suma de los ',N,' nmeros es: ',suma)
Fin.

Al implementar este cdigo en un lenguaje de programacin, por ejemplo: Pascal,


este sera el resultado en pantalla, al ejecutarlo.
Introduzca la cantidad de nmeros que desea sumar: 5
Introduzca nmero: 12
Introduzca nmero: 10
Introduzca nmero: 4
Introduzca nmero: 23
Introduzca nmero: 11
La suma de los 5 nmeros es: 60

Cuando la instruccin mientras se ejecuta, el primer paso es la evaluacin de la


expresin lgica. Si el resultado es falso, ninguna accin se realiza y el algoritmo
prosigue en la siguiente instruccin despus del ciclo. Si la expresin lgica se
evala a verdadera, entonces se ejecuta las instrucciones contenidas dentro del
cuerpo del ciclo y se evala de nuevo la expresin. Este proceso se repite
mientras que la expresin lgica sea verdadera.
Despus de cada iteracin, la expresin lgica se evala y se verifica de nuevo, y
si es verdadera, el ciclo se repite de nuevo; si cambia de verdadera a falsa, la
instruccin mientras finaliza y el algoritmo prosigue en la siguiente instruccin.
Ejemplo 7. Disear un algoritmo que lea N nmeros reales e indique cuntos de
ellos son positivos, negativos y cero. Adems de ello, que muestre al final el
resultado de la suma de todos los nmero ledos.
Algoritmo NUMEROS;
Declaracin de variables
N, contP, contN, contC, suma, cont: entero;
numero: real;
Inicio
contP = 0;
contN = 0;
contC = 0;
cont = 1;
suma = 0;
Escribir('Introduzca la cantidad de nmeros: ');
Leer(n);
Mientras cont<= n hacer
Inicio
Escribir('Introduzca nmero: ');
leer(numero);
Si numero > 0 entonces

El nmero es positivo
5

contP = contP +1
sino
si numero < 0 entonces

El nmero es negativo

contN = contN +1
sino

El nmero es cero

contC = contC +1;


suma = suma + numero;
Fin;
Escribir (Cantidad de nmeros positivos, contP);
Escribir (Cantidad de nmeros negativos, contN);
Escribir (Cantidad de nmeros iguales a cero, contC);
Escribir (La suma de todos los nmeros es: , suma)
Fin

INSTRUCCIN PARA (FOR)


En numerosas ocasiones se desea un ciclo que se ejecute un nmero deseado de
veces, y cuyo nmero de iteraciones se conozca por anticipado. Para este tipo de
aplicaciones se utiliza la instruccin Para.

La instruccin Para requiere que conozcamos por anticipado el nmero de veces


que se ejecutan las instrucciones del interior del ciclo.

El pseudocdigo es el siguiente:
Para cont = valor inicial hasta valor final hacer
Instruccin 1;
Para cont = valor inicial hasta valor final hacer
Inicio
Instruccin 1;
Instruccin 2;
:
Instruccin N
Fin

Para el caso de una


sola instruccin

Para el caso de varias


instrucciones.
Se
encierran entre Inicio
y Fin

Al ejecutarse la instruccin Para la primera vez, el valor inicial se asigna a cont,


que se denomina variable de control, y a continuacin se ejecuta la instruccin del
interior del ciclo. Al llegar al final del ciclo se verifica si el valor final es mayor que
el valor inicial; en caso negativo se incrementa el valor de la variable de control en
uno y se vuelven a ejecutar todas las instrucciones del interior del ciclo, hasta que
la variable de control sea mayor que el valor final, en cuyo momento se termina el
ciclo.
Ejemplo 10.

Hacer la secuencia de instrucciones que permita mostrar los

nmeros del 1 al 10.


Algoritmo MOSTRAR_NUMEROS;
Declaracin de variables
i: entero;
Inicio
Para i = 1 hasta 10 hacer
Escribir (i)
Fin
Fin.

Ejemplo 11. Calcular y mostrar por pantalla los cuadrados y cubos de los 100
primeros nmeros enteros.
Algoritmo CUDRADOS_CUBOS;
Declaracin de variables
i, cuadrado, cubo: entero;
Inicio
Para i = 1 hasta 100 Hacer
Inicio
Cuadrado = i*i;
7

Cubo = i*i*i;
Escribir (i,' ', cuadrado, ' ',cubo)
Fin
Fin.

Reglas

Las variables de control, valor inicial y valor final deben ser todas del mismo
tipo, pero el tipo real no esta permitido. Los valores inicial y final pueden ser
tanto expresiones como constantes.

Es ilegal intentar modificar el valor de la variable de control, valor inicial y el


valor final dentro del ciclo.

Al igual que en las instrucciones de seleccin, las instrucciones repetitivas


se pueden anidar.

Ejercicios propuestos

1. Escribir un algoritmo que calcule la suma de los n primeros nmeros


naturales.
2. Escribir un algoritmo que calcule la suma de los cuadrados de los n primeros
nmeros naturales: 1 + 22 + 32 +42 + .. n2
3. Realizar un algoritmo que calcule el producto de dos nmeros enteros (n*m)
haciendo slo sumas sucesivas.
4. Leer sucesivamente nmeros del teclado, hasta que aparezca un nmero
comprendido entre el 1 y el 5.