You are on page 1of 10

Dr.

Jess Carrillo Ahumada


Estructuras algortmicas repetitivas
Programacin Estructurada

1.1 Introduccin

Es comn encontrar en la prctica algoritmos cuyas operaciones se deben ejecutar un
nmero repetido de veces. Si bien las instrucciones son las mismas los datos sobre los que se
opera varan. El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo.
Todo ciclo debe terminar de ejecutarse luego de un nmero finito de veces por lo que es
necesario en cada interaccin del mismo, evaluar las condiciones necesarias para decidir si se
debe seguir ejecutndose o si debe detenerse. En todo ciclo, siempre debe existir una condicin
de parada o fin de ciclo.
En algunos algoritmos podemos establecer a prior que el ciclo se repetir un numero
definido de veces. Es decir, el nmero de repeticiones no depender de las proposiciones dentro
del ciclo. Se llamar repetir a la estructura algortmica repetitiva que se ejecuta un nmero
definido de veces.
Por otra parte, en algunos algoritmos no podemos establecer a priori el nmero de veces
que ha de ejecutarse el ciclo, sino que este nmero depender de las proposiciones dentro del
mismo. Se llamara mientras a la estructura algortmica repetitiva que se ejecutar mientras la
condicin evaluada resulta verdadera.

1.2 La estructura repetitiva repetir (FOR)

La estructura repetir conocida comnmente como FOR, es la estructura algortmica
adecuada para utilizar en un ciclo que se ejecutar un nmero definido de veces. Este tipo de
estructura est presente en todos los lenguajes de programacin ya sean estructurados u
orientados a objetos. Por ejemplo cuando necesitamos calcular la nmina total de una empresa,
tenemos que sumar los sueldos de N empleados de la misma. Cuando necesitamos obtener el
promedio de calificaciones de un curso debemos sumar las N calificaciones de los alumnos y
dividir esa suma entre N. Es decir, sabemos de antemano cuantas veces tenemos que repetir una
determinada operacin, accin o tarea. El nmero de veces se obtiene del planteamiento del
problema o de una lectura que indica que el nmero de iteraciones se debe realizar para N
acciones.

El diagrama de flujo de la estructura algortmica repetir es la siguiente

Donde:
V: Es la variable de control de ciclo
VI: Es el valor inicial
VF: Es el valor final
ID: Es el incremento o decremento

V (contador del ciclo, generalmente representado por las letras I , J , K, V) toma un
valor inicial y se compara con VF (valor final). El ciclo se ejecutara mientras V es menor, menor
igual que el valor de VF. El valor de V se incrementa en cada iteracin. Cuando V supera el valor
de VF entonces el ciclo se detiene. Observar la modificacin introducida al smbolo de la decisin
(doble lnea en parte superior izquierda) en la estructura repetir, esto diferencia con la estructura
repetitiva mientras.
En pseudocdigo se tiene:

.
.
.
Hacer V<-VI
Repetir con V desde VI hasta VF
.
.
.
{proceso}
.
.
.
Hacer V<-V+INC
{Fin del ciclo}

Ejemplo resuelto de repetitiva repetir (FOR)

Disear un programa que utilizando como datos los sueldos de 10 trabajadores en una
empresa, obtenga el total de nmina de la misma. Considere adems que no se puede utilizar
estructuras algortmicas repetitivas en la solucin del problema.

Datos: SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, SUE7, SUE8, SUE9, SUE10

Donde: SUE1, SUE2,, SUE10 son variables por lo tanto SUEi es una variable de tipo real que
representa el sueldo del trabajador i (1 10).

El diagrama de flujo es el siguiente:



Explicacin de las variables:

