You are on page 1of 10

Programación I, Guía 5 1

Facultad : Ingeniería
Escuela : Computación
Asignatura: Programación I

Tema: “ESTRUCTURAS DE REPETICIÓN”.

Objetivos

• Utilizar las estructuras repetitivas al solucionar diversos tipos de problemas.


• Desarrollar algoritmos repetitivos en lenguaje C/C++.
• Solucionar problemas con programas que integren las estructuras de selección y
estructuras repetitivas FOR (para), WHILE (mientras) y DO WHILE (hacer
mientras).

Introducción

Las estructuras de control repetitivas, permiten controlar el número de veces que serán
ejecutadas una o más sentencias del programa. Se cuenta con tres tipos de estas
estructuras usualmente denominadas bucles: while, for, y do–while.

Los bucles o ciclos, repiten una sentencia o secuencia de sentencias un número de


veces. A dichas sentencias se les conoce como cuerpo del bucle, y a cada repetición del
cuerpo del bucle se le llama iteración.

El bucle FOR:
Ejecuta una sentencia o un grupo de sentencias un número fijo de veces.

En inicialización se escribe una variable de control del bucle (la cual actúa como un
contador), con su valor inicial. La condición iteración contiene una expresión lógica que
hace que el bucle realice las iteraciones de las sentencias mientras sea verdadera.
Finalmente, en incremento se modifica la variable de control.
2 Programación I, Guía 5

DFD C++
for ( inicialización ; condición iteración ; incremento
)
{ sentencia 1;
:
sentencia n;
}

El bucle WHILE:
Repite la ejecución de una sentencia o un grupo de ellas mientras se cumpla una
condición especificada.

DFD C++
while (condición de bucle)
{
sentencia 1;
:
sentencia n;
}

El bucle DO WHILE:
Repite la ejecución de una sentencia o un grupo de ellas mientras se cumpla una
condición especificada, al menos una vez.

DFD C++
do{
sentencia 1;
:
sentencia n;
}
while (condición de bucle)

No soportada por DFD


Programación I, Guía 5 3

Contadores:
Un contador es una variable casi siempre de tipo entero cuyo valor se incrementa o
decrementa en cada repetición de un bucle. Es habitual llamar a esta variable “cont” (de
contador) o “i” (de índice).

El contador suele usarse de este modo:

Primero: se inicializa antes de que comience el bucle. Es decir, se le da un valor inicial.


Por ejemplo:
cont = 5

Segundo: se modifica dentro del cuerpo del bucle. Lo más habitual es que se incremente
su valor en una unidad.
Por ejemplo:
cont = cont + 1

Esto quiere decir que el valor de la variable “cont” se incrementa en una unidad y es
asignado de nuevo a la variable contador. Es decir, si “cont” valía 5 antes de esta
instrucción, cont valdrá 6 después. Otra forma típica del contador es:
cont = cont – 1

Existen varias formas de incrementar los contadores:

Primera Forma Segundo Forma Tercera Forma


cont = cont + 1 cont++ cont += 1

Acumuladores:
Las variables acumuladoras tienen la misión de almacenar resultados sucesivos, es decir,
de acumular resultados, de ahí su nombre.
Las variables acumuladores también deben ser inicializadas. Si llamamos “acum” a un
acumulador, escribiremos antes de iniciar el bucle algo como esto: acum = 0

Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del problema.
Más tarde, en el cuerpo del bucle, la forma en la que nos la solemos encontrar es:
acum = acum + N
Otra manera de escribirlo sería:
acum += N
4 Programación I, Guía 5

Materiales y equipos

• Guía de Laboratorio Nº 5.
• Computadora con programa:
 DFD
 Dev C++.
• Dispositivo de Almacenamiento (USB).

Procedimiento

Realizar los siguientes diagramas y programas.

G5_Ejemplo_1:

Diagrama en DFD que permite leer 5 números para calcular y mostrar por cada uno de
ellos su cubo.

Cubo  num*num*num

‘el cubo de ’,num,‘es’,cubo


Programación I, Guía 5 5

G5_Ejemplo_2:

Programa que lee una variable y si la condición se cumple envía 2 mensajes mientras la
condición se cumple, sino sale del programa.

Condición n=’s’

'Hola sigues en el ciclo MIENTRAS'

‘Desea continuar S/N’

G5_Ejemplo_3:

Escriba un programa que presente la sumatoria de 10 números reales introducidos


mediante el teclado utilizando WHILE.
6 Programación I, Guía 5

#include <iostream>
using namespace std;

