TALLER SOBRE LOS CICLOS REPETITIVOS PRESENTADO POR: LEIDY DIANA CARBONEL BARROS CODIGO (1.118.839.883) EDGAR IVAN AVENDAÑO TORRES UNIVERSIDAD DE LA GUAJIRA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERIA DE SISTEMAS RIOHACHA, LA GUAJIRA 2011 TALLER SOBRE LOS CICLOS REPETITIVOS TALLER DE ALGORITMOS Y POOI PRESENTADO A LA PROFESORA SANDY ROMERO CUELLO UNIVERSIDAD DE LA GUAJIRA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERIA DE SISTEMAS RIOHACHA, LA GUAJIRA 2011 TABLA DE CONTENIDO 1. ESCRIBIR EL CONCEPTO, ESTRUCTURA Y DOS EJEMPLOS DE: 1.1. PARA 1.2. MIENTRAS QUE 1.3. HAGA HASTA 2. DEFINIR LOS TIPOS DE VARIABLES, PARA QUE SE USAN Y COMO SE USAN: 2.1. VARIABLES SUMADORAS 2.2. VARIABLES CONTADORAS 2.3. CALCULAR EL PROMEDIO DE UN ALUMNO QUE TIENE 7 CALIFICACIONES EN LA MATERIA DE DISEÑO ESTRUCTURADO DE ALGORITMOS 2.4. CALCULAR E IMPRIMIR LA TABLA DE MULTIPLICAR DE UN NÚMERO CUALQUIERA. IMPRIMIR EL MULTIPLICANDO, EL MULTIPLICADOR Y EL PRODUCTO 3. ¿COMO SE CODIFICAN LAS PRIMITIVAS REPETITIVAS EN C++? 3.1. PARA 3.2. MIENTRAS QUE 3.3. HAGA HASTA 4. ESCOGER UNO DE LOS EJERCICIOS DEL PUNTO 2 Y CODIFICARLO EN C++ TALLER SOBRE LOS CICLOS REPETITIVOS 1. ESCRIBIR EL CONCEPTO, ESTRUCTURA Y DOS EJEMPLOS DE: 1.1. PARA Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces, y de modo automático controla el número de iteraciones o pasos. Pseudocódigo Inicio Desde i=0 hasta100 Escribir i Fin_ desde Fin Sintaxis en C++ Programa en C++ for (exp_inic; exp_prueba; #include <iostream.h> exp_inc) #include <stdlib.h> instrucción; int main() { for (exp_inic; exp_prueba; intinumtab; exp_inc) { Instrucción_a; Instrucción_b; Instrucción_n; } cout << "\n Numero de la Tabla de Multiplicar: "<<endl; cin >> inumtab; for(int i=1; i<=10; i++) cout<< inumtab <<"*"<<i<<"="<< inumtab*i<< endl; system("PAUSE"); return 0; } EJEMPLO 1: Leer 10 números y obtener su cubo y su cuarta. Inicio Hacer para n = 1 a 10 Leer núm. cubo = num * num * num cuarta = cubo * num Imprimir cubo, cuarta Fin-para Fin. EJEMPLO 2: Leer 10 números e imprimir solamente los números positivos Inicio Hacer para n = 1 a 10 Leer num Si num > 0 entonces Imprimir num fin-si Fin-para Fin. 1.2. MIENTRAS QUE Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso EJEMPLO 1: Calcular y escribir los cuadrados de una serie de números distintos de 0 leídos desde el teclado. Inicio Leer num Mientras num <> 0 hacer cuadrado← num*num Escribir ¨cuadrado¨ Leer num fin_mientras Fin EJEMPLO 2: Algoritmo que lee un número y calcule si es par o impar. Inicio Escriba ¨Digite un número¨ Lea num I←1 Mientras (I ≤ 50) Si (num mod/2) entonces Escriba ¨El numero es par¨ Si no Escriba ¨El numero es impar¨ Fin si Lea num I=I+1 Fin mientras que Fin 1.3. HAGA HASTA Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condición se cumple y no mientras, como en el Hacer-Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condición no se cumple desde un principio. EJEMPLO 1: Algoritmo que calcule la suma de los 50 primeros números enteros. Inicio Suma ← 0 Conta ← 0 Repetir Conta ← conta + 1 Suma ←suma + conta Hasta que conta= 50 Escribir ¨suma¨ Fin EJEMPLO 2: Se desea obtener los cuadrados de todos los números leídos desde un archivo hasta que se encuentre el número 0. Inicio Repetir Leer ¨archivo, num¨ Si num<> 0 entonces Escribir ¨num ^ 2¨ Fin si Hasta que num= 0 Fin 2. DEFINIR LOS TIPOS DE VARIABLES, PARA QUE SE USAN Y COMO SE USAN: 2.1. VARIABLES SUMADORAS: Son variables cuyo valor se incrementa o decremento en una cantidad variable. Necesitan operaciones de: Inicialización: <nombre_acumulador> ← <valor_de_inicializacion> Acumulación: <nombre_acumulador> ← <nombre_acumulador> <nombre_variable> + Hay que tener en cuenta que la siguiente también sería una variable de acumulación: <nombre_acumulador> ← <nombre_acumulador> *<valor> 2.2. VARIABLES CONTADORAS Como su nombre lo indica estas variables se usan fundamentalmente para contar, por lo tanto deben ser de tipo entero. Un ejemplo de este tipo de variables es la variable de control en un ciclo para. Una variable contadora se incrementa (o decrementa) en un valor constante en cada iteración del ciclo. Es así como en los algoritmos presentados anteriormente para resolver el styleproblema de calcular la suma de los números naturales desde 1 hasta, la variable i es una variable contadora. Ejemplo. Desarrollar un algoritmo que imprima los números impares en orden descendente que hay entre 1 y 100. i: entero i := 99 mientras (i >=1) hacer escribir( i) escribir( ‘,’ ) i := i – 2 fin_mientras 2.4. CALCULAR EL PROMEDIO DE UN ALUMNO QUE TIENE 7 CALIFICACIONES EN LA MATERIA DE DISEÑO ESTRUCTURADO DE ALGORITMOS Inicio Sum=0 Leer Nom Hacer para c = 1 a 7 Leer calif Sum = sum + calif Fin-para prom = sum /7 Imprimir prom Fin. 2.5. CALCULAR E IMPRIMIR LA TABLA DE MULTIPLICAR DE UN NÚMERO CUALQUIERA. IMPRIMIR EL MULTIPLICANDO, EL MULTIPLICADOR Y EL PRODUCTO Inicio Leer num Hacer para X = 1 a 10 resul = num * x Imprimir num, “ * “, X, “ = “, resul Fin-para fin. 3. ¿COMO SE CODIFICAN LAS PRIMITIVAS REPETITIVAS EN C++? 3.4. PARA Ciclo controlado por contador: For (valor inicial; condición; incremento) Acción; 3.5. Ciclo de entrada asegurada: While (condición) Acción; 3.6. MIENTRAS QUE Ciclo Do… while Do { Sentencia; . . } while (<expl>); HAGA HASTA