Estructuras Cíclicas-Computación-Prácticas
Estructuras Cíclicas-Computación-Prácticas
Estructuras Cíclicas-Computación-Prácticas
COMPUTACION I
OBJETIVOS.
Codificación de programas utilizando estructuras cíclicas. Simples y anidadas.
PRE-REQUISITOS.
Conocer la estructura de un programa.
Conocer conceptos básicos de estructuras cíclicas
Conocer conceptos de contadores / acumuladores / Banderas o interruptores.
BASE TEÓRICA.
1. Estructuras cíclicas con contador.
Se utilizan para ejecutar un bloque de instrucciones un número conocido de veces. A continuación se muestra el
formato de la estructura en pseudocódigo y en C++. La estructura tiene una variable de control (I) la cual tiene
un valor inicial (ini), un valor final (fin) y un incremento (inc). La variable de control permite vigilar el número de
veces que se va a repetir el bloque de código. Estos tres parámetros se separan con comas (,) en pseudocódigo y
con punto y coma (;) en C++. El ejemplo que se muestra calcula la edad promedio de 10 personas.
Pseudocodigo C++ Ejemplo
repetir_desde(I=ini , I<=fin , I=I+inc) for(I=ini ; I<=fin ; I=I+inc) Suma=0;
inst 1 | { inst 1 for(I=1;I<=10;I=I+1)
inst 2 | inst 2 { cout<<"EDAD: "<<I;
: | BLOQUE : cin>>EDAD;
inst x | inst x Suma=Suma+EDAD;
fin_repetir_desde } }
Promedio=Suma/10;
2. Estructuras cíclicas con condición
Se utilizan para ejecutar un bloque de instrucciones un número de veces que depende de una condición. La
condición puede ser simple o compuesta de varias condiciones simples. En cualquiera de los casos, simple o
compuesta, el resultado de la evaluación solo puede ser CIERTO o FALSO y el ciclo se repite mientras la condición
sea CIERTA. El ejemplo que se muestra calcula la edad promedio de N personas. La cantidad de valores leídos es
variable y el ciclo se rompe cuando se ingresa un valor=0.
Pseudocodigo C++ Ejemplo
inicializa CONDICION inicializa CONDICION N=0,suma=0, cin>>edad;
repetir_mientras(CONDICION) while(CONDICION) while(edad>0)
inst 1 | { inst 1 { suma=suma+edad;
: | BLOQUE : N=N+1;
inst x | inst x cin>>edad;
actualiza CONDICION actualiza CONDICION }
fin_repetir_desde } Promedio=suma/N;
inicializa CONDICION inicializa CONDICION N=0,suma=0, cin>>edad;
repetir do do
inst 1 | { inst 1 { if(edad<=0) break;
: | BLOQUE : suma=suma+edad;
inst x | inst x N=N+1;
actualiza CONDICION actualiza CONDICION cin>>edad;
mientras(CONDICION) } while(CONDICION); } while(edad>0);
Promedio=suma/N;
3. Estructuras cíclicas anidadas.
Cualquiera de las instrucciones del bloque puede ser a su vez otra estructura cíclica y esta nueva estructura puede
a su vez tener dentro de su bloque otra estructura. La ejecución de este tipo de estructuras se cumple siguiendo la
lógica de cada estructura. La estructura exterior se "detiene" hasta que se ejecuta por completo la estructura
interior. El ejemplo que se muestra procesa las notas de 10 estudiantes con 3 evaluaciones por estudiante. Por
cada estudiante se lee una cedula y tres notas. Se deben leer 10 cedulas (cin>>cedula) y 30 notas (cin>>NOTA).
inicializa COND1; for(I=ini ; I<=fin ; I=I+inc) for(I=1; I<=10 ; I=I+1)
while(COND1) { inst 1; { cin>>cedula;
{ inst 1; for(J=ini ; J<=fin ;J=J+inc) Suma=0;
inicializa COND2; { inst 21; J=1;
while(COND2) inst 22; while ( J<=3)
{ inst21;
} { cin>>NOTA;
inst22;
actualiza COND2; inst 3; Suma=Suma+NOTA;
} inst 4; J=J+1
inst 3; } }
inst4; Promedio=Suma/3;
actualiza COND1; }
}
2
2. Actividad 2:
Una empresa desea reclutar 5 personas con las siguientes características: Edad entre 18 y 30 años e
IMC entre 22 y 28. El IMC es la relación entre el peso (P) en Kg y la estatura (E) en mts. y viene dado
por IMC = P/E2. El programa debe leer los datos (CEDULA, EDAD, PESO, ESTATURA) y verificar los
datos para determinar los "aptos". El programa se detiene cuando consigue cinco (5) personas aptas
ó se recibe una EDAD negativa si ya no se desea seguir con el proceso. El programa debe mostrar la
cantidad de personas entrevistadas, la persona (CEDULA) de mayor edad y el IMC promedio de los
"aptos". Ejemplo: