SlideShare una empresa de Scribd logo
1 de 17
Lógica de Programación
Estructuras Repetitivas:
                  ciclos

                                             Grupo 248
                        Docente: Ma. Eugenia Morales M.




   Institución Universitaria de Envigado
          Facultad de Ingenierías
Temáticas:
   Estructuras Repetitivas:    Ciclo Mientras
    ◦ Representación            Ciclo Para
    ◦ Funcionamiento            Ciclo Repita Hasta
   CONTADOR: Área de trabajo cuyo incremento o             REGISTRO CENTINELA: Es el último registro que
    decremento es definido. El término contador              contiene una señal de fin de archivo, no se
    está asociado con la acción de contar. Ejemplo:          procesa. Cuando se utiliza el            registro
    la registradora de un bus cuenta el número de            centinela se debe leer antes del ciclo el primer
    pasajeros    que    suben a éste durante un              registro; una vez se procese éste se realiza la
    determinado tiempo o recorrido.                          lectura del siguiente (antes del fin del ciclo).
   ACUMULADOR: Área de trabajo donde se                     No hay que utilizar contador para controlar el
    almacena un valor que puede ser variable. El             final del ciclo.
    término acumulador tiene de acumular (sumar             REGISTRO IDENTIFICADOR: Indica el número de
    cantidades). Por ejemplo: la caja registradora de        iteraciones que deben realizarse en un ciclo. Se
    un      almacén suma cantidades diferentes de            lee antes del ciclo, necesita   de un contador
    pagos, al final de la     jornada muestra un             para controlar cuando se terminan de procesar
    acumulado o suma de                los     valores       todos los registros indicados en el registro
    registrados.                                             identificador.
   PROMEDIO: Resultado de la división de la suma
    de unas variables (acumulador) dividida por el
    número de variables sumadas (contador). (
    PROMEDIO                                         =
    ACUMULADOR/CONTADOR). Cuando el ejercicio
    pide un promedio se debe inicializar un
    Acumulador y un Contador. Generalmente la
    operación del promedio se realiza por fuera del
    ciclo.



Elementos básicos:
   La estructura iterativa o de repetición
    permite ejecutar una o varias
    instrucciones, un número determinado
    de veces o, indefinidamente, mientras
    se cumpla una condición. Esta
    estructura ayuda a simplificar los
    algoritmos..                       (Fuente:
    http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf )
   Para poder implementar acciones
    que           deben            ejecutarse
    repetidamente se utilizan los ciclos o
    bucles y se llama iteración el hecho de
    repetir la ejecución de unas
    determinadas acciones.        Estos    se
    utilizan en un programa cuando se
    necesita repetir varias        veces una
    serie de acciones o instrucciones.
   Las dos principales preguntas que se
    deben hacer al diseñar un bucle son:
     ◦ Que contiene el bucle?
     ◦ Cuántas veces hay que repetir?
     ◦ Cuándo y/o cómo termina el bucle?

Estructuras Repetitivas
 Se utiliza para ejecutar          Sintáxis:
  repetitivamente un conjunto      Variable = Valor inicial;
  o bloque de instrucciones
  mientras se cumple una               MQ (condición) Haga
  condición específica.
                                          Bloque de instrucciones;
 Permite               ejecutar
  repetitivamente el conjunto             incremento;
  de instrucciones hasta que            Fin_MQ
  una variable, contador llegue    Dónde:
  a su valor límite.               Variable: Se inicializa la variable
                                   que controla el ciclo
                                   (contador, centinela o suiche).
                                   Condición: Se evalúa que sea
                                   afirmativa.
                                   Incremento: incrementar el
                                   contador o leer la variable
                                   centinela o la variable suiche.



Ciclo MIENTRAS QUE…
Ejemplo Ciclo MQ con Contador:

 Problema: Realizar un procedimiento que genere e
  imprima los números de 0 al 500
X = Contador generador de los números
Sub_GENERAR (Int:X)
Inicio
     X = 0; //Se inicializa el contador
      MQ (X < 500) Haga
          Esc X;
          X = X + 1; // O se puede escribir X++;
       Fin_MQ
Fin
Ejemplo Ciclo MQ con Centinela:
 Problema: Realizar un procedimiento que lea nombre y
  edad de los 20 estudiantes de un grupo.
