Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMateo Olavarria Modificado hace 10 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.