Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
PROGRAMACIÓN Y FUNDAMENTOS DE ALGORÍTMICA ESTRUCTURAS REPETITIVAS O ITERATIVAS AGENDA Pseudocódigo Iteraciones Mientras hacer Contador y acumulador Ejemplo Ejercicio Hacer mientras Ejemplo Ejercicio Para hacer Ejemplo Ejercicio 2 3 ITERACIONES O REPETITIVAS Existen soluciones en las que es necesario repetir un mismo conjunto de acciones, repetidas veces. Lo anterior sólo es posible si reescribimos las acciones cuantas veces sea necesario que se ejecuten, lo que puede ser una tarea bastante tediosa. Presentaremos un conjunto de acciones conocidas con el nombre de Iterativas, cuya finalidad es permitir que un determinado conjunto de acciones se repitan un número requerido de veces. 4 ITERACIONES: MIENTRAS mientras ExpresiónBooleana hacer Secuencia de “n” acciones fmientras ITERACIONES: MIENTRAS En esta estructura de control repetitiva, se evalúa la expresión booleana, si es verdadera se ejecuta la secuencia de acciones. Mientras la expresión booleana sea verdadera seguirá ejecutándose la secuencia de acciones. Cuando la expresión booleana se haga falsa se finalizará la iteración. 5 6 EJEMPLO 1 Escriba el pseudocódigo para hallar la suma de los n primeros términos de la siguiente serie: 1 + 2 + 3 + 4 + 5 + ………….. 7 SOLUCIÓN Acción Serie DV Entero n //Entrada Entero suma //Salida Inicio Leer (n) suma 0 i1 Mientras i <= n Hacer suma suma + i i i + 1 fmientras Escribir (suma) Fin 8 PREGUNTO En el ejemplo, que debo modificar si se inicializa i así i 0 ¿Qué papel cumple i? Además, ¿qué papel cumple suma? 9 CONTADOR Y ACUMULADOR Un contador es un elemento que usamos con las estructuras repetitivas y que se incrementa en un valor fijo en cada iteración. cont cont + valor //fijo Un acumulador, a diferencia del contador se incrementa en un valor diferente en cada iteración. El resultado que se obtiene es la suma total de todos los valores. acum acum + valor //diferente EJEMPLO 2 Acción hallarProm DV Entero n //Entrada Real nota //Entrada Real prom //Salida Real suma Entero i Inicio leer(n) 10 i1 suma0 Mientras i<=n hacer leer(nota) sumasuma+nota ii+1 fmientras prom suma/n escribir(prom) Fin Escribir el pseudocódigo para hallar el promedio de un alumno que tiene n notas. 11 PROBLEMA 1 Calcule el valor de la siguiente serie para N términos: ... 4 3 3 2 2 1 ITERACIONES: HACER … MIENTRAS hacer Secuencia de “n” acciones mientras ExpresiónBooleana 12 ITERACIONES: HACER … MIENTRAS La secuencia de n acciones se ejecuta y luego se evalúa la ExpresiónBooleana , si es verdadera, nuevamente ejecutará la secuencia de n acciones. Esto continuará mientras que la ExpresiónBooleana sea verdadera. Cuando la ExpresiónBooleana se haga falsa, finalizará la ejecución de la estructura repetitiva. 13 EJEMPLO 3 Hallar el promedio de cada uno de n alumnos. Considere que cada alumno tiene 3 notas: examen parcial, examen final y práctica. 14 SOLUCIÓN Acción Notas DV Entero n, parcial, final, prac //Entrada Real prom //Salida Inicio Leer (n) numAlu1 Hacer leer(parcial, final, pract) prom (parcial+final+pract)/3 escribir(prom) numAlu numAlu + 1 Mientras numAlu <= n Fin 15 PROBLEMA 2 En una organización hay n trabajadores. Cada trabajador tiene un sueldo. Se pide hallar: a) ¿Cuánto paga en total la organización a sus n trabajadores? b) ¿Cuántos trabajadores ganan más de 5000 soles? 16 PROBLEMA 3 Suponga que actualmente las poblaciones de los países A y B son 52 y 85 millones de habitantes respectivamente. Supongamos que las tasas de crecimiento de población son 6% y 4% respectivamente. Determine en que año la población A excede a la población B. Resuelva el problema considerando que todos los valores son datos. Realice las verificaciones necesarias. 17 18 ITERACIONES: PARA para Variable desde ValorInicial a ValorFinal [inc {+ | -}valorIncremento] hacer Secuencia de “n” acciones fpara ITERACIONES: PARA La Variable se inicializa con valor Inicial y si esta es menor o igual a valor Final entonces ejecuta la secuencia de n acciones. Luego de ejecutar las acciones la Variable se incrementa en valor Incremento y vuelve a compararse con valor Final. Cuando la Variable excede a valor Final, se finalizan las iteraciones. 19 EJEMPLO 4 Calcular la suma de n términos de la serie 1 + 2 + 3 + 4 + 5 + ….+ n 20 SOLUCIÓN Acción Serie DV Entero n //Entrada Entero suma //Salida Inicio Leer (n) suma 0 Para i desde 1 a n hacer sumasuma + i fPara escribir(suma) Fin 21 22 Hallar el producto de los n primeros números naturales 1 * 2 * 3 * 4 * ……… EJEMPLO 5 SOLUCIÓN Acción Serie DV Entero n //Entrada Entero prod //Salida Inicio Leer (n) prod 1 Para i desde 1 a n hacer prodprod * i fPara escribir(prod) Fin 23 24 PROBLEMA 4 Escriba un pseudocódigo que permita multiplicar dos números enteros positivos usando solamente la operación de suma. PROBLEMA 5 Determinar la cantidad de dígitos que tiene un número entero y además mostrar la suma de los dígitos pares y de los impares. Considere el cero como número par. 25 PREGUNTAS 26 ¿QUÉ REVISAMOS EN ESTA SESIÓN? Estructura Repetitivas Contador Acumulador Mientras Hacer Mientras Para 27
Compartir