Ed = Variable Int que será el centinela
Sub_Datos (Int:Ed; String: Nom[20])
Inicio
     Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee la
variable centinela
      MQ (Ed != 0) Haga
                      Esc “Ingrese nombre”; Lea Nom;
                      Esc Nom,” “, Ed;
             Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee de nuevo la variable
centinela;
       Fin_MQ
Fin
Ejemplo Ciclo MQ con SW:

 Problema: Realizar un procedimiento que lea e
  imprima N números.
Sw = Variable suiche que controla el ciclo
Sub_Numeros (Int:Num)
Inicio
     Sw = ‘s’; //Se inicializa el suiche
      MQ (Sw == `s`) Haga
          Esc “Digite Número: “, Lea Num;
          Esc “Desea otro número s/n: “; Lea Sw;
           ConvMin (Sw); //Función para convertir Sw a minúscula
       Fin_MQ
Fin
   Ejecuta repetitivamente   Sintáxis:
     un conjunto o bloque de PARA (X = vi hasta vf, incremento)
     instrucciones que se         Bloque de instrucciones;
     conoce de antemano y    Fin_PARA
     que por lo tanto no
     requiere de condición Dónde:
     de salida; el contador  X: Variable contador que controla
     para contar el número el ciclo inicial
                             vi: Valor
     de iteraciones se       vf: Valor final (tope del contador.
     incrementa o            Incremento: si no se expresa
     decrementa de modo      otro valor, el incremento por
     automático en un valor defecto es 1.
     constante.


Ciclo PARA:
Ejemplo Ciclo Para con incremento
automático de 1:
 Problema: Realizar un procedimiento que genere e
  imprima los números de 0 al 500
X = Contador generador de los números
Sub_GENERAR (Int:X)
Inicio

      Para (X = 1, 500) Haga
         Esc X;
      Fin_Para
Fin
Ejemplo Ciclo Para con incremento
diferente a 1:
 Problema: Realizar un procedimiento que genere e
  imprima los primeros 10 números pares
X = Contador de los primeros 10 pares (se ejecuta 10
veces del 2 al 20
Sub_GENERAR (Int:X)
Inicio

      Para (X = 2, 20, 2) Haga
         Esc X;
      Fin_Para
Fin
Ejemplo Ciclo Para con
decremento:

 Problema: Realizar un procedimiento que genere e
  imprima los números del 50 al 0
X = Contador generador de los números
Sub_GENERAR (Int:X)
Inicio

      Para (X = 50, 0, -1) Haga
         Esc X;
      Fin_Para
Fin
 Ejecuta repetitivamente un          Sintáxis:
  conjunto     o    bloque      de    Variable = valor inicial;
  instrucciones hasta que se         REPITA
  cumpla una             condición       Bloque de instrucciones;
  determinada      que      puede        Incremento;
  verificarse al principio o la      HASTA (condición ==verdadera);
  final del ciclo. Se ejecuta        //Fin_REPITA
  mientras el valor de la            Donde:
  condición es falso, justo lo       Variable: Se inicializa la variable
  contrario al ciclo mientras.       que controla el ciclo
 La estructura repetir se ejecuta   (contador, centinela o suiche).
  al menos una vez, ya que           Incremento: incrementar el
  cuando la instrucción repetir      contador o leer la variable
  se ejecuta solo se evalúa          centinela o la variable suiche.
  después de ejecutar la las
  instrucciones que hay en el        Condición: Se evalúa que sea
  bucle                              afirmativa.
                                     ; Se cierra el ciclo con el punto y
                                     coma.
Ciclo Repita Hasta:
Ejemplo Ciclo REPITA con Contador:

 Problema: Realizar un procedimiento que genere e
  imprima los números de 0 al 500
X = Contador generador de los números
Sub_GENERAR (Int:X)
Inicio
     X = 0; //Se inicializa el contador
      REPITA
         Esc X;
         X = X + 1; // O se puede escribir X++;
       HASTA (X == 500);
Fin
Ejemplo Ciclo REPITA con Centinela:

 Problema: Realizar un procedimiento que lea nombre
  y edad de los 20 estudiantes de un grupo.
Ed = Variable Int que será el centinela
Sub_Datos (Int:Ed; String: Nom[20])
Inicio
    REPITA
         Esc “Ingrese nombre”; Lea Nom;
         Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee la variable centinela
        Esc Nom,” “, Ed;
    HASTA (Ed == 0);
Fin
Ejemplo Ciclo REPITA con SW:

 Problema: Realizar un procedimiento que lea e
  imprima N números.
Sw = Variable suiche que controla el ciclo
Sub_Numeros (Int:Num)
Inicio
       Sw = ‘s’; //Se inicializa el suiche
       REPITA
         Esc “Digite Número: “, Lea Num;
         Esc “Desea otro número s/n: “; Lea Sw;
          ConvMin (Sw); //Función para convertir Sw a minúscula
       HASTA (Sw == `n`);
Fin
Ejercicios con ciclos controlados por
 contador:               5. Se tiene el nombre y la                             nota de los 20
                                                   estudiantes de un grupo en el quiz de
1. Leer el nombre y la edad de 20                  lógica, imprimir para cada uno si ganó o
   personas y mostrarle a cada una si              perdió el examen. Mostrar al final el
   puede votar o no.                               promedio de la nota, la nota más alta y la
                                                   nota más baja.
2. Leer 20 números y mostrar de cada
                                              6.   Calcular la nota definitiva de 30
   uno si es par su cuadrado, si es impar          estudiantes, teniendo en cuenta que el
   su cubo. Imprimir la suma de los                seguimiento 60% y cada examen un 20%.
   números.                                        Mostrar para cada uno sí ganó, perdió o
3. Deducir de 100 números leídos desde             habilita (nota >2.6 y nota < 3.0). Imprimir la
   el teclado si son positivos, negativos o        nota promedio de la asignatura, la nota más
                                                   alta y la nota más baja.
   iguales a Cero (0). Mostrar al final la
   suma de los positivos y la suma de los     7.   Leer edad y sexo de 50 personas. Mostrar
                                                   al final cuántos son hombres y cuántos son
   negativos.                                      mujeres. Promedio de edad de hombres y
4. Leer 100 números e imprimir para                promedio de edad de mujeres.
   cada uno si es par o impar. Mostrar al
   final el promedio de los pares y el
   promedio de los impares

Más contenido relacionado

La actualidad más candente

Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y cicloslincolnschoolgdl
 
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosEjercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosfabiocelis
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.DENIRAMIREZANDRADE
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.DENIRAMIREZANDRADE
 
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...carolina peña
 
Trabajo de algoritmo
Trabajo de algoritmoTrabajo de algoritmo
Trabajo de algoritmo1002pc1
 
Kelimar guacare
Kelimar guacareKelimar guacare
Kelimar guacarekelimg
 
trabajo de algoritmos
trabajo de algoritmostrabajo de algoritmos
trabajo de algoritmos1002pc8
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1Kathy Granizo
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)Ender Melean
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.DENIRAMIREZANDRADE
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 

La actualidad más candente (16)

Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y ciclos
 
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosEjercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
 
Estructuras de control c3. p2.
Estructuras de control c3. p2.Estructuras de control c3. p2.
Estructuras de control c3. p2.
 
Abc algoritmos
Abc algoritmos Abc algoritmos
Abc algoritmos
 
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
 
Trabajo de algoritmo
Trabajo de algoritmoTrabajo de algoritmo
Trabajo de algoritmo
 
Kelimar guacare
Kelimar guacareKelimar guacare
Kelimar guacare
 
trabajo de algoritmos
trabajo de algoritmostrabajo de algoritmos
trabajo de algoritmos
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
 
Resolucion de 35 programas básicos
Resolucion de 35 programas básicosResolucion de 35 programas básicos
Resolucion de 35 programas básicos
 
01 laboratorio n°2 • algoritmos - soluciones
01 laboratorio n°2 • algoritmos - soluciones01 laboratorio n°2 • algoritmos - soluciones
01 laboratorio n°2 • algoritmos - soluciones
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 

Destacado (11)

Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadores
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Sintaxis Pseint Ciclos Repetitivos
Sintaxis Pseint Ciclos RepetitivosSintaxis Pseint Ciclos Repetitivos
Sintaxis Pseint Ciclos Repetitivos
 
Subir Diapositivas A Blogger
Subir Diapositivas A BloggerSubir Diapositivas A Blogger
Subir Diapositivas A Blogger
 
Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)
 
Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
 
