You are on page 1of 5

Estructuras Algortmicas Repetitivas.

Programacin de Perifricos.
Septiembre de 2016.
En la prctica, durante la solucin de problemas, es muy comn encontrar, operaciones que se
deben ejecutar un nmero determinado de veces. Si bien las instrucciones son las mismas, los datos
varan. El conjunto de instrucciones que se ejecuta repetidamente recibe el nombre de ciclo.
Todo ciclo debe terminar luego de repetirse un nmero finito de veces. Dentro del conjunto de
instrucciones siempre debe existir una condicin de parada o fin de ciclo. En cada iteracin del mismo
son evaluadas las condiciones necesarias para decidir si se debe seguir ejecutando o si debe detenerse.
En algunos algoritmos podemos establecer de antemano el nmero de veces que se debe repetir
el ciclo. En este caso, el nmero de repeticiones no depende de las proposiciones dentro del ciclo. La
estructura algortmica repetitiva for se utiliza para resolver problemas en los que conocemos el nmero
de veces que se debe repetir el ciclo.
Por otra parte, en algunos algoritmos no podemos establecer de antemano el nmero de veces
que se debe repetir el ciclo. Este nmero depende de las proposiciones que contenga el mismo. La
estructura repetitiva while se utiliza para resolver problemas de este tipo.
Otra estructura algortmica es do-while. A diferencia de las estructuras anteriores en las que las
condiciones se evalan al principio del ciclo, en sta se evalan al final. Esto implica que el conjunto
de instrucciones se ejecuta al menos una vez. El do-while es una estructura de menor inters que las
anteriores y slo se debe utilizar en ciertos casos, como en la validacin de datos de entrada.
La Estructura Selectiva Simple for.
Utilizada para repetir un conjunto de instrucciones un nmero definido de veces. Este tipo de
estructura se encuentra prcticamente en todo los lenguajes de programacin.
Es muy similar a la estructura while. Sin embargo, slo aplicaremos la estructura for en aquellos
problemas en los que se conozca previamente el nmero de veces que se debe repetir el ciclo. La
estructura while, por otra parte, slo se utilizar en la solucin de aquellos problemas en los que el
nmero de veces que se debe repetir el ciclo dependa de las proposiciones que contenga el mismo. Su
diagrama de flujo es:

Estructuras Algortmicas Repetitivas.


Programacin de Perifricos.
Septiembre de 2016.

En el lenguaje C, la estructura repetitiva for se escribe de la siguiente forma:

for (V = VI; V(<,<=,>,>=) VF; V = V(+,-) ID)


{
proceso; // cuerpo de la estructura for
}
Ejemplo 1: escribir un programa en C que, al recibir como datos los salarios de 15 profesores de una
universidad, obtenga el total de la nmina.
#include <stdio.h>
void main (void)
{
int I;
flota SAL, NOM;
NOM = 0;
for(I=1; I<=15; I++)
{
printf(Ingresa el salario del profesor %d:, I);
scanf(%f,&SAL);
NOM = NOM + SAL;
}
printf(El total de la nmina es: , NOM);
}
Ejemplo 2: escribe un programa en C que, al recibir como datos N nmeros enteros (definidos por el
usuario), obtenga solamente la suma de los nmeros positivos.
La Estructura Repetitiva while.
Permite repetir un conjunto de instrucciones. Sin embargo, el nmero de veces que se debe
repetir depende de las proposiciones que contenga el ciclo. Cada vez que corresponde iniciar el ciclo se

Estructuras Algortmicas Repetitivas.


Programacin de Perifricos.
Septiembre de 2016.
evala una condicin, si sta es verdadera (diferente de cero) se contina con la ejecucin, de otra forma
se detiene. El diagrama de flujo es el siguiente:

En el lenguaje C se escribe de la siguiente forma:

PI = proposicin inicial;
while(PI)
{
proceso;
...
PI = modificacin de PI;
...
}
Ejemplo 1: escribe un programa en C que, al recibir como datos los pagos efectuados en el ltimo mes,
permita obtener la suma de los mismos.
#include <stdio.h>
void main (void)
{
float PAG, SPA;
SPA = 0;
printf(Ingresa el primer pago: );
scanf(%f,&PAG);
while(PAG)
{
SPA = SPA + PAG;
printf(Ingresa el siguiente pago: \t );
scanf(%f,&PAG);
}
printf(\n El total de pagos del mes es: %.2f,SPA);
}

Estructuras Algortmicas Repetitivas.


Programacin de Perifricos.
Septiembre de 2016.
Ejemplo 2: escribe un programa en C que, al recibir como datos un grupo de nmeros naturales
positivos, calcule el cuadrado de estos nmeros. Imprime el cuadrado del nmero y al final la suma de
los cuadrados.
La Estructura Repetitiva do-while.
A diferencia de las estructuras for y while, en las cuales las condiciones se evalan al principio
del ciclo, en sta se evalan al final. Esto implica que el ciclo se debe ejecutar por lo menos una vez.
La estructura es adecuada cuando no sabemos el nmero de veces que se debe repetir un ciclo,
pero conocemos que se debe ejecutar por lo menos una vez. Es decir, se ejecuta el conjuntos de
instrucciones una vez, y luego cada vez que corresponde iniciar nuevamente el ciclo se evalan las
condiciones, siempre al final del conjunto de instrucciones. Si es resultado es verdadero (diferente de
cero) se contina con la ejecucin, de otra forma se detiene.
A continuacin su diagrama de flujo,

En el lenguaje C, la estructura repetitiva do-while se escribe de esta forma:

do
{
proceso; // Cuerpo de la estructura do-while.

modificacin de P;
}
while(P); // P debe tener un valor verdadero para que el ciclo se vuelva
// a ejecutar.

Ejemplo 1: escribe un programa en C que resuelva el problema del ejemplo 1 de la estructura while
aplicando la estructura do-while. Suponiendo que debemos obtener la suma de los pagos realizados en
el ltimo mes, pero no sabemos exactamente cuntos fueron.
#include <stdio.h>
void main (void)
{
float PAG, SPA=0;

Estructuras Algortmicas Repetitivas.


Programacin de Perifricos.
Septiembre de 2016.
printf(Ingresa el primer pago: \t);
scanf(%f,&PAG);
// Observa que al utilizar la estructura do-while al menos se necesita un pago.
do
{
SPA = SPA + PAG;
printf(Ingresa el siguiente pago: - 0 para terminar - :\t );
scanf(%f,&PAG);
}
while(PAG);
printf(\n El total de pagos del mes es: %.2f,SPA);
}
La estructura repetitiva do-while, tiene una menor importancia que las estructuras for y while.
Sin embargo, se puede utilizar de manera eficiente para verificar los datos de entrada del programa.
Ejemplo 2: escribe un programa en C que, al recibir como datos los N lanzamientos de un pitcher
profesional de bisbol, calcule el promedio de dichos lanzamientos (millas / hora).

You might also like