5/31/2011

CICLOS REPETITIVOS EN VISUAL BASIC

1. Instrucción If...Then...Else (Visual Basic)

Ejecuta de forma condicional un grupo de instrucciones, dependiendo del valor de una expresión.

If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]

Partes

condition

Obligatorio. Expresión. Se debe evaluar como True o False, o como un tipo de datos que es implícitamente convertible a Boolean.

Then

Obligatorio en la forma de una línea, opcional en la forma de varias líneas.

statements

Opcional. Se ejecutan una o más instrucciones que siguen a If...Then que se ejecutan si condition se evalúa como True.

elseifcondition

Obligatorio si ElseIf está presente. Expresión. Se debe evaluar como True o False, o como un tipo de datos que es implícitamente convertible a Boolean.

elseifstatements

Opcional. Se ejecutan una o más instrucciones que siguen a ElseIf...Then que se ejecutan si elseifcondition se evalúa como True.

elsestatements

Opcional. Una o más instrucciones que se ejecutan si ninguna expresión condition o elseifcondition anterior se evalúa como True.

End If

Termina el bloque If...Then...Else.

2. Ciclos usando Do While y Do Until

En el Do While, se ejecutan las instrucciones mientras sea cierta la expresión de control.

Ej.:

Private Sub Command1_Click( )

Dim Control as Long

On Error Resume Next

Control = Text1.Text

Form1.BackColor = vbWhite

Do While Control <> 0

Label2.Caption = “Valor: ” & Control

If Form1.BackColor = vbWhite Then

Form1.BackColor = vbRed

Else

Form1.BackColor = vbWhite

End If

Control = Text1.Text

DoEvents

Loop

MsgBox “Loop completado”

End Sub



En el ejemplo presentado, la forma cambiará de color blanco a rojo y viceversa mientras el texto de Text1 sea diferente a cero (0). Tan pronto el valor del texto sea igual a cero, el ciclo terminará su ejecución. Se utiliza la línea On Error Resume Next para indicarle a Visual Basic que siga ejecutando la forma, aún cuando ocurra un error de ejecución. Esta instrucción es necesaria dado que en el ciclo Do While se lee continuamente el texto del Text1. Si la línea On Error Resume Next no se escribe y en algún momento se borra el texto para escribir otro valor, Visual Basic daría error al leer el texto en ese instante.

En Do While Control <> 0, la expresión de control es Control <> 0. Esta es la expresión que controla el ciclo. Al ser evaluada, solo puede tomar el valor de True (cierto) o False (falso). Dependiendo de ese valor, es ejecutado el ciclo. Si el valor es True, las instrucciones dentro del ciclo se ejecutan. Si el valor es False, Visual Basic ejecuta la instrucción que le sigue a la línea Loop. Esta expresión de control también se conoce como “boolean expression”.

La línea DoEvents es esencial, pues le indica a Visual Basic que en cada loop o ciclo espere unos segundos para recibir mensajes a través de Windows. Sin esta línea, el Do While se ejecutaría tan rápido que no sería posible hacer alguna entrada (input) al proyecto, asumiendo que sea necesario el “input” en el ciclo (como en el ejemplo).

La línea Loop indica el final de las instrucciones que están dentro del Do While loop. En este punto, Visual Basic regresa a la línea donde comienza el Do While y verifica la expresión de control. Si todavía es cierta la expresión, el ciclo se ejecuta nuevamente.



En el Do Until, se ejecutan las instrucciones hasta que la expresión de control sea cierta.

Ej.:

Private Sub Command1_Click( )

Dim Control as Long

On Error Resume Next

Control = Text1.Text

Form1.BackColor = vbWhite

Do Until Control = 0

Label2.Caption = “Valor: ” & Control

If Form1.BackColor = vbWhite Then

Form1.BackColor = vbRed

Else

Form1.BackColor = vbWhite

End If

Control = Text1.Text

DoEvents

Loop

MsgBox “Loop completado”

End Sub



En el ejemplo, las instrucciones dentro del Do Until se ejecutan hasta que el valor entrado en el texto del Text1 sea igual a cero. Se debe notar que la única línea que cambió fue la línea del Do Until. Las otras instrucciones explicadas en el Do While (On Error Resume Next, DoEvents y Loop) cumplen las mismas funciones en el Do Until.



Es importante señalar la diferencia principal entre el Do While y el Do Until; en el primero el ciclo se ejecuta mientras la expresión de control es cierta, en el segundo el ciclo se ejecuta hasta que la expresión de control sea cierta.

Una característica en común que tienen los dos ciclos presentados es que la expresión de control se verifica antes de entrar al ciclo o “loop”. Si la condición para entrar al “loop” no se cumple, el ciclo no se ejecuta.



Ejercicio de práctica:

1. Crear una forma como la siguiente:




2. Do While:

En el comando Ciclo con While, escribir el código del ejemplo de Do While. Ejecutar el programa y observar que cuando se oprime ese comando, la forma cambia de color continuamente. Escribir 0 (cero) para terminar la ejecución.



3. Do Until:

En el comando Ciclo con Until, escribir el código del ejemplo de Do Until (en realidad, en ambos códigos sólo cambia la línea del Do). Comprobar que la ejecución es igual a la del Do While.


3. CICLO FOR EN VISUAL BASIC


Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.

En visual basic net este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instruccion simple o compuesta.

Su formato general es:

FOR VARCICLO=VALORINICIAL TO VALORFINAL [STEP INCR O DECR]

INSTRUCCION(ES)

NETX

EJEMPLO

Codigo prog12.aspx y recuerden subirlo y pedirlo con:

http://programacionfacil.com:4080/tusitio/prog12.aspx.

No hay comentarios:

Publicar un comentario