TALLER SOBRE LOS CICLOS REPETITIVOS PRESENTADO POR: BREIDIS YUNISIS BARROS BOSCAN CODIGO (1121538298) KAREN DAYANA CHARRIS MIRANDA CODIGO (1121526151) UNIVERSIDAD DE LA GUAJIRA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERIA DE SISTEMAS RIOHACHA, LA GUAJIRA 2011 TALLER SOBRE LOS CICLOS REPETITIVOS TALLER PRESENTADO EN LA ASIGNATURA ALGORITMOS Y POOI 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 Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: Hacer para V.C = L.I a L.S VC=LI Accion1 Vc = LS V Accion2 vc=vc+1 . .F . Acción Cuerpo del ciclo Fin-para Donde: V.C Variable de control del ciclo L.I Limite inferir L.S Límite superior En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite hasta que la variable de control llegue al límite superior. EJEMPLO 1: Leer 10 números y obtener su cubo y su cuarta. Inicio Hacer para n = 1 a 10 Leer num 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. La forma de esta estructura es la siguiente: Hacer mientras <condición> Accion1 NO Accion2 . . SI Acción N Fin-mientras 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 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. La forma de esta estructura es la siguiente: Repetir Accion1 Accion2 . . AccionN Hasta <condición> NO 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 decrementa 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 Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan en las estructuras repetitivas con la finalidad de contar sucesos o acciones internas del bucle. Con los contadores deberemos realizar una operación de inicialización y, posteriormente, las sucesivas de incremento o decremento del contador. La inicialización consiste en asignarle al contador un valor. Se situara antes y fuera del bucle. <nombre_del_contador> ← <valor_de_inicializacion> En cuanto a los incrementos o decrementos del contador, puesto que la operación de asignación admite que la variable que recibe el valor final de una expresión intervenga en la misma, se realizaran a través de este tipo de instrucciones de asignación, de la siguiente forma: <nombre_del_contador> ← <nombre_del_contador> + <valor_constante> Dicho <valor_constante> podrá ser positivo o negativo. Esta instrucción se colocara en el interior del bucle. 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 4. ESCOGER UNO DE LOS EJERCICIOS DEL PUNTO 2 Y CODIFICARLO EN C++ 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. En C++: /*Promedio de un alumno con 7 calificaciones*/ #include<stdio.h> Char nom; Int sum, c; Float calif, prom Void main () { Sum==0 Printf (¨Digite nombre¨); Scanf (¨%s¨, &nom); For (c==1 a 7); Sprintf (¨Digite calificacion¨); Scanf (¨%f¨, &calif¨); sum=(sum + calif); prom=(sum/7); sprintf (¨%f¨, prom); }