La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel.

Presentaciones similares


Presentación del tema: "While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel."— Transcripción de la presentación:

1 While Leonel Morales Díaz Ingeniería Simple leonel@ingenieriasimple.com Disponible en: http://www.ingenieriasimple.com/introprogra Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados

2 While Repetir un bloque Mientras se cumpla una condición No sabemos exactamente cuándo

3 While Do While Condición Instrucciones [Exit Do] Instrucciones Loop while (Condición) { Instrucciones [break;] Instrucciones }

4 Ejemplo Option Explicit Dim Ahorita, i Ahorita = Time i = 0 Document.Write Do While Time – Ahorita < TimeSerial(0,0,1) Document.Write Ahorita: & Ahorita & – Document.Write Time: & Time & – Document.Write diferencia: & (Time – Ahorita) & i = i + 1 Loop Document.Write Se ejecutó el loop: & i & veces ej041.html

5 Preguntas ¿Es constante la cantidad de veces que se ejecuta el loop? ¿Por qué no es constante?

6 Ejemplo (otra versión) Option Explicit Dim Ahorita, i Ahorita = Time i = 0 Document.Write Do While Time – Ahorita < TimeSerial(0,0,1) Document.Write Ahorita: & Ahorita & – Time: & Time & – diferencia: & (Time – Ahorita) & i = i + 1 Loop Document.Write Se ejecutó el loop: & i & veces ej042.html

7 Conclusiones Una sola operación Document.Write Es más rápida que 3 seguidas Hay que tomarlo en cuenta En 1 segundo pasan muchas cosas Y si la compu es rápida Más cosas todavía

8 Otra forma de While Do Instrucciones [Exit Do] Instrucciones Loop While Condición Do Until Condición... Loop Do... Loop Until Condición

9 While anidado Dim x,y x = 0 y = 10 Do While x < y x = x + 2 Do While y*x > 15 y = y – 1 Loop Document.Write x = & x & - y = & y ej043.html

10 Condición compuesta Dim i,j i = 0 Do While i < 100 And Time < TimeSerial(12,0,0) j = 0 Document.Write Do While j < i Document.Write * j = j + 1 Loop Document.Write i = i + 1 Loop ej044.html

11 Elementos del Ciclo Dim i,j i = 0 Do While i < 100 And Time < TimeSerial(12,0,0) j = 0 Document.Write Do While j < i Document.Write * j = j + 1 Loop Document.Write i = i + 1 Loop ej044.htmlInicialización Incremento

12 Formato Dim i,j i = 0 Do While i < 100 And Time < TimeSerial(12,0,0) j = 0 Document.Write Do While j < i Document.Write * j = j + 1 Loop Document.Write i = i + 1 Loop ej044.html Sangría o Tabulación

13 For... Next

14 Repetir un bloque Una cantidad exacta de veces En base a una variable Llamada contador Usualmente i, j, k

15 Ejemplo Imprime los números del 1 al 50 Dim i Document.Write For i = 1 To 50 Document.Write i &, Next Document.Write

16 Ejemplo Imprime los números del 1 al 50 Dim i Document.Write For i = 1 To 50 Document.Write i &, Next Document.Write Inicio del ciclo Fin del ciclo

17 Observaciones Los ciclos For pueden Ser anidados Ser cambiados por un While Ser interrumpidos por un Exit For Avanzar en más de uno Retroceder

18 Ejemplo Imprime los números del 1 al 50 Dim i Document.Write For i = 1 To 50 Document.Write i &, Next Document.Write Imprime los números del 1 al 50 con While Dim i Document.Write i = 0 Do While i < 50 Document.Write i &, i = i + 1 Loop Document.Write

19 Ejemplo Construír una lista de todas las horas y minutos del día 00:00, 00:01, 00:02,... 05:34,... Con el número correlativo del minuto 00:00 – 0, 00:01 – 1, 00:02 – 2,... 00:59 – 59, 01:00 – 60, 01:01 – 61,...

20 Construcción Dim i,j,k k = 0 Document.Write For i = 0 To 23 For j = 0 To 59 Document.Write i & : & j & – & k & k = k + 1 Next Document.Write ej045.html

21 If – Then – Else

22 Construcción If – Then – Else Ejecuta condicionalmente un bloque Si la condición no se cumple Puede ejecutar otro bloque También puede anidarse Cuidado con el Else !!!

23 Sintáxis If Condición Then Instrucciones Else Instrucciones End If if (Condición) { Instrucciones } else { Instrucciones }

24 Problemas con el Else Imprime buenos días si es antes de medio día, buenas tardes si es pasado medio día y agrega buen provecho si es antes de las 14:00 Dim Ahora Ahora = Time If Ahora > TimeSerial(12,0,0) Then Document.Write Buenas tardes If Ahora < TimeSerial(14,0,0) Then Document.Write, buen provecho Else Document.Write Buenos días End If

25 Problemas con el Else Imprime buenos días si es antes de medio día, buenas tardes si es pasado medio día y agrega buen provecho si es antes de las 14:00 Dim Ahora Ahora = Time If Ahora > TimeSerial(12,0,0) Then Document.Write Buenas tardes If Ahora < TimeSerial(14,0,0) Then Document.Write, buen provecho Else Document.Write Buenos días End If Falta un Else

26 Ejemplo Construír una tabla De 20x12 Con todas las celdas numeradas Correlativamente (1 a 240) Pintando de rojo aquellas que: Son múltiplos de 5

27 Primera aproximación Tabla de 20x12, con celdas numeradas del 1 al 240, pintando de rojo las que son múltiplos de 5 Document.Write Dim i,j,k k = 1 For i = 1 To 20 Document.Write For j = 1 To 12 Document.Write & k & k = k + 1 Next Document.Write Next Document.Write ej046.html

28 Agregando el color Dim i,j,k k = 1 For i = 1 To 20 Document.Write For j = 1 To 12 If k mod 5 = 0 Then Document.Write Else End If Document.Write k & k = k + 1 Next Document.Write Next Document.Write ej047.html

29 Preguntas ¿Puede sustituírse un If – Then – Else con un While? ¿Podríamos hacerlo todo solo con While? ¿Por qué tener estructuras diferentes?

30 Ejercicio 1 Dim i,j,k k = 0 Document.Write For i = 0 To 23 For j = 0 To 59 Document.Write i & : & j & – & k & k = k + 1 Next Document.Write

31 Ejercicio 2 Tabla de 20x12, con celdas numeradas del 1 al 240, pintando de rojo las que son múltiplos de 5 Document.Write Dim i,j,k k = 1 For i = 1 To 20 Document.Write For j = 1 To 12 If k mod 5 = 0 Then Document.Write Else Document.Write End If Document.Write k & k = k + 1 Next Document.Write Next Document.Write


Descargar ppt "While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel."

Presentaciones similares


Anuncios Google