Estructuras de Control de Repetición

1 Estructuras de Control de RepeticiónLas estructuras de ...
Author: Hernando Nieto
0 downloads 0 Views

1 Estructuras de Control de RepeticiónLas estructuras de control repetitivas permiten que un grupo de acciones se repitan varias veces dentro del algoritmo. Mientras Repetir Para (Joyanes, 1998:149)

2 Variables Auxiliares CONTADOR: es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada iteración. Contador  Contador + Constante ACUMULADOR: es una variable que almacena cantidades resultantes de sumas sucesivas en cada iteración. Acumulador  Acumulador + Variable (Joyanes y Otros, 1999:296)

3 Estructura Repetitiva MientrasFormato Mientras Expresión Lógica Hacer Acción o Acciones Fin Mientras Funcionamiento Mientras el resultado de la expresión lógica sea Verdadero, se realizarán iteraciones donde se ejecutarán las acciones encerradas en el cuerpo del bucle. (Joyanes,1998:148)

4 Estructura Repetitiva MientrasSINTAXIS while (Expresión Lógica ) { sentencia o sentencias a ejecutar } Funcionamiento Mientras el resultado de la expresión lógica sea Verdadero, se realizarán iteraciones donde se ejecutarán las acciones encerradas en el cuerpo del bucle. (Joyanes,1998:148)

5 Uso de Contadores y Acumuladores en CiclosEstructura repetitiva para sumar los precios de 3 artículos. Suma  0 Articulo  0 Mientras (Articulo < 3) Hacer Articulo  Articulo + 1 Escribir “Introduzca Precio del Artículo # ”, Articulo Leer Precio Suma  Suma + Precio Fin Mientras Escribir “El resultado de la suma es = “, Suma

6 Uso de Contadores y Acumuladores en CiclosEstructura repetitiva para sumar los precios de 3 artículos, codificado en c++ include using namespace std; main() { float Precio, Suma; int Articulo; Suma = 0; //inicialización del acumulador, es obligatorio Articulo = 0; //inicialización del contador, es obligatorio //la expresion logica del while, evalua que si van menos de 3 articulos procesados while (Articulo < 3) Articulo= Articulo + 1; //incremento el contador de articulos cout<< "Introduzca Precio del Artículo # "< cin>>Precio; //se lee el precio del articulo en proceso Suma = Suma + Precio; //se va guardando la suma de todos los precios } //fin del while cout<< "El resultado de la suma es = "< system("pause"); }

7 Uso de Contadores y Acumuladores en CiclosCÓMO VALIDAR LA ENTRADA: SIMPLEMENTE UTILIZANDO UN CICLO QUE ENCIERRE LA ENTRADA DE DATOS Y LA REPITA MIENTRAS QUE SE HAYA COMETIDO UN ERROR, QUE EN ESTE CASO SERÍA, INTRODUCIR UN NUMERO NEGATIVO. ENTONCES EL PSEUDOCÓDIGO QUEDARÍA ASÍ: Escribir "Introduzca Precio del Artículo # “, Articulo Leer Precio Mientras (Precio< 0) Hacer Escribir "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo” Fin Mientras LA CODIFICACIÓN EN C++ SERÍA: cout << "Introduzca Precio del Artículo # “<< Articulo; cin>> Precio; while (Precio< 0) { cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”; }

8 Uso de Contadores y Acumuladores en CiclosFÍJESE QUE EN EL EJERCICIO ANTERIOR, EL PRECIO QUE INTRODUCE EL USUARIO, PUEDE SER NEGATIVO, SI QUEREMOS EVITAR ESTA INCONSISTENCIA, PODEMOS VALIDAR EL DATO POR SU RANGO DE VALORES. CÓMO: SIMPLEMENTE UTILIZANDO UN CICLO QUE ENCIERRE LA ENTRADA DE DATOS Y LA REPITA MIENTRAS QUE SE HAYA COMETIDO UN ERROR, QUE EN ESTE CASO SERÍA, INTRODUCIR UN NÑUMERO NEGATIVO. ENTONCES EN EL LENGUAJE, LA ENTRADA DE DATOS QUEDARÍA ASÍ: cout << "Introduzca Precio del Artículo # “<< Articulo; cin>> Precio; while (Precio< 0) { cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”; }

9 Estructura Repetitiva RepetirFormato Repetir Acción o Acciones Hasta Expresión Lógica Funcionamiento Repetir (realizar iteraciones) hasta que la expresión lógica resulte Verdadero.

10 Estructura Repetitiva RepetirC NO DISPONE DE LA ACCION REPETIR, PERO LA PODEMOS SIMULAR CON LA SENTENCIA DO-WHILE, NEGANDO LA EXPRESION LOGICA USADA EN EL REPETIR SINTAXIS do { Acción o Acciones }while (! (Expresión Lógica) ); Funcionamiento Repetir (realizar iteraciones) mientras que la expresión lógica resulte Verdadero.

11 Ejemplo con Estructura RepetirValidación de un dato de entrada: Repetir Escribir “Introduzca la nota a procesar [0..10]:” Leer nota Hasta ((nota >=0) Y (nota <= 10)) Repetir Escribir “Introduzca la nota a procesar [0..10]:” Leer nota Si ((nota < 0) O (nota > 10)) Entonces Escribir “Error, la nota está fuera del rango.” Fin Si Hasta ((nota >=0) Y (nota <= 10))

12 Ejemplo con Estructura RepetirValidación de un dato de entrada en c++ #include using namespace std; main() { float nota; do { cout << "Introduzca la nota a procesar [0..10]:"< cin >> nota; if ((nota < 0) || (nota > 10)) cout << "Error, la nota esta fuera del rango"< } while (!((nota >=0) & (nota <= 10))); cout << "La nota es correcta = "< system("pause"); }

13 Estructura Repetitiva ParaFormato Para Variable = Vi Hasta Vf Inc o Dec [Valor] Acción o Acciones Fin Para Funcionamiento Realiza una iteración por cada valor que tome Variable.

14 Ejemplo con Estructura Repetitiva ParaEstructura repetitiva para sumar los precios de 3 artículos. Suma  0 Para Articulo = 1 Hasta 3 Escribir “Introduzca Precio del Artículo # ”, Articulo Leer Precio Suma  Suma + Precio Fin Para Escribir “El resultado de la suma es “, Suma

15 Ejemplo con Estructura Repetitiva ParaEstructura repetitiva para sumar los precios de 3 artículos, en c++ #include using namespace std; main() { float Precio, Suma; int Articulo; Suma = 0; //inicialización del acumulador, es obligatorio Articulo = 0; //inicialización del contador, es obligatorio cout<< "PROGRAMA QUE PROCESA PRECIO DE 3 ARTICULOS Y LOS SUMA"<< endl; for (Articulo = 1; Articulo <= 3; Articulo ++) cout<< "Introduzca Precio del Articulo # "< cin>>Precio; //se lee el precio del articulo en proceso Suma = Suma + Precio; //se va guardando la suma de todos los precios } //fin del for cout<< "El resultado de la suma es = "< system("pause"); }