Estructuras de                                                                 Repetición                                 ...
Estructuras de                                                              Repetición                Hemos visto que en l...
Estructuras de                                                                Repetición              Podemos codificar pr...
Estructuras de                                                                Repetición               ¿Qué harías si se t...
Estructuras de                                                                                                  Repetición...
Estructuras de                                                            Repetición          Hay dos tipos de estructuras...
Estructuras de                                                               Repetición                    Repetición un n...
Estructuras de                                                               Repetición                                   ...
Estructuras de                                   Inicialización                                                           ...
Estructuras de                                                                 Repetición              La respuesta es : S...
Estructuras de                                                                        Repetición                          ...
Estructuras de                                                                                                       Repet...
Estructuras de                                                               Repetición              ¿Cómo resolvemos el s...
Estructuras de                                                                                  Repetición       Codificac...
Estructuras de                                                                  Repetición              ¿Qué pasa si a est...
Estructuras de                                                                         Repetición          Utilizamos un a...
Estructuras de                                                            Repetición                Pasemos ahora a estudi...
Upcoming SlideShare
Loading in …5
×

Repeticion condicionada

1,381 views
1,345 views

Published on

Material de apoyo para la asignatura bptpr01 Programación para Ingeniería de la Universidad Metropolitana.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,381
On SlideShare
0
From Embeds
0
Number of Embeds
56
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Repeticion condicionada

  1. 1. Estructuras de Repetición Estructuras de RepeticiónDepartamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  2. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  3. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  4. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  5. 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 SubDepartamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  6. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  7. 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-mientrasDepartamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  8. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  9. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  10. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  11. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  12. 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 SubDepartamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  13. 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 5Departamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  14. 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”) WendDepartamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve
  15. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  16. 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 yTecnología Educativa mrodriguez@unimet.edu.ve
  17. 17. Estructuras de Repetición Pasemos ahora a estudiar las repeticiones indexadas….Departamento de Programación yTecnología Educativa mrodriguez@unimet.edu.ve

×