Documente Academic
Documente Profesional
Documente Cultură
Las estructuras repetitivas (llamadas tambin bucles) se utilizan para realizar varias veces el mismo conjunto
de operaciones. Dentro de ellas encontramos aquellas donde la cantidad repeticiones se manejan por un n-
mero, las que se realizan hasta que se cumple cierta condicin.
Bucle For
Ejemplos:
a) Hacer un programa que imprima los nmeros de 5 hasta 28.
Pseudocdigo del programa
nombre repeticin1(program);
declaraciones (uses)
Crt, Dos;
constantes(const)
A = 5;
B = 28;
variables (var)
R (resultado de la oper.): entero
funciones(function)(NO hay);
procedimientos (procedure);
inicio (begin);
limpieza(limpia la pantalla);
ciclo (hace ciclo e imprime);
salida
fin(end.)
Pgina 1 de 9
Pseudocdigo del ciclo
procedimiento ciclo
inicio (begin);
desde R= A hasta B hacer
imprimo R
fin(end;)
El cdigo del procedimiento es:
Program Repeticion_1;
{* Este es el primer programa con estructuras de repeticion *}
uses
crt, dos; {declaraciones}
const {* constantes *}
A = 5;
B = 28;
var
R: integer; {* controla el ciclo *}
Pgina 2 de 9
Pseudocdigo del programa
nombre repeticin2(program);
declaraciones (uses)
Crt, Dos;
constantes(const)
A = 1;
B = 7;
variables (var)
R, Fac (resultado de la oper.): entero
procedimientos (procedure);
inicio (begin);
limpieza(limpia la pantalla);
ciclo2 (hace ciclo e imprime);
salida
fin(end.)
algoritmo ciclo
Pseudocdigo del ciclo
procedimiento ciclo
inicio (begin);
desde R= A hasta B hacer
Fac Fac * R
imprimo Fac
fin_desde
fin(end;)
Como se puede ver dentro del ciclo se hace dos procesos, el clculo del factorial y la impresin del resultados
quedndonos este algoritmo estructurado.
El cdigo del procedimiento es:
procedure ciclo; {* comienzo el ciclo *}
begin
Fac := 1;
for R := A to B do {* se define el ciclo A *}
begin
Fac := Fac * R; {* Calcula factorial *}
writeln ('Numero : ',R, ' Factorial : ',Fac );
{* imprime salida numero y factorial *}
end
end; {* fin del ciclo *}
Se necesit colocar un begin y un end para definir comienzo y fin del ciclo, ya que el mismo tiene ms de
una instruccin. Fac se define igual a uno, porque sino el producto nos daria siempre 0 (cero).
Program Repeticion_2;
{* Este es el segundo ejemplo de For *}
uses
crt, dos; {declaraciones}
const {* constantesr *}
A = 1;
B = 7;
var
R, Fac : integer; {* controla el ciclo *}
begin
limpieza;
ciclo;
salida;
end.
Los ciclos cumplen con las mismas reglas que las opciones tiene ms de una instruccin el ciclo deber
llevar un begin con su correspondiente end cuando se tenga ms de una instruccin..
Si fuera B > A el for seria
for K = A donwto B do
Ejemplo :
Se pide un programa donde ingresan una serie de nmeros, el ltimo es un valor negativo. Se
pide calcular el promedio de los valores positivos (no incluir el ltimo valor), e imprimir los valores y su pro-
medio.
En este caso tenemos que pautar si el ltimo valor lo imprimimos o no. (si optamos por imprimirlo), esto
implicar el siguiente pseudocdigo.
Pseudocdigo del ciclo
procedimiento ciclo
inicio (begin);
N0
S0
leo A
imprimo A
mientras A >= 0 hacer
Pgina 4 de 9
comenzar
SS+A
NN+1
leo A
imprimo A
terminar
fin(end;)
Como se puede ver dentro del ciclo se hace dos procesos, el clculo del factorial y la impresin del resultados
quedndonos este algoritmo estructurado.
uses
crt, dos; {declaraciones}
begin
limpieza;
ciclo;
promedia;
salida;
end.
Repeat : Cuando el ciclo debe incluir el ltimo valor ingresado ya que la pregunta se hace al final del ciclo.
Ejemplo :
Se ingresan una serie de nmeros distintos, el ltimo es el valor 12. Se pide un programa que
calcule el promedio de los valores (incluir el ltimo valor), e imprimir los valores y su promedio.
uses
crt, dos; {declaraciones}
var
A, N, S : integer; {* controla el ciclo *}
Prom :real;
begin
limpieza;
ciclo;
Pgina 7 de 9
promedia;
salida;
end.
La estructura repeat carece de begin y end, ya que los dos extremos estn definidos por el propio ciclo.
Pgina 8 de 9
Problemas sobre Estructuras Repetitivas
1. Leer una lista de 10 valores enteros. Calcular e informar:
a) La suma de los valores positivos.
b) El producto de los valores negativos.
(Ignorar los valores nulos)
2. a) Ingresar 5 juegos de cuatro valores cada uno. Calcular y emitir. El promedio de cada juego.
b) Ingresar N juegos de cuatro valores cada uno. Calcular y emitir. El promedio de cada juego. El proceso
finaliza al encontrarse un juego cuyo primer valor es 0.
3. Ingresar dos nmeros enteros positivos y calcular el producto de los mismos por sumas sucesivas.
4. Leer una lista de nmeros positivos que finaliza en 0 y emitir el valor mnimo de la lista.
5. Leer una lista de nmeros enteros que finaliza en 0 y emitir el valor mximo de la lista.
6. dem 5, emitiendo adems la ubicacin del mximo dentro de la lista. (Suponer un nico mximo).
7. Leer 4 juegos de N valores enteros cada uno, donde N se informa al comienzo de cada juego, y emitir el
valor mximo de cada grupo. (Suponer un nico mximo ).
8. Dada una lista de valores numricos positivos, finalizada en 0, indicar si esta ordenada en forma ascen-
dente.
9. Una empresa nos informa para cada uno de sus 20 vendedores:
cdigo de vendedor : 3 dgitos
importe de ventas del mes : real
Se desea emitir el importe mximo de ventas del mes y cuntos vendedores alcanzaron dicho importe.
10.En una Central Telefnica se procesan los llamados realizados en la siguiente forma:
Por cada llamada se ingresa:
cdigo de llamada : 3 dgitos (0 al finalizar el proceso)
tipo de da : 1 hbil, 2 feriado
duracin de la llamada : entero > 0.
Siendo los importes Primeros 3 Minuto Adicional
Das hbiles a 10 a 2
Feriados a 15 a 3
Se deber emitir:
a) El importe a abonar por cada llamada (cdigo - importe).
b) La cantidad de llamadas que superen los 3
c) El % de llamados que superan los 3 (sobre el total de llamadas informadas).
11.Se leen 30 valores enteros (comprendidos entre 5 y 40), que representan la temperatura mxima de cada
uno de los das de un mes.
Se pide hallar e informar:
- La temperatura mxima del mes y el da que se produjo. (Se supone nica)
- Cuntos das la temperatura supero los 25 C.
- El promedio de las temperaturas mximas del mes.
12.Se ingresan los resultados de la evaluacin de un curso de Programacin; por cada alumno se informa:
nmero de matricula : 4 dgitos (1-9999)
asistencia : 1, presente; o, ausente
calificacin : 2 dgitos (0-10).
A partir de esta informacin se debe calcular e informar:
a) Cantidad y % de alumnos presentes.
b) Promedio de calificaciones de alumnos presentes.
c) % de alumnos aprobados (sobre el total de alumnos presentes).
d) Numero de matricula del alumno de mayor calificacin. (Si hay varios alumnos con esa calificacin: nu-
mero de matricula y cantidad de alumnos en esa situacin).
Pgina 9 de 9