57
CURSO DE LÓGICA DE PROGRAMACIÓN Y ALGORITMOS I n s t i t u c i ó n U n i v e r s i t a r i a S a l a z a r y H e r r e r a L ó g i c a d e P r o g r a m a c i ó n Realizado por JAIRO HERNANDO RAMÍREZ MARÍN Docente de Lógica de Programación, Algoritmos y Lenguaje de Programación

Complemento Ciclos

Embed Size (px)

DESCRIPTION

jhjkh hjkhkj hkjh kjhkj

Citation preview

  • 1. Realizado por JAIRO HERNANDO RAMREZ MARN Docente de Lgica de Programacin, Algoritmos y Lenguaje de ProgramacinInstitucin Universitaria Salazar y HerreraLgica de Programacin

2. Estructuras repetitivasCiclo PARACiclo MIENTRASCiclo REPITAVariables que se combinan con los ciclosAcumulador, contador, promedio y porcentajeSwitche o banderaCiclos anidadosEstructuras repetitivas y estructuras de decisin 3. ESTRUCTURAS REPETITIVASLas estructuras repetitivas son conocidas como CICLOS, y se usan dentro de Algoritmos para realizar procesos que se deben REPETIR un determinado nmero de veces. los ciclos permiten ahorrar tiempo en el momento de realizar instrucciones dentro de un algoritmo. Por ejemplo si se pide hacer un algoritmo que lea 1 nmero y calcule su cuadrado, sera un proceso muy sencillo: 4. INICIO LEA num Cuad = num ^ 2 IMPRIMIR Cuad FIN Este es un proceso sencillo de realizar; pero si en lugar de un nmero fueran 10, 20 o 500, no se podran leer 10, 20 o 500 variables. Lo mejor sera usar una estructura REPETITIVA. Por ejemplo: 5. INICIOPARA X=1, 20, 1LEA numCuad = num ^ 2IMPRIMIR CuadFIN PARA FIN Este es un ejemplo de un ciclo PARA, que toma las instrucciones que hay dentro de l, y las repite 20 veces. En este caso leera 20 nmeros y calculara su cuadrado. 6. TIPOS DE ESTRUCTURAS REPETITIVASEn Algoritmos existen los siguientes tipos de estructuras repetitivas y sus respectivas divisiones:Ciclo PARACiclo MIENTRAS Registro CENTINELA (Cualitativo) Registro IDENTIFICADOR (Cuantitativo)Ciclo REPITA - HASTA 7. CICLO PARA El ciclo PARA se usa cuando se conoce el nmero de veces que se va a repetir el ciclo o cuando ste se hace N veces. La SINTAXIS es la siguiente PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO] Instrucciones FIN PARA ***Si el FIN no se conoce, se lee antes del ciclo 8. EXPLICACIN: PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO] X: Una variable cualquiera (Controladora del ciclo). INICIO: Valor en el que empieza la variable controladora (Normalmente es 1). FIN: Valor en el que termina la variable controladora (Este es el nmero de veces que se repite el ciclo). INCREMENTO o DECREMENTO: Valor que incrementa o decrementa la variable controladora (Normalmente es 1). Dependiendo el ejercicio se pone el incremento o el decremento. 9. Ejemplo: Se pide realizar un algoritmo que imprima los nmeros del 1 hasta el 100. El mismo enunciado est indicando el nmero de veces que se va a realizar el CICLO (100 veces), por tal motivo los valores para el CICLO son (INICIO=1, FIN=100, INCREMENTO=1; este ltimo se usa para que la variable pase de 1 a 2, de 2 a 3, y as sucesivamente hasta 100). PARA NUM = 1, 100, 1IMPRIMIR NUM FIN PARA Explicacin: 10. En este ejemplo la variable controladora del ciclo es la misma que se puede imprimir. INICIOFIN INCREMENTO VARIABLE CICLOPARA NUM = 1, 100, 1IMPRIMA NUMFIN PARA INSTRUCCIONESFIN DEL CICLOPero en la mayora de los casos no es as. Ejemplo: 11. Desarrolle un algoritmo que lea el nombre y la edad de una persona e imprima su nombre y un mensaje que diga si es mayor o menor de edad. Observe que la variable controladoradel ciclo (X) es diferente a las otras dosvariables: NOM y ED.INICIOPARA X = 1, 25,1LEA NOM, EDSI (ED >= 18) ENTIMPRIMIR NOM, MAYOR DE EDADESTO SE REPITIRSINO25 VECES IMPRIMIR NOM, MENOR DE EDADFINSI FIN PARAFIN 12. Calcular el salario neto de N trabajadores, sabiendo que se le hace una retencin del 5% de su bsico. Lea el nmero de horas trabajadas y el valor por hora. INICIOEste ciclo va desde 1 hasta N empleados; pero LEA N como no se conoce su valor (N), antes del ciclo setiene que leer esta variable. PARA K = 1, N, 1 LEA NHORAS, VLRHORALo dems es igual al tipo de ciclo BAS = NHORAS * VLRHORA PARA en el que se conoce el nmero de veces que se repite. RET = BAS * 0.05(Como en el ejercicio anterior) NETO = BAS - RET IMPRIMIR NETOPero no siempre el ciclo tendr incrementosde 1. Existen algoritmos donde se FIN PARA coloquen incrementos de 2 o 3, dependiendo el caso. FIN 13. Desarrolle un algoritmo que imprima los nmeros mltiplos de 5 comprendidos entre 100 y 200. INICIO NUM PARA NUM = 100, 200, 5 100 IMPRIMIR NUM Observe que la variable lleghasta 205; ya que siempre se tiene 105 que pasar del final, para que FIN PARAtermine el ciclo. (Ver Funcionamiento del ciclo PARA). 110 FIN 115 En este ejemplo se muestra el inicio y el fin de la variable del ciclo (100 y 200 respectivamente); pero si ponemos incrementos de 1, se 120 mostrarn los nmeros entre 100 y 200 (100, 101, 102, 103...200) y no los mltiplos de 5 como lo pide el ejercicio; por eso el incremento tiene ... que ser de 5. Los valores que tomar la variables sern los siguientes: 200 205 14. FUNCIONAMIENTO DE UN CICLO PARA Imprimir slo los nmeros positivos de un grupo de 5. INICIOPRUEBA DE ESCRITORIO PARA J = 1, 5, 1JNUM IMPRIMALEA NUM 144SI (NUM > 0) ENT 2 -3IMPRIMIR NUM 30FINSI41010 FIN PARA5-8 FINTERMINA 6 Cuandoprueba, la se inicializa en 1 y evala si se pas variable del ciclo y va hasta la En la llega a J lnea del FINPARA, se incrementa la del final que es (5), como esprimer lnea del ciclo y evala al ciclose ejecuta las instrucciones. falso (J vale 2), falso ingresa si la J y pas del final (5); como es continua leyendo, un nmerollegue a 6. Si leemos los (por ejemplo el 4). y 8Luego se lee hasta que cualquiera en esta lnea nmeros 3, 0, 10 mostrar slo los positivos: 4 y 10. En los dems casos slo se lee el nmero; peroLuego imprime el nmero porque 4 es positivo (en esta lnea).no se imprime. 15. Hacer un algoritmo que lea 6 nmeros e imprimir su cubo.K inicia en 1 y evala si se pas del final (o cual es FALSO; porque 1