SlideShare una empresa de Scribd logo
1 de 17
Estructuras de
                                                                 Repetición




                                 Estructuras de Repetición



Departamento de Programación y
Tecnología Educativa                                              mrodriguez@unimet.edu.ve
Estructuras de
                                                              Repetición




                Hemos visto que en la mayoría de los problemas a
                resolver existen procesos que se hacen una sola vez y
                procesos que se repiten varias veces.

Departamento de Programación y
Tecnología Educativa                                            mrodriguez@unimet.edu.ve
Estructuras de
                                                                Repetición


              Podemos codificar problemas donde las acciones se
              ejecutan sólo una vez.


              ¿Qué pasa si necesito repetir las acciones?


              La estructura de repetición nos permite indicar las acciones
              que queremos repetir, un número determinado o
              indeterminado de veces.



Departamento de Programación y
Tecnología Educativa                                             mrodriguez@unimet.edu.ve
Estructuras de
                                                                Repetición

               ¿Qué harías si se te presenta el siguiente ejercicio:

               Leer los datos de un grupo de personas. Imprimir los
               nombres solo de aquellos que sean del sexo masculino.




                 Observa que debemos repetir la lectura y chequeo de
                 los datos, tantas veces como personas haya en el
                 grupo.



Departamento de Programación y
Tecnología Educativa                                               mrodriguez@unimet.edu.ve
Estructuras de
                                                                                                  Repetición
                  Se utilizaría entonces la siguiente codificación:

                            Dim Nombre As String, Sexo As String, Respuesta As String
                            Sub Principal()
                              ' Inicializar la posicion en la hoja de calculo                   Se van a REPETIR el
                              Lineas = 2                                                        proceso de leer y escribir
                              'Variable de control del ciclo
                              Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos")
                                                                                                datos mientras Si hay más
                              ' ciclo de repeticion                                             datos que leer
                              While Respuesta <> vbYes
                              ' Lectura de Datos
                                  Nombre = InputBox("Cuál es tú nombre?", "Nombre")
                                  Sexo = InputBox("Escriba M (Masculino) o F (femenino)", "Sexo")
                              ' Escritura del reporte en la hoja de calculo
                                  If Sexo = "M" Then
                                   Sheets("Salida").Cells(Lineas, 1) = Nombre
                              ' incrementar una linea en la hoja de calculo
                                  Lineas = Lineas + 1
                                  End If
                                  ' actualizar la variable de control del ciclo
                                  Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos")
                              Wend
                            End Sub


Departamento de Programación y
Tecnología Educativa                                                                                      mrodriguez@unimet.edu.ve
Estructuras de
                                                            Repetición
          Hay dos tipos de estructuras de repetición:


          La primera es aquella en la cual el número de repeticiones
          es desconocido         y se hará mientras se cumpla cierta

          condición. Se conoce como Repetición Condicionada.

          La segunda es aquella en donde se tiene perfectamente
          establecido el número de veces que un grupo de acciones
          se va a ejecutar (20, 5, 2 veces). Esta se conoce como
          Repetición Indexada.



Departamento de Programación y
Tecnología Educativa                                         mrodriguez@unimet.edu.ve
Estructuras de
                                                               Repetición

                    Repetición un número indeterminado de veces
              La primera forma de estructura repetitiva es para
              aquellos casos donde no se conoce el número de
              repeticiones o iteraciones en que se va a ejecutar una
              acción o un bloque de acciones.


                         Estructura

                                 Mientras se cumpla una condición
                                       ...
                                 fin-mientras

Departamento de Programación y
Tecnología Educativa                                                mrodriguez@unimet.edu.ve
Estructuras de
                                                               Repetición
                                       While (condición)
             En Visual Basic Sería:          acción1
                                             accion2
                                             ...
                                       Wend

             Las instrucciones acción1, acción2 hasta la instrucción
             Wend se repetirán mientras la condición sea verdadera.

             Debemos identificar la condición de parada, la cual
             indica cuándo termina la repetición.

             Se trata entonces, de una toma de decisión para repetir un
             proceso mientras se cumpla una condición, y salir de él al
             momento de no cumplirse.