i
Es una variable de tipo entero que representa la variable de control del ciclo. Contabiliza
el nmero de veces que ha de repetirse una determina accin. El contador toma un valor inicial
(genera una determinada accin. El contador toma un valor inicial (generalmente 0 1) y se
incrementa en la mayora de los casos en una unidad en cada vuelta del ciclo.
NOMINA
Es una variable de tipo real que representa un acumulador. Este se utiliza cuando
debemos obtener el total acumulado de una conjunto de cantidades. Generalmente se inicia con
un cero.
SUE
Es una variable de tipo real. Representa el sueldo del trabajador.

El ejemplo resuelto de repetitiva repetir (FOR) en pseudocdigo es:

{El programa calcula el total de la nmina de un grupo de 10
empleados}
{i es una variable de tipo entero. SUE y NOMINA son variables de
tipo real}

1. Hacer NOMINA<-0 e i<-1
2. Repetir con i desde 1 hasta 10
Leer SUE
Hacer NOMINA<-NOMINA+SUE e i<-i+1
3. {Fin del ciclo del paso 2}
4. Escribir NOMINA

El ejemplo resuelto en pseudocdigo utilizando PSeInt:
Proceso ESREP_FOR_1

ESCRIBIR "PROGRAMA QUE CALCULA LA NOMINA TOTAL AL INGRESAR UN
NMERO";
ESCRIBIR "DETERMINADO DE SALARIOS";
ESCRIBIR " ";

DEFINIR NOMINA,SUE Como Real;
DEFINIR I,VF Como Entero;

NOMINA<-0;
I<-1;

ESCRIBIR "INGRESE EL NUMERO DE SALARIOS A CONTAR";
LEER VF;

Repetir
ESCRIBIR "INGRESE EL SALARIO DEL TRABAJADOR";
LEER SUE;
NOMINA<-NOMINA+SUE;
I<-I+1;
Hasta Que I>VF;
ESCRIBIR "LA NOMINA TOTAL ES:",NOMINA;
FinProceso
1.2 La estructura repetitiva mientras (WHILE)

La estructura algortmica mientras, comnmente conocida como while es la estructura
adecuada para utilizar en un ciclo cuando no sabemos el nmero de veces que ste se ha de
repetir. Dicho nmero depende de las proposiciones dentro del ciclo.

Ejemplos en la vida cotidiana se encuentran: supongamos que tenemos que obtener el
total de una serie de gastos, pero no sabemos exactamente cuntos son; o cuando tenemos que
obtener el promedio de calificaciones de un examen, pero no sabemos precisamente a cuantos
alumnos se le aplicaron. Tenemos que sumar las calificaciones e ir contando el nmero de
alumnos, esto con el fin de poder obtener posteriormente el promedio. El ciclo se repite mientras
tengamos calificaciones de alumnos.

La estructura mientras se distinguen dos partes:
Ciclo: Conjunto de instrucciones que se ejecutaran repetidamente.
Condicin de terminacin: La evaluacin de esta condicin permite decidir cundo
finalizar la ejecucin del ciclo. La condicin se evala al inicio del mismo.
El diagrama de flujo de la estructura algortmica mientras es el siguiente:

Debe existir tambin un enunciado dentro del ciclo que afecte la condicin, para evitar
que el ciclo se ejecute indefinidamente.

La estructura mientras en pseudocdigo es:
.
.
.
Hacer PI<-Proposicin inicial
Mientras PI es verdadero repetir
.
.
.
.
{PROCESO}
.
.
.
Hacer PI<- modificacin de PI
{Fin de ciclo}

Ejemplo resuelto de estructura repetitiva mientras (WHILE)

Suponer que se debe obtener la suma de los gastos que hicimos en nuestro ltimo viaje
de vacaciones, pero no sabemos exactamente cuntos gastos fueron. Los datos son expresados
de la forma:

Datos: GASTO
1
, GASTO
2
,, -1
Donde:
GASTO
i
Es una variable de tipo real que representa el gasto numrico i


Explicacin de las variables

SUMGAS: Es una variable de tipo real. Es un acumulador. Acumula los datos efectuados.
GASTO: Es una variable de tipo real. Su valor en la primera lectura debe ser verdadero,
es decir distinto a -1. Su valor se modifica cada vuelta del ciclo. Cuando gasto
tome el valor de -1 entonces el ciclo se detendr

NOTA
Observar que en este tipo de problemas se deber realizar dos lecturas, una antes de
iniciar el ciclo y otra antes de finalizar el mismo.

La estructura del programa en pseudocdigo del ejemplo de estructura repetitiva
mientras (WHILE) es:

{El programa obtiene el total de gastos de un viaje}
{Gastos y SUMGAS son variables de tipo real}
1. Hacer SUMGAS<-0
2. Leer GASTO
3. Mientras GASTO<>-1 Repetir
Hacer SUMGAS<-SUMGAS+GASTO
Leer GASTO
4. {Fin de ciclo del paso 3}
5. Escribir SUMGAS

La estructura del programa en pseudocdigo utilizando PSeInt es:
Proceso CAL_VIAJE

ESCRIBIR "**************************************************************";
ESCRIBIR " ";
ESCRIBIR " ","PROGRAMA QUE CALCULA EL TOTAL DE GASTOS DE UN VIAJE";
ESCRIBIR " ";
ESCRIBIR " ","PROGRAMACIN ESTRUCTURADA";
ESCRIBIR " ";
ESCRIBIR "**************************************************************";
ESCRIBIR " ";
ESCRIBIR "INGRESE GASTO EN UN VIAJE";

DEFINIR GASTO,SUMGAS COMO REAL;

LEER GASTO;

SUMGAS<-0;

Mientras GASTO<>-1 Hacer
ESCRIBIR "INGRESE EL GASTO EN UN VIAJE";
SUMGAS<-SUMGAS+GASTO;
LEER GASTO;
FinMientras

ESCRIBIR "LA SUMA TOTAL DE GASTOS ES:", SUMGAS;

FinProceso
Preguntas.

1.- Segn el documento Qu semejantes estructurales, y de identificadores presentan las
estructuras repetir (for) y mientras (while)?

2.- Utilizando el PSeInt. Programar el Proceso CAL_VIAJE pero utilizando la estructura repetir.
Guardar como U2_ESTREPW_1_CLAVE_XY en psc y jpg

3.- Utilizando el PSeInt. Programar el Proceso CAL_VIAJE con la estructura mientras (while) pero
que al ingresar ya sea un salario de 1000, 2000, 3000 se termine el ciclo (esto en un solo
programa).
Guardar como U2_ESTREPW_2_CLAVE_XY en psc y jpg

Enviar la pregunta 1 contestadas al correo del profesor (en ningn documento adjunto).
y los programas con su respectiva extensin en un solo correo.

Con titulo y/o asunto: U2_CUESREP2_CLAVE_XY, U2_ESTREPW_1_CLAVE_XY,
U2_ESTREPW_2_CLAVE_XY


Donde:
CLAVE:
CQIA, para alimentos
IB, para biotecnologa


XY: Iniciales de la pareja de trabajo

You might also like