int main()
{
int contador=0;
float numero, suma=0; //suma se utilizará como acumulador

while (contador<10)
{
cout<<"introduzca número"<<contador+1<<": ";
cin>>numero;

suma+=numero; // equivale a suma=suma+numero


contador++; // incrementar en uno el contador
}
cout<<"El total es:"<<suma;
system("pause");
return 0;
}

G5_Ejemplo_4:

Escriba un programa que presente la sumatoria de 10 números reales introducidos


mediante el teclado utilizando FOR.

#include <iostream>
using namespace std;
int main()
{
int contador=0;
float numero, suma=0;//suma se utilizará como acumulador

for (contador=0;contador<10;contador++)
{
cout<<"introduzca número"<<contador+1<<": ";
cin>>numero;

suma+=numero; // equivale a suma=suma+numero

}
cout<<"El total es:"<<suma;
system("pause");
return 0;
}
Programación I, Guía 5 7

G5_Ejemplo_5:

Escriba un programa que presente la sumatoria del sueldo de 5 empleados. Para poder
capturar los nombres con espacios de los empleados se hará uso de la sentencia gets
que se utiliza para capturar cadenas con espacios y de fflush(stdin) que se utiliza para
limpiar el buffer, es decir para que al momento de entrar al bucle no se llene de basura la
variable nombre.

#include <iostream>
#include <string>

using namespace std;

int main()
{
char nombre[100];
char puesto[25];
float sueldo,total;
total=0;
for (int i=0;i<5;i++)
{
cout<<"\nIngrese el nombre completo(con espacios) del empleado"<<i+1;
fflush(stdin);
gets(nombre);
cout<<"\nIngrese la ocupacion del empleado(sin espacios)"<<i+1;
cin>>puesto;
cout<<"\nIngrese el sueldo"<<i+1;
cin>>sueldo;
total+=sueldo;
}
cout<<"\El total pagado a los empleados es:"<<total;
system("pause");
return 0;
}
8 Programación I, Guía 5

Análisis de resultados

Para los siguientes ejercicios realizar, diagramas en DFD y programas en Dev-C++.


Utilizando FOR y WHILE por cada uno de los ejercicios propuestos.

G5_Ejercicio_1:
Hacer que se introduzca un número, y mande su tabla de multiplicar.

Ejemplo: se lee el número 4, la salida será (no se mostrará todas las iteraciones de una
sola vez ósea tabla completa en DFD).

4x1=4
4X2=8
4X3=12
4X4=16
4X5=20
4X6=24
4X7=28
4X8=32
4X9=36
4X10=40

G5_Ejercicio_2:
Hacer que se impriman los números del 1 al 50, excepto el número 25.

G5_Ejercicio_3:
Leer 5 números para calcular y mostrar por cada uno de ellos su cuarta potencia.

Investigación complementaria.

Primera Parte:
Haciendo uso de Diagrama de Flujo de Datos: realizar los siguientes ejercicios.

G5_Problema_1:
Haciendo uso de DFD, tal que dado como datos 100 números enteros, obtenga la
suma de los números impares y el promedio de los números pares.
Programación I, Guía 5 9

G5_Problema_2:
Haciendo uso de DFD, que lea un número entero N y calcule el resultado de la
siguiente serie

Nota: N(Variable de tipo entero que representa el número de términos de la serie)

Segunda Parte:
Haciendo uso de Dev-C++: realizar los siguientes ejercicios.

G5_Problema_3:
En una empresa de computadoras, los salarios de los empleados se van a
aumentar según su contrato actual:

Contrato Aumento %
0 a 9,000 dólares 20
9,001 a 15,000 dólares 10
15,001 a 20,000 dólares 5
Más de 20,000 dólares 0

Escribir un programa que solicite el salario actual del empleado y calcule y


visualice el nuevo salario.

G5_Problema_4:
Calcular la suma de los términos de la serie:

Bibliografía.

• Metodología de la Programación. Algoritmos, diagramas de flujo y programas. 3ª


edición. Osvaldo Cairó. Editorial Alfaomega.

• Programación en C, Metodología, estructurada de datos y objetos, Luis Joyanes


Aguilar Ignacio Zahonero Martínez, McGrawHill.
10 Programación I, Guía 5

Hoja de cotejo: 5
1
Guía 5: Estructuras de repetición.

Alumno: Máquina No:

Docente: GL: Fecha:

EVALUACION

% 1-4 5-7 8-10 Nota

CONOCIMIENTO 40

APLICACIÓN
DEL 40
CONOCIMIENTO

ACTITUD
20

TOTAL
100%

You might also like