Departamento de Programación y
Tecnología Educativa                                            mrodriguez@unimet.edu.ve
Estructuras de
                                   Inicialización
                                                              Repetición
           Veamos el siguiente                        Y sí está
           ejemplo:                                   instrucción no se
                        Numero = 10                   coloca, ¿qué
                        While (Numero > 0)            pasa?
                         MsgBox (Numero)
                         Numero = Numero - 1
                        Wend

                                         Modificación


             La variable Numero que controla la condición de
             parada debe ser inicializada antes de la repetición y
             modifica dentro de la repetición.
             La repetición puede no ejecutarse nunca.
Departamento de Programación y
Tecnología Educativa                                             mrodriguez@unimet.edu.ve
Estructuras de
                                                                 Repetición

              La respuesta es : Si no se coloca esa

              instrucción ocurren Infinitas repeticiones!!!!




                                 Al no modificarse la variable la condición
                                 es siempre verdadera y por lo tanto la
                                 repetición no termina.



Departamento de Programación y
Tecnología Educativa                                                mrodriguez@unimet.edu.ve
Estructuras de
                                                                        Repetición


                                 ¿Y qué pasaría en este caso?
                                                            Contador se inicializa en 5
                                 Contador = 5           Entra en la repetición
         Entra de nuevo a la     While contador <> 0    porque Contador <> 0
         repetición porque Contador    contador = contador - 3
         <> 0                    Wend
                                                Contador ahora Contador ahora vale 2
                                                               vale -1
                                                Entra de nuevo a la repetición
                                                porque Contador <> 0




                  Respuesta: Nunca se sale de la repetición...
Departamento de Programación y
Tecnología Educativa                                                         mrodriguez@unimet.edu.ve
Estructuras de
                                                                                                       Repetición
                  ¿Qué vemos entonces nuestro programa?
                                 Dim Nombre As String, Sexo As String, Respuesta As String
                                 Sub Principal()                                                       Inicialización de la
                                   ' Inicializar la posicion en la hoja de calculo                     variable Respuesta
                                   Lineas = 2
                                   'Variable de control del ciclo
                                   Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos")
                                   ' ciclo de repeticion
                                   While Respuesta <> vbYes                                       Condición de parada:
                                   ' Lectura de Datos                                             Respuesta = VbNo
                                       Nombre = InputBox("Cuál es tú nombre?", "Nombre")
                                       Sexo = InputBox("Escriba M (Masculino) o F (femenino)", "Sexo")
                                   ' Escritura del reporte en la hoja de calculo
                                       If Sexo = "M" Then
                                        Sheets("Salida").Cells(Lineas, 1) = Nombre
                                   ' incrementar una linea en la hoja de calculo
                                       Lineas = Lineas + 1
                                       End If
                                                                                                        Modificación de la
                                       ' actualizar la variable de control del ciclo
                                       Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos")           variable Respuesta
                                   Wend
                                 End Sub


Departamento de Programación y
Tecnología Educativa                                                                                          mrodriguez@unimet.edu.ve
Estructuras de
                                                               Repetición


              ¿Cómo resolvemos el siguiente enunciado?


              Dado el precio de varios productos, codifique las
              instrucciones para calcular el monto final a pagar por
              cada uno, sabiendo que se hace un descuento de
              acuerdo a la siguiente tabla:

                                 precio (Bs.)     descuento (%)
                                  > 10.000            6
                                  <= 10.000           5


