2015 PROGRAMACION I ESTRUCTURAS REPETITIVAS PAGS 40 59
ESTRUCTURAS REPETITIVAS
Las estructuras repetitivas son también conocidas como BUCLES, ciclos o lazos. Una estructura repetitiva
permite la ejecución de un conjunto de sentencias:
Un número determinado de veces ( controladas por contador )
Hasta que se satisface una determinada condición ( controladas por condición )
1. BUCLES CONTROLADOS POR CONTADOR: FOR
Si conocemos exactamente lacantidad de veces que necesitamos repetir un conjunto de sentencias, entonces
podemos usar un bucle FOR.
En general, los bucles controlados por contador requieren:
a) Una variable de control o contador
b) Un valor inicial para el contador
c) Un valor final para el contador
d) Una condición para verificar si la variable de control alcanzo su valor final
e) Un valor de incremento ( o decremento ) con elcual se modifica la variable de control en cada bucle
La forma general del bucle FOR es:
Representación grafica de un
CICLO FOR
Programación I
Ing. Melvin Carías
Ciclo 01-2015
41
#include
using namespace std;
main()
{
int x;
for (x=1;x<=5;x=x+1)
{
cout<
cout<< "\n";
cout<<"\n-->Fin del programa";
system(“pause”);
return(0);
}
FOR-Ejemplo0.cpp
NOTAS:
1.La inicialización puede ser diferente de uno
2. El incremento puede ser mayor que uno
3. No necesariamente debe haber incremento puede haber decremento solo que en este caso el valor inicial
debe ser mayor que el valor final de la variable y el sentido de la condición cambia
4. solo para el caso de incremento o decremento de una en una unidad se puede sustituir el codigo:
x=x+1 por x++
x=x-1 por x- -
Programación I
Ing. Melvin Carías
Ciclo 01-2015
42
EJERCICIO 1: Calcular el promedio de un alumno que tiene 5 calificaciones en la materia de Progra I.
INICIO
x=1, sum=0
Leer
Nombre
NO
x<=5
SI
Leer Nota
prom=sum/5
sum = sum + nota
Imprimir
Nombre, prom
x=x+1
Programación I
Ing. Melvin Carías
FIN
Ciclo 01-2015
43
1
#include
2
using namespace std;
3
main()4
{
5
char nombre[40];
6
int x;// variable que se utilizara en el ciclo for
7
float sum;// variable que servirá como acumulador
8
float nota, prom;
9
sum=0;
10
cout<<"\nDigitar el nombre del alumno:";
11
cin.get(nombre,40,'\n');// instrucción que acepta espacios en blanco
12
for (x=1;x<=5;x=x+1)
13
{
14
cout<<"\nDigitar la nota"<
15
cin>>nota;
16
sum=sum+nota;//aki se van sumando las notas digitadas
17
}
18
// procesos afuera del ciclo for
19
prom=sum/5;
20
cout<<"\nEl promedio final del alumno:"<
21
cout<<"\n";
22
cout<<"\n-->Fin del programa";
23
system(“pause”);
24
return(0);
25
}
FOR-Ejemplo1.cpp
Programación I
Ing. Melvin Carías
Ciclo 01-2015
44
EJERCICIO 2: Leer 10 números enteros cualesquiera eimprimir solamente los números positivos.
INICIO
no
y<=10
si
FIN
Leer num
no
num > 0
si
Imprimir num
y=y+1
Programación I
Ing. Melvin Carías
Ciclo 01-2015
45
1
#include
2
using namespace std;
3
main()
4
{
5
int y;// variable que se utilizara en el ciclo for
6
int num;
7
for (y=1;y<=5;y++)
8
{
9
cout<<"\nDigitar el numero:";
10
cin>>num;
11
if(num>0)
12
{13
cout<<"\n
14
cout<<"\n";
15
}
16
}
17
cout<<"\n\n";
El numero:"<
18
cout<<"\n-->Fin del programa";
19
system(“pause”);
20
return(0);
21
}
FOR-Ejemplo2.cpp
Programación I
Ing. Melvin Carías
Ciclo 01-2015
46
EJERCICIO 3:
INICIO
Crear un programa en C++
g=0, h=0, e=0, m=0
que permita leer una lista de
W
nacionalidades
diferentes
países
y
deLeer w
que
imprima lo siguiente:
no
y<=w
Contabilizar e imprimir el
si
total de guatemaltecos
Imprimir
g, h, e, m
Contabilizar e imprimir el
Leer nac,
sexo, edad
total de musulmanes
no
Cuantos hombres hay en la
lista
Cuantas
personas
son
FIN
nac=”g”
si
no
g=g+1
menores de 45 años
nac=”m”
si
m=m+1
no
sexo=”m”
si
h=h+1
no
edad<45
si
e=e+1
y=y+1
Programación I
Ing....
Regístrate para leer el documento completo.