Fundamentos De Algoritmia
Fundamentos De AlgoritmiaFundamentos De Algoritmia
Fundamentos De Algoritmia
 
La logica proposicional
La logica proposicionalLa logica proposicional
La logica proposicional
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 

Similar a Ciclos

Similar a Ciclos (20)

Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
 
ESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINT
 
Guia estructuras cíclicas
Guia estructuras cíclicasGuia estructuras cíclicas
Guia estructuras cíclicas
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
 
Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.Programación de nivel básico 3. c2. p2.
Programación de nivel básico 3. c2. p2.
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Estructura pseudocodigo
Estructura pseudocodigoEstructura pseudocodigo
Estructura pseudocodigo
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
 
Guia4
Guia4Guia4
Guia4
 
Estructura Repetitivas
Estructura RepetitivasEstructura Repetitivas
Estructura Repetitivas
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Ciclos
CiclosCiclos
Ciclos
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dq
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 

Más de memorales_IUE

Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientomemorales_IUE
 
Taller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multipleTaller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multiplememorales_IUE
 
Taller logica ciclo mq centinela 2013
Taller logica ciclo mq  centinela 2013Taller logica ciclo mq  centinela 2013
Taller logica ciclo mq centinela 2013memorales_IUE
 
Taller condicionales marzo22
Taller condicionales marzo22Taller condicionales marzo22
Taller condicionales marzo22memorales_IUE
 
Logica condicionales
Logica condicionalesLogica condicionales
Logica condicionalesmemorales_IUE
 
Logica terminosbasicos presentacion
Logica terminosbasicos presentacionLogica terminosbasicos presentacion
Logica terminosbasicos presentacionmemorales_IUE
 
Logica consulta terminos basicos
Logica consulta terminos basicosLogica consulta terminos basicos
Logica consulta terminos basicosmemorales_IUE
 

Más de memorales_IUE (12)

Arreglos busquedas
Arreglos busquedasArreglos busquedas
Arreglos busquedas
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Arreglos
ArreglosArreglos
Arreglos
 
Taller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multipleTaller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multiple
 
Taller logica ciclo mq centinela 2013
Taller logica ciclo mq  centinela 2013Taller logica ciclo mq  centinela 2013
Taller logica ciclo mq centinela 2013
 
Taller condicionales marzo22
Taller condicionales marzo22Taller condicionales marzo22
Taller condicionales marzo22
 
Logica condicionales
Logica condicionalesLogica condicionales
Logica condicionales
 
Logica subprogramas
Logica subprogramasLogica subprogramas
Logica subprogramas
 
Logica terminosbasicos presentacion
Logica terminosbasicos presentacionLogica terminosbasicos presentacion
Logica terminosbasicos presentacion
 
Logica consulta terminos basicos
Logica consulta terminos basicosLogica consulta terminos basicos
Logica consulta terminos basicos
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 

Ciclos

  • 1. Lógica de Programación Estructuras Repetitivas: ciclos Grupo 248 Docente: Ma. Eugenia Morales M. Institución Universitaria de Envigado Facultad de Ingenierías
  • 2. Temáticas:  Estructuras Repetitivas:  Ciclo Mientras ◦ Representación  Ciclo Para ◦ Funcionamiento  Ciclo Repita Hasta
  • 3. CONTADOR: Área de trabajo cuyo incremento o  REGISTRO CENTINELA: Es el último registro que decremento es definido. El término contador contiene una señal de fin de archivo, no se está asociado con la acción de contar. Ejemplo: procesa. Cuando se utiliza el registro la registradora de un bus cuenta el número de centinela se debe leer antes del ciclo el primer pasajeros que suben a éste durante un registro; una vez se procese éste se realiza la determinado tiempo o recorrido. lectura del siguiente (antes del fin del ciclo).  ACUMULADOR: Área de trabajo donde se No hay que utilizar contador para controlar el almacena un valor que puede ser variable. El final del ciclo. término acumulador tiene de acumular (sumar  REGISTRO IDENTIFICADOR: Indica el número de cantidades). Por ejemplo: la caja registradora de iteraciones que deben realizarse en un ciclo. Se un almacén suma cantidades diferentes de lee antes del ciclo, necesita de un contador pagos, al final de la jornada muestra un para controlar cuando se terminan de procesar acumulado o suma de los valores todos los registros indicados en el registro registrados. identificador.  PROMEDIO: Resultado de la división de la suma de unas variables (acumulador) dividida por el número de variables sumadas (contador). ( PROMEDIO = ACUMULADOR/CONTADOR). Cuando el ejercicio pide un promedio se debe inicializar un Acumulador y un Contador. Generalmente la operación del promedio se realiza por fuera del ciclo. Elementos básicos:
  • 4. La estructura iterativa o de repetición permite ejecutar una o varias instrucciones, un número determinado de veces o, indefinidamente, mientras se cumpla una condición. Esta estructura ayuda a simplificar los algoritmos.. (Fuente: http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf )  Para poder implementar acciones que deben ejecutarse repetidamente se utilizan los ciclos o bucles y se llama iteración el hecho de repetir la ejecución de unas determinadas acciones. Estos se utilizan en un programa cuando se necesita repetir varias veces una serie de acciones o instrucciones.  Las dos principales preguntas que se deben hacer al diseñar un bucle son: ◦ Que contiene el bucle? ◦ Cuántas veces hay que repetir? ◦ Cuándo y/o cómo termina el bucle? Estructuras Repetitivas
  • 5.  Se utiliza para ejecutar  Sintáxis: repetitivamente un conjunto Variable = Valor inicial; o bloque de instrucciones mientras se cumple una MQ (condición) Haga condición específica. Bloque de instrucciones;  Permite ejecutar repetitivamente el conjunto incremento; de instrucciones hasta que Fin_MQ una variable, contador llegue Dónde: a su valor límite. Variable: Se inicializa la variable que controla el ciclo (contador, centinela o suiche). Condición: Se evalúa que sea afirmativa. Incremento: incrementar el contador o leer la variable centinela o la variable suiche. Ciclo MIENTRAS QUE…
  • 6. Ejemplo Ciclo MQ con Contador:  Problema: Realizar un procedimiento que genere e imprima los números de 0 al 500 X = Contador generador de los números Sub_GENERAR (Int:X) Inicio X = 0; //Se inicializa el contador MQ (X < 500) Haga Esc X; X = X + 1; // O se puede escribir X++; Fin_MQ Fin
  • 7. Ejemplo Ciclo MQ con Centinela:  Problema: Realizar un procedimiento que lea nombre y edad de los 20 estudiantes de un grupo. Ed = Variable Int que será el centinela Sub_Datos (Int:Ed; String: Nom[20]) Inicio Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee la variable centinela MQ (Ed != 0) Haga Esc “Ingrese nombre”; Lea Nom; Esc Nom,” “, Ed; Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee de nuevo la variable centinela; Fin_MQ Fin
  • 8. Ejemplo Ciclo MQ con SW:  Problema: Realizar un procedimiento que lea e imprima N números. Sw = Variable suiche que controla el ciclo Sub_Numeros (Int:Num) Inicio Sw = ‘s’; //Se inicializa el suiche MQ (Sw == `s`) Haga Esc “Digite Número: “, Lea Num; Esc “Desea otro número s/n: “; Lea Sw; ConvMin (Sw); //Función para convertir Sw a minúscula Fin_MQ Fin
  • 9. Ejecuta repetitivamente  Sintáxis: un conjunto o bloque de PARA (X = vi hasta vf, incremento) instrucciones que se Bloque de instrucciones; conoce de antemano y Fin_PARA que por lo tanto no requiere de condición Dónde: de salida; el contador X: Variable contador que controla para contar el número el ciclo inicial vi: Valor de iteraciones se vf: Valor final (tope del contador. incrementa o Incremento: si no se expresa decrementa de modo otro valor, el incremento por automático en un valor defecto es 1. constante. Ciclo PARA:
  • 10. Ejemplo Ciclo Para con incremento automático de 1:  Problema: Realizar un procedimiento que genere e imprima los números de 0 al 500 X = Contador generador de los números Sub_GENERAR (Int:X) Inicio Para (X = 1, 500) Haga Esc X; Fin_Para Fin
  • 11. Ejemplo Ciclo Para con incremento diferente a 1:  Problema: Realizar un procedimiento que genere e imprima los primeros 10 números pares X = Contador de los primeros 10 pares (se ejecuta 10 veces del 2 al 20 Sub_GENERAR (Int:X) Inicio Para (X = 2, 20, 2) Haga Esc X; Fin_Para Fin
  • 12. Ejemplo Ciclo Para con decremento:  Problema: Realizar un procedimiento que genere e imprima los números del 50 al 0 X = Contador generador de los números Sub_GENERAR (Int:X) Inicio Para (X = 50, 0, -1) Haga Esc X; Fin_Para Fin
  • 13.  Ejecuta repetitivamente un  Sintáxis: conjunto o bloque de  Variable = valor inicial; instrucciones hasta que se REPITA cumpla una condición Bloque de instrucciones; determinada que puede Incremento; verificarse al principio o la HASTA (condición ==verdadera); final del ciclo. Se ejecuta //Fin_REPITA mientras el valor de la Donde: condición es falso, justo lo Variable: Se inicializa la variable contrario al ciclo mientras. que controla el ciclo  La estructura repetir se ejecuta (contador, centinela o suiche). al menos una vez, ya que Incremento: incrementar el cuando la instrucción repetir contador o leer la variable se ejecuta solo se evalúa centinela o la variable suiche. después de ejecutar la las instrucciones que hay en el Condición: Se evalúa que sea bucle afirmativa. ; Se cierra el ciclo con el punto y coma. Ciclo Repita Hasta:
  • 14. Ejemplo Ciclo REPITA con Contador:  Problema: Realizar un procedimiento que genere e imprima los números de 0 al 500 X = Contador generador de los números Sub_GENERAR (Int:X) Inicio X = 0; //Se inicializa el contador REPITA Esc X; X = X + 1; // O se puede escribir X++; HASTA (X == 500); Fin
  • 15. Ejemplo Ciclo REPITA con Centinela:  Problema: Realizar un procedimiento que lea nombre y edad de los 20 estudiantes de un grupo. Ed = Variable Int que será el centinela Sub_Datos (Int:Ed; String: Nom[20]) Inicio REPITA Esc “Ingrese nombre”; Lea Nom; Esc “Ingrese edad o 0 para salir”; Lea Ed; //Se lee la variable centinela Esc Nom,” “, Ed; HASTA (Ed == 0); Fin
  • 16. Ejemplo Ciclo REPITA con SW:  Problema: Realizar un procedimiento que lea e imprima N números. Sw = Variable suiche que controla el ciclo Sub_Numeros (Int:Num) Inicio Sw = ‘s’; //Se inicializa el suiche REPITA Esc “Digite Número: “, Lea Num; Esc “Desea otro número s/n: “; Lea Sw; ConvMin (Sw); //Función para convertir Sw a minúscula HASTA (Sw == `n`); Fin
  • 17. Ejercicios con ciclos controlados por contador: 5. Se tiene el nombre y la nota de los 20 estudiantes de un grupo en el quiz de 1. Leer el nombre y la edad de 20 lógica, imprimir para cada uno si ganó o personas y mostrarle a cada una si perdió el examen. Mostrar al final el puede votar o no. promedio de la nota, la nota más alta y la nota más baja. 2. Leer 20 números y mostrar de cada 6. Calcular la nota definitiva de 30 uno si es par su cuadrado, si es impar estudiantes, teniendo en cuenta que el su cubo. Imprimir la suma de los seguimiento 60% y cada examen un 20%. números. Mostrar para cada uno sí ganó, perdió o 3. Deducir de 100 números leídos desde habilita (nota >2.6 y nota < 3.0). Imprimir la el teclado si son positivos, negativos o nota promedio de la asignatura, la nota más alta y la nota más baja. iguales a Cero (0). Mostrar al final la suma de los positivos y la suma de los 7. Leer edad y sexo de 50 personas. Mostrar al final cuántos son hombres y cuántos son negativos. mujeres. Promedio de edad de hombres y 4. Leer 100 números e imprimir para promedio de edad de mujeres. cada uno si es par o impar. Mostrar al final el promedio de los pares y el promedio de los impares