Departamento de Programación y
Tecnología Educativa                                              mrodriguez@unimet.edu.ve
Estructuras de
                                                                                  Repetición

       Codificación en VBA:

             Precio = InputBox (“Diga el Precio” , “Precio”)
             While ( Precio <> 0 )                           Las variaciones de la
                If (Precio > 10.000) then                    variable Precio controlan la
                                                                       cantidad de veces que se
                                 Monto = (Precio – (Precio * 0.06)) hace la repetición: si no
                     else                                              hay más productos que
                                                                       revisar, se coloca Precio=0
                                 Monto = Precio – (Precio * 0.05))     y termina la repetición
                endif
                msgbox (“El monto a pagar es:” & Monto)
                Precio = InputBox (“Diga el siguiente precio” , “Precio”)
             Wend


Departamento de Programación y
Tecnología Educativa                                                                   mrodriguez@unimet.edu.ve
Estructuras de
                                                                  Repetición



              ¿Qué pasa si a este enunciado le agregamos :


              Se desea un total de los montos a pagar por todos los productos.



              ¿Cómo calculamos ese monto total?

              Deberíamos sumar cada uno de los montos a pagar por
              producto a medida que los vayamos calculando.


Departamento de Programación y
Tecnología Educativa                                                 mrodriguez@unimet.edu.ve
Estructuras de
                                                                         Repetición
          Utilizamos un acumulador de nombre AcuMonto
             AcuMonto = 0
             Precio = InputBox (“Diga el precio” , “Precio”)
             While ( Precio <> 0 )
                If (Precio > 10.000) then
                       Monto = (Precio – (Precio * 0.06))
                     else
                                 Monto = Precio – (Precio * 0.05))   Cuando termina la
                endif                                                repetición, se
                                                                     ejecuta la siguiente
                msgbox (“El monto a pagar es:” & Monto)
                                                                     instrucción debajo
                AcuMonto = AcuMonto + Monto                          de Wend
                Precio = InputBox (“Diga el siguiente precio” , “Precio”)
             Wend
             msgbox (“El monto total es:” & AcuMonto)
Departamento de Programación y
Tecnología Educativa                                                        mrodriguez@unimet.edu.ve
Estructuras de
                                                            Repetición




                Pasemos ahora a estudiar las repeticiones indexadas….



Departamento de Programación y
Tecnología Educativa                                           mrodriguez@unimet.edu.ve

Más contenido relacionado

Similar a Repeticion condicionada

Diaposivas final
Diaposivas finalDiaposivas final
Diaposivas finalPonchale
 
Taller algoritmo
Taller   algoritmoTaller   algoritmo
Taller algoritmoleleAngie
 
Diseño y realizacion
Diseño y realizacionDiseño y realizacion
Diseño y realizacionWilliam Conya
 
Introduccion a Programación
Introduccion a ProgramaciónIntroduccion a Programación
Introduccion a Programaciónandresgrdesaing
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectivaRicardo510
 
Unidad 1: Estructuras de control y condicionales
Unidad 1: Estructuras de control y condicionalesUnidad 1: Estructuras de control y condicionales
Unidad 1: Estructuras de control y condicionalesmariabelentoledoille
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresmetalvash
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertosAngel Reyes
 
Experimentación en la ingeniería de software
Experimentación en la ingeniería de softwareExperimentación en la ingeniería de software
Experimentación en la ingeniería de softwareEsteban Sanin Angel
 
Principios Basico de Diseño
Principios Basico de DiseñoPrincipios Basico de Diseño
Principios Basico de DiseñoIris Guerrero
 
Taller algoritmo
Taller  algoritmoTaller  algoritmo
Taller algoritmoleleAngie
 

Similar a Repeticion condicionada (16)

Diaposivas final
Diaposivas finalDiaposivas final
Diaposivas final
 
Taller algoritmo
Taller algoritmoTaller algoritmo
Taller algoritmo
 
Taller algoritmo
Taller   algoritmoTaller   algoritmo
Taller algoritmo
 
Diseño y realizacion
Diseño y realizacionDiseño y realizacion
Diseño y realizacion
 
Ana presentacion
Ana presentacionAna presentacion
Ana presentacion
 
Sistema experto
Sistema expertoSistema experto
Sistema experto
 
Introduccion a Programación
Introduccion a ProgramaciónIntroduccion a Programación
Introduccion a Programación
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Unidad 1: Estructuras de control y condicionales
Unidad 1: Estructuras de control y condicionalesUnidad 1: Estructuras de control y condicionales
Unidad 1: Estructuras de control y condicionales
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadores
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Experimentación en la ingeniería de software
Experimentación en la ingeniería de softwareExperimentación en la ingeniería de software
Experimentación en la ingeniería de software
 
Principios Basico de Diseño
Principios Basico de DiseñoPrincipios Basico de Diseño
Principios Basico de Diseño
 
Reportes Java
Reportes JavaReportes Java
Reportes Java
 
Taller algoritmo
Taller  algoritmoTaller  algoritmo
Taller algoritmo
 
123qw
123qw123qw
123qw
 

Último

actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Último (20)

actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

Repeticion condicionada

  • 1. Estructuras de Repetición Estructuras de Repetición Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 2. Estructuras de Repetición Hemos visto que en la mayoría de los problemas a resolver existen procesos que se hacen una sola vez y procesos que se repiten varias veces. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 3. Estructuras de Repetición Podemos codificar problemas donde las acciones se ejecutan sólo una vez. ¿Qué pasa si necesito repetir las acciones? La estructura de repetición nos permite indicar las acciones que queremos repetir, un número determinado o indeterminado de veces. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 4. Estructuras de Repetición ¿Qué harías si se te presenta el siguiente ejercicio: Leer los datos de un grupo de personas. Imprimir los nombres solo de aquellos que sean del sexo masculino. Observa que debemos repetir la lectura y chequeo de los datos, tantas veces como personas haya en el grupo. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 5. Estructuras de Repetición Se utilizaría entonces la siguiente codificación: Dim Nombre As String, Sexo As String, Respuesta As String Sub Principal() ' Inicializar la posicion en la hoja de calculo Se van a REPETIR el Lineas = 2 proceso de leer y escribir 'Variable de control del ciclo Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos") datos mientras Si hay más ' ciclo de repeticion datos que leer While Respuesta <> vbYes ' Lectura de Datos Nombre = InputBox("Cuál es tú nombre?", "Nombre") Sexo = InputBox("Escriba M (Masculino) o F (femenino)", "Sexo") ' Escritura del reporte en la hoja de calculo If Sexo = "M" Then Sheets("Salida").Cells(Lineas, 1) = Nombre ' incrementar una linea en la hoja de calculo Lineas = Lineas + 1 End If ' actualizar la variable de control del ciclo Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos") Wend End Sub Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 6. Estructuras de Repetición Hay dos tipos de estructuras de repetición: La primera es aquella en la cual el número de repeticiones es desconocido y se hará mientras se cumpla cierta condición. Se conoce como Repetición Condicionada. La segunda es aquella en donde se tiene perfectamente establecido el número de veces que un grupo de acciones se va a ejecutar (20, 5, 2 veces). Esta se conoce como Repetición Indexada. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 7. Estructuras de Repetición Repetición un número indeterminado de veces La primera forma de estructura repetitiva es para aquellos casos donde no se conoce el número de repeticiones o iteraciones en que se va a ejecutar una acción o un bloque de acciones. Estructura Mientras se cumpla una condición ... fin-mientras Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 8. Estructuras de Repetición While (condición) En Visual Basic Sería: acción1 accion2 ... Wend Las instrucciones acción1, acción2 hasta la instrucción Wend se repetirán mientras la condición sea verdadera. Debemos identificar la condición de parada, la cual indica cuándo termina la repetición. Se trata entonces, de una toma de decisión para repetir un proceso mientras se cumpla una condición, y salir de él al momento de no cumplirse. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 9. Estructuras de Inicialización Repetición Veamos el siguiente Y sí está ejemplo: instrucción no se Numero = 10 coloca, ¿qué While (Numero > 0) pasa? MsgBox (Numero) Numero = Numero - 1 Wend Modificación La variable Numero que controla la condición de parada debe ser inicializada antes de la repetición y modifica dentro de la repetición. La repetición puede no ejecutarse nunca. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 10. Estructuras de Repetición La respuesta es : Si no se coloca esa instrucción ocurren Infinitas repeticiones!!!! Al no modificarse la variable la condición es siempre verdadera y por lo tanto la repetición no termina. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 11. Estructuras de Repetición ¿Y qué pasaría en este caso? Contador se inicializa en 5 Contador = 5 Entra en la repetición Entra de nuevo a la While contador <> 0 porque Contador <> 0 repetición porque Contador contador = contador - 3 <> 0 Wend Contador ahora Contador ahora vale 2 vale -1 Entra de nuevo a la repetición porque Contador <> 0 Respuesta: Nunca se sale de la repetición... Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 12. Estructuras de Repetición ¿Qué vemos entonces nuestro programa? Dim Nombre As String, Sexo As String, Respuesta As String Sub Principal() Inicialización de la ' Inicializar la posicion en la hoja de calculo variable Respuesta Lineas = 2 'Variable de control del ciclo Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos") ' ciclo de repeticion While Respuesta <> vbYes Condición de parada: ' Lectura de Datos Respuesta = VbNo Nombre = InputBox("Cuál es tú nombre?", "Nombre") Sexo = InputBox("Escriba M (Masculino) o F (femenino)", "Sexo") ' Escritura del reporte en la hoja de calculo If Sexo = "M" Then Sheets("Salida").Cells(Lineas, 1) = Nombre ' incrementar una linea en la hoja de calculo Lineas = Lineas + 1 End If Modificación de la ' actualizar la variable de control del ciclo Respuesta = MsgBox("Hay Más Datos?", vbYesNo, "Datos") variable Respuesta Wend End Sub Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 13. Estructuras de Repetición ¿Cómo resolvemos el siguiente enunciado? Dado el precio de varios productos, codifique las instrucciones para calcular el monto final a pagar por cada uno, sabiendo que se hace un descuento de acuerdo a la siguiente tabla: precio (Bs.) descuento (%) > 10.000 6 <= 10.000 5 Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 14. Estructuras de Repetición Codificación en VBA: Precio = InputBox (“Diga el Precio” , “Precio”) While ( Precio <> 0 ) Las variaciones de la If (Precio > 10.000) then variable Precio controlan la cantidad de veces que se Monto = (Precio – (Precio * 0.06)) hace la repetición: si no else hay más productos que revisar, se coloca Precio=0 Monto = Precio – (Precio * 0.05)) y termina la repetición endif msgbox (“El monto a pagar es:” & Monto) Precio = InputBox (“Diga el siguiente precio” , “Precio”) Wend Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 15. Estructuras de Repetición ¿Qué pasa si a este enunciado le agregamos : Se desea un total de los montos a pagar por todos los productos. ¿Cómo calculamos ese monto total? Deberíamos sumar cada uno de los montos a pagar por producto a medida que los vayamos calculando. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 16. Estructuras de Repetición Utilizamos un acumulador de nombre AcuMonto AcuMonto = 0 Precio = InputBox (“Diga el precio” , “Precio”) While ( Precio <> 0 ) If (Precio > 10.000) then Monto = (Precio – (Precio * 0.06)) else Monto = Precio – (Precio * 0.05)) Cuando termina la endif repetición, se ejecuta la siguiente msgbox (“El monto a pagar es:” & Monto) instrucción debajo AcuMonto = AcuMonto + Monto de Wend Precio = InputBox (“Diga el siguiente precio” , “Precio”) Wend msgbox (“El monto total es:” & AcuMonto) Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve
  • 17. Estructuras de Repetición Pasemos ahora a estudiar las repeticiones indexadas…. Departamento de Programación y Tecnología Educativa mrodriguez@unimet.edu.ve