TALLER SOBRE LOS CICLOS REPETITIVOS PRESENTADO POR: CAMILO ANDRES SANCHEZ MARIA JOSE ROJAS RAMIREZ WILLIAM GUTIERREZ 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. ¿cómo 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 Se utiliza mayormente cuando se conoce de antemano el número de veces que se va a ejecutar el lazo. La estructura REPITA PARA requiere: - Al menos un contador o condición inicial Evaluada cierta para entrar al lazo (exp1) - El incremento, decremento o expresión de Cambio con la cual, cada vez que se termine Una repetición, se evaluará la condición de Salida (expr3). - La condición que compruebe la existencia del Valor final del contador del lazo (expr2). Repita para (expr1; expr2; expr3) expr1: Inicializar el contador. Es evaluada una sola vez, cuando se ejecuta por primera vez el lazo. Normalmente es una sentencia de asignación. expr2: Condición de terminación del lazo. Es evaluada cada vez que se ejecuta el repita para. expr3: Modificación del contador. Se ejecuta luego de la última instrucción del lazo. Repita para (i = 1; i <= 10; i = i + 1) Nombre de la variable de control Valor inicial de la variable de control Valor final de la variable de control Incremento de la variable de control Pseudocódigo en Español Código en C++ Repita para (I=1; I<10; I=I+1) Escribir (I) fin_rp for (int I=1; I <= 10; I++) printf(“%i”,I); // I es la variable de control for (I=0; I <= n-1; I++) { // I es la variable de control printf(“numero?\n”); scanf(“%i”,&numero); } Repita para (I=0; I <= n-1;I=I+1) Escribir (“Numero?”) Leer (numero) fin_rp 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 Hacer mientras Accion1 Accion2 . . AccionN Fin-mientras EJEMPLO 1 Realizar un algoritmo que muestre los números de uno en uno hasta diez usando una estructura Para. EJEMPLO 2 Usando una estructura Mientras, realizar un algoritmo que escriba los números de uno en uno hasta 20 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 RepetirHasta lo hace hasta que la condición se cumple y no mientras, como en el HacerMientras. 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 style problema 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. Ciclo controlado por contador: For (valor inicial; condición; incremento) Acción; 3.5. MIENTRAS QUE Ciclo de entrada asegurada: While (condición) Acción; 3.6. PARA Ciclo Do… while Do { Sentencia; . . } while (<expl>); HAGA HASTA