10
Programación I, Guía 5 1 Tema: “ESTRUCTURAS DE REPETICIÓN”. 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). 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. Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Objetivos Introducción

estructuras

Embed Size (px)

Citation preview

Page 1: estructuras

Programación I, Guía 5

1

Tema: “ESTRUCTURAS DE REPETICIÓN”.

• 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).

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.

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

Objetivos

Introducción

Page 2: estructuras

Programación I, Guía 5

2

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++

No soportada por DFD

do{

sentencia 1;

:

sentencia n;

}

while (condición de bucle)

Page 3: estructuras

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

Page 4: estructuras

Programación I, Guía 5

4

• Guía de Laboratorio Nº 5.

• Computadora con programa: � DFD � Dev C++.

• Dispositivo de Almacenamiento (USB).

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.

Materiales y equipos

Procedimiento

Cubo ���� num*num*num

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

Page 5: estructuras

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.

G5_Ejemplo_3:

Escriba un programa que presente la sumatoria de 10 números reales introducidos mediante el teclado utilizando WHILE.

'Hola sigues en el ciclo MIENTRAS'

‘Desea continuar S/N’

Condición n=’s’

Page 6: estructuras

Programación I, Guía 5

6

#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; }

Page 7: estructuras

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; }

Page 8: estructuras

Programación I, Guía 5

8

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.

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.

Análisis de resultados

Investigación complementaria.

Page 9: estructuras

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:

• 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.

Bibliografía.

Page 10: estructuras

Programación I, Guía 5

10

EVALUACION

% 1-4 5-7 8-10 Nota

CONOCIMIENTO

40

APLICACIÓN DEL

CONOCIMIENTO 40

ACTITUD

20

TOTAL

100%

Hoja de cotejo:

5 1

Máquina No: Alumno:

Docente: GL: Fecha:

Guía 5: Estructuras de repetición.