visual basic.net : estructuras de control(5)

14
1 Lola Cano Gil If condición Then instrucción ESTRUCTURAS DE CONTROL 1. CONDICIONALES SIMPLES La instrucción de condición en VB es el if que dispone de varios formatos. Formato 1: Para ejecutar condicionalmente una sola instrucción. Solo dispone de la parte cierta. Formato 2: Para ejecutar condicionalmente múltiples instrucciones en el caso de ser cierta la condición Formato 3: Evalúa la condición y si es verdadera ejecuta la instrucción1 en caso de ser falsa ejecutaría la instrucción2. Formato 4: Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresión 1-Se puede usar la forma de una sola línea (formato 1 y formato 3) para pruebas cortas y sencillas. Sin embargo, la forma de bloque del resto de los formatos proporciona más estructura y flexibilidad que la forma de línea simple y, generalmente, es más fácil de leer, de mantener y de depurar. 2- Con los formatos 1 y 3 es posible ejecutar múltiples instrucciones como resultado de una decisión If...Then, pero todos deben estar en la misma línea y separados por dos puntos, como en la instrucción siguiente: If A > 10 Then A = A + 1 : B = B + A : C = C + B 3-El código que sigue a la palabra clave Then se examina para determinar si una instrucción es o no un bloque If. Si en la misma línea, después de la instrucción Then, aparece algo que no sea un comentario, la instrucción se trata como una instrucción If de una sola línea. 4-Una instrucción de bloque If debe ser el primero en una línea. Las partes Else, ElseIf y End If, de la instrucción, sólo pueden ser precedidas por un número de línea o un etiqueta de línea. 5- El bloque If debe terminar con una instrucción End If. Formato 5: Puede de usar la siguiente sintaxis, más versátil: La sintaxis de la instrucción If...Then...Else tiene tres partes: condicion-1, condición-2: es una expresión numérica o expresión de cadena que puede ser evaluada en True o False. Si condición es Null, condición se considera False. Bloque instrucciones 1- Una o más instrucciones , ejecutados si condición es True. Bloque instrucciones 2- Una o más instrucciones, ejecutados si la condición-n asociada es True. If condición Then Instrucciones End If If condición Then Instrucción1 Else Instrucción2 If condición Then [Bloque de instrucciones 1] Else [Bloque de instrucciones 2] End If If condición-1 Then [Bloque instrucciones 1] [ElseIf condición-2 Then [bloque instrucciones 2]] . . . [Else [bloque instrucciones n]] End If

Upload: lola-cano

Post on 30-Mar-2016

242 views

Category:

Documents


0 download

DESCRIPTION

ESTRUCTURAS DE CONTROL en vb.net

TRANSCRIPT

Page 1: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

1 Lola Cano Gil

If condición Then instrucción

ESTRUCTURAS DE CONTROL

1. CONDICIONALES SIMPLES

La instrucción de condición en VB es el if que dispone de varios formatos.

Formato 1:

Para ejecutar condicionalmente una sola instrucción.

Solo dispone de la parte cierta.

Formato 2:

Para ejecutar condicionalmente múltiples instrucciones en el caso de ser cierta la condición

Formato 3:

Evalúa la condición y si es verdadera ejecuta la instrucción1 en caso de ser falsa ejecutaría la instrucción2.

Formato 4:

Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresión

1-Se puede usar la forma de una sola línea (formato 1 y formato 3) para pruebas cortas y sencillas. Sin embargo, la forma de bloque del resto de los formatos proporciona más estructura y flexibilidad que la forma de línea simple y, generalmente, es más fácil de leer, de mantener y de depurar.

2- Con los formatos 1 y 3 es posible ejecutar múltiples instrucciones como resultado de una decisión If...Then, pero todos deben estar en la misma línea y separados por dos puntos, como en la instrucción siguiente:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

3-El código que sigue a la palabra clave Then se examina para determinar si una instrucción es o no un bloque If. Si en la misma línea, después de la instrucción Then, aparece algo que no sea un comentario, la instrucción se trata como una instrucción If de una sola línea.

4-Una instrucción de bloque If debe ser el primero en una línea. Las partes Else, ElseIf y End If, de la instrucción, sólo pueden ser precedidas por un número de línea o un etiqueta de línea.

5- El bloque If debe terminar con una instrucción End If.

Formato 5: Puede de usar la siguiente sintaxis, más versátil:

La sintaxis de la instrucción If...Then...Else tiene tres partes:

condicion-1, condición-2: es una expresión numérica o expresión de cadena que puede ser evaluada en True o False. Si condición es Null, condición se considera False.

Bloque instrucciones 1- Una o más instrucciones , ejecutados si condición es True.

Bloque instrucciones 2- Una o más instrucciones, ejecutados si la condición-n asociada es True.

If condición Then Instrucciones End If

If condición Then Instrucción1 Else Instrucción2

If condición Then [Bloque de instrucciones 1] Else [Bloque de instrucciones 2] End If

If condición-1 Then [Bloque instrucciones 1] [ElseIf condición-2 Then

[bloque instrucciones 2]] . . . [Else

[bloque instrucciones n]] End If

Page 2: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

2 Lola Cano Gil

Pass

contraseña

Limpiar

salir

Label1

Bloque de instrucciones 3- Una o más instrucciones ejecutadas si ninguna de las anteriores expresiones condición o condición-2 es True.

Cuando se ejecuta un bloque If, se prueba condición. Si condición es True, se ejecutan las instrucciones que están a continuación de Then. Si condición es False, cada ElseIf condición (si existe) se evalúa a su vez.

Cuando se encuentra una condición True se ejecutan las instrucciones que siguen inmediatamente a la instrucción Then asociada.

Si ninguna de las condiciones ElseIf es True (o si no hay cláusulas ElseIf), se ejecutan las instrucciones que siguen a Else.

Después de la ejecución de las instrucciones que siguen a Then o Else, la ejecución continúa con la instrucción que sigue a .End If.

Las cláusulas Else y ElseIf son opcionales. Se pueden tener en un bloque ElseIf, tantas cláusulas If como se deseen, pero ninguna puede aparecer después de una cláusula Else. Las instrucciones de bloque If se pueden anidar; es decir, unas pueden contener a otras.

Select Case (punto siguiente) puede ser más útil cuando se evalúa una sola expresión que tiene varias acciones posibles.

Ejercicio contraseña. 5.1

Calcular la password de entrada.

1. Fase diseño

2. Propiedades en fase diseño:

TIPO-OBJETO NOMBRE PROPIEDAD VALOR

ventana FORM1 TEXT Contraseña

CANCELBUTTON salir

ACCPETBUTTON contraseña

BOTON contraseña TEXT contraseña

limpiar TEXT limpiar

salir TEXT fin

Caja de texto pass TEXT

PassWordChar *

etiqueta LABEL1 TEXT

3. Código:

Page 3: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

3 Lola Cano Gil

dni

letra

nif

limpiar calcular

salir

Private Sub CONTRASEÑA_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles CONTRASEÑA.Click

Static contador As Integer

contador += 1

If PASS.Text = "xxxx" Then

Label1.Text = "contraseña coreccta, intentos: " + Str(contador)

Else

Label1.Text = "contraseña incoreccta , intentos: " +

Str(contador)

End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

End

End Sub

Private Sub limpiar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles limpiar.Click

PASS.Text = ""

PASS.Focus()

End Sub

Ejercicio NIF (IF y Arrays) 5.2

Calcular la letra del NIF para un DNI. Se trabaja con Arrays.

4. Fase diseño

5. Propiedades en fase diseño:

TIPO-OBJETO NOMBRE PROPIEDAD VALOR

ventana FORM1 TEXT Letra NIF

CANCELBUTTON salir

ACCPETBUTTON calcular

BOTON calcular TEXT calcular

limpiar TEXT limpiar

salir TEXT fin

Caja de texto dni TEXT

letra ReadOnLy True

Page 4: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

4 Lola Cano Gil

nif ReadOnLy True

etiqueta LABEL1 TEXT DNI:

Label2 TEXT Letra:

Label3 TEXT NIF:

6. Código:

Private Sub limpiar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles limpiar.Click

letra.Text = ""

nif.Text = ""

dni.Text = ""

dni.Focus()

End Sub

Private Sub calcular_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles calcular.Click

Dim tabla As String() = {"T", "R", "W", "A", "G", "M", "Y", "F", "P",

"D", "X", "B", "N", "J", "Z", "S", "Q", "V", "H", "L", "C", "K", "E", "T"}

If dni.Text = "" Then

MessageBox.Show("debes introducir un DNI")

dni.Focus()

Else

letra.Text = tabla((CInt(dni.Text) Mod 23))

nif.Text = dni.Text + letra.Text

End If

End Sub

Private Sub salir_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles salir.Click

End

End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles MyBase.Load

dni.Text = ""

End Sub

End Class

2.- CONDICIONALES MÚLTIPLES.

Ejecuta uno de varios grupos de instrucciones, dependiendo del valor de una expresión.

Expresiónprueba: Cualquier expresión numérica o expresión de cadena

expresiónlista-n: Lista delimitada por puntos y coma de una o más de las formas siguientes: expresión, expresión To expresión, Is expresión operadordecomparación. La palabra clave To especifica un intervalo de valores. Si se usa la palabra clave To, el valor menor debe aparecer antes de To. Use la palabra clave con operadores de comparación (excepto Is y Like) para especificar un intervalo de valores. Si no se suministra, la palabra clave Is se inserta automáticamente.

Select Case expresiónprueba

[Case listaexpresión-n

[instrucciones-n]] . . .

[Case Else

[instruccionessiotro]]

End Select

Page 5: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

5 Lola Cano Gil

instrucciones-n: Una o más instrucciones ejecutadas si expresiónprueba coincide con cualquier parte de listaexpresión-n.

instruccionessiotro: Una o más instrucciones ejecutadas si expresiónprueba no coincide con nada de la cláusula Case.

Si expresiónprueba coincide con cualquier listaexpresión asociada con una cláusula Case, las instrucciones que siguen a esa cláusula Case se ejecutan hasta la siguiente cláusula Case o, para la última cláusula, hasta la instrucción End Select. El control pasa después a la instrucción que sigue a End Select.

Si expresiónprueba coincide con una expresión de listaexpresión en más de una cláusula Case, sólo se ejecutan las instrucciones que siguen a la primera coincidencia.La cláusula Case Else se usa para indicar las instrucciones que se van a ejecutar si no se encuentran coincidencias entre expresiónprueba y una listaexpresión en cualquiera de las otras selecciones de Case.

Cuando no hay una instrucción Case Else y ninguna expresión listada en las cláusulas Case coincide con expresiónprueba, la ejecución continúa en la instrucción que sigue a End Select.

Aunque no es requerido, es buena idea tener una instrucción Case Else en el bloque Select Case para manejar valores imprevistos de expresiónprueba.

Se pueden usar expresiones múltiples o intervalos en cada cláusula Case. Por ejemplo, la línea siguiente es válida:

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber

El operador de comparación Is no es lo mismo que la palabra clave Is usada en la instrucción Select Case.

6.-También se puede especificar intervalos y expresiones múltiples para cadenas de caracteres. En el siguiente ejemplo, Case coincide con las cadenas que son exactamente iguales a todo, cadenas que están entre nueces y sopa en orden alfabético y el valor actual de ElemPrueba:

Case "iguales a todo", "nueces" To "sopa", ElemPrueba

Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case debe tener su correspondiente instrucción End Select.

Ejercicio Select Case 1 5.3

Sacar el nombre y la imagen de un animal que empieza por una letra: Trabajar con Select Case y PictureBox..

7. Fase diseño

8. Propiedades en fase diseño:

TIPO-OBJETO NOMBRE PROPIEDAD VALOR

PictureBox

TextBox1

TextBox2

Botón salir

Botón pulsar

Label1

Page 6: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

6 Lola Cano Gil

ventana FORM1 TEXT ANIMALES

CANCELBUTTON salir

ACCPETBUTTON PULSAR

BOTON PLUSAR TEXT PULSAR

Salir TEXT SALIR

Caja de texto TextBox1 TEXT

MaxLength 1

TextBox2 text

etiqueta LABEL1 TEXT Introducir una letra:

PictureBox PictureBox1 SizeMode StrechImage

BorderStyle Fixed3D

9. Código:

Ejercicio aleatorio 5.4

Adivinar un numero. Practicar Rnd.

10. Fase diseño

11. Propiedades en fase diseño:

TIPO-OBJETO NOMBRE PROPIEDAD VALOR

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles TextBox1.TextChanged

' CADA VEZ QUE CAMBIA LA LETRA CAMBIO EL ROTULO DEL BOTON

PULSAR.Text = "Animales que empiezan por .." & TextBox1.Text

End sub

Private Sub SALIR_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles SALIR.Click

Me.Close()

End Sub

Private Sub PULSAR_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles PULSAR.Click

Select Case TextBox1.Text

Case "a", "A"

TextBox2.Text = "Abeja"

PictureBox1.Image = Image.FromFile("imagenes/abeja.gif")

Case "b", "B"

TextBox2.Text = "Burro, Ballena"

PictureBox1.Image =

Image.FromFile("imagenes/burro_animado.gif")

Case "C", "c"

TextBox2.Text = "Caballo,cerdo"

PictureBox1.Image = Image.FromFile("imagenes/caballo.gif")

Case Else

TextBox2.Text = "No se ninguno por " & TextBox1.Text

End Select

' PONGO EL FOCO DE ATENCION EN LA CAJA DE TEXTO TEXTBOX1.TEXT

TextBox1.Text = ""

TextBox1.Focus()

End Sub

Page 7: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

7 Lola Cano Gil

ventana FORM1 TEXT aleatorio

CANCELBUTTON salir

BOTON Button1a TEXT Generar un numero

Salir TEXT &Salir

Caja de texto N TEXT

etiqueta LABEL1 TEXT Introducir un numero entre..

12. Código:

Public Class Form1

Inherits System.Windows.Forms.Form

Dim num As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Randomize()

End Sub

Private Sub n_KeyPress(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.KeyPressEventArgs) Handles n.KeyPress

Dim P As Byte

If Asc(e.KeyChar) = 13 Then

Select Case Int(n.Text)

Case Is > num

P = MsgBox("EL NÚMERO ES MENOR ", 4, "¿QUIERES

CONTINUAR?")

Case Is = num

P = MsgBox("HAS ACERTADO ", 4, "¿QUIERES CONTINUAR?")

Case Is < num

P = MsgBox("EL NÚMERO ES MAYOR ", 4, "¿QUIERES

CONTINUAR?")

End Select

If P = 7 Then

MsgBox(" el número era: " & num & " adios") : End

Else : n.Text = ""

End If

End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

num = Int(99 * Rnd() + 1)

n.Focus()

End Sub

3. ESTRUCTURAS DE BUCLES.

3.1. DO…….LOOP

Repite un bloque de instrucciones cuando una condición es True o hasta que una condición se convierta en True.

Formato1:

Page 8: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

8 Lola Cano Gil

Do While condición Hacer mientras condición

[Instrucciones] ………………….. [Exit Do] [salir de hacer] [Instrucciones] …………………

Loop fin-mientras Do Until condición Hacer hasta condición

[Instrucciones] ………………….. [Exit Do] [salir de hacer] [Instrucciones] …………………

Loop fin-hasta

Do [{While | Until} condición

[Instrucciones]

[Exit Do]

[Instrucciones]

Loop

Puede usar esta

sintaxis válida

equivalente:

Formato2:

La sintaxis de la instrucción Do...Loop tiene estas partes:

Condición: Numérico o expresión de cadena que es True o False. Si la condición es Null, condición se considera False.

Instrucciones: Una o más instrucciones que se repiten mientras o hasta que condición sea True.

La instrucción Exit Do sólo se puede usar dentro de una estructura de control Do...Loop, para proporcionar una forma alternativa de salir de un Do...Loop.

Se puede colocar cualquier número de instrucciones Exit Do en cualquier lugar del Do...Loop.

Exit Do, usado a menudo en la evaluación de alguna condición (por ejemplo, If...Then), transfiere control a la instrucción que sigue inmediatamente a la instrucción Loop.

Cuando se usa con instrucciones anidadas Do...Loop, Exit Do transfiere control al bucle que está anidado un nivel por encima del bucle donde ocurre.

3.2. BUCLE FOR….NEXT

Repite un grupo de instrucciones un número especificado de veces.

La sintaxis de la instrucción For...Next tiene estas partes:

Contador: Variable numérica que se usa como contador de bucle. La variable

Puede usar esta sintaxis válida equivalente:

Do Hacer

[Instrucciones] ………………….. [Exit Do] [salir de hacer] [Instrucciones] …………………

Loop While condición mientras condición Do Hacer

[Instrucciones] ………………….. [Exit Do] [salir de hacer] [Instrucciones] …………………

Loop Until condición hasta condición

Do

[Instrucciones]

[Exit Do]

[Instrucciones]

Loop [{While | Until} condición]

For contador = principio To fin [Step incremento]

[Instrucciones]

[Exit For]

[Instrucciones]

Next [contador]

Page 9: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

9 Lola Cano Gil

no puede ser ningún elemento de matriz o ningún elemento de tipo definido por el usuario.

Principio: Valor inicial del contador.

Fin: Valor final del contador.

Incremento: Cantidad en la que cambia el contador cada vez a través del bucle. Si no se especifica, el valor predeterminado de incremento es uno.

instrucciones Una o más instrucciones entre For y Next que se ejecutan un número especificado de veces.

El argumento incremento puede ser positivo o negativo. El valor del argumento incremento determina la manera en que se procesa el bucle, como se muestra a continuación:

Valor El bucle se ejecuta

Positivo o 0 contador <= fin

Negativo contador >= fin

Una vez que se inicia el bucle y se han ejecutado todas las instrucciones en el bucle, incremento se suma a contador. En este punto, las instrucciones en el bucle se pueden ejecutar de nuevo (basados en la misma prueba que causó que el bucle se ejecutara inicialmente) o se sale del bucle y la ejecución continúa con la instrucción que sigue a la instrucción.

Cambiar el valor de contador mientras se está dentro de un bucle, puede hacer difícil su lectura y depuración.

La instrucción Exit For sólo se puede usar dentro de una estructura de control For Each...Next o For...Next, para proporcionar una manera alternativa de salir. Se pueden colocar en el bucle cualquier número de instrucciones Exit For.

La instrucción Exit For, el cual se usa a menudo en la evaluación de alguna condición (por ejemplo, If...Then), transfiere el control a la instrucción que sigue inmediatamente a la instrucción Next.

Se pueden anidar bucles For...Next, colocando un bucle For...Next dentro de otro. Para ello, proporcione a cada bucle un nombre de variable único como su contador. La siguiente construcción es correcta:

For I = 1 To 10

For J = 1 To 10

For K = 1 To 10

Next K

Next J

Next I

6. Si se omite un contador en una instrucción Next, la ejecución continúa como si aquél se hubiera incluido. Ocurre un error si se encuentra una instrucción Next antes de su instrucción For correspondiente.

Page 10: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

10 Lola Cano Gil

Programa ejercicio tabla multiplicar (con for): 5.6

1. Fase diseño:

2. Propiedades en fase de diseño:

TIPO-OBJETO NOMBRE PROPIEDAD VALOR

Ventana Form1 Text Ejercicio 13

Backcolor InactiveCaption

Font Microsoft Sans Serif, 10 pto, style=Bold

CancelButton fin

AcceptButton visualizar

Botón visualizar Text VISUALIZAR

limpiar Text LIMPIAR

fin Text SALIR

Etiqueta Label1 Visible False

Label2 Text

Label3 Text

Caja de texto numero Text

solucion ReadOnly True

Multiline True

ScrollBars Vertical

3. Código:

Private Sub fin_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles fin.Click

End

End Sub

Private Sub limpiar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles limpiar.Click

numero.Text = ""

solucion.Text = ""

numero.Focus()

End Sub

Private Sub visualizar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles visualizar.Click

Dim i As Integer

If numero.Text = "" Then

Label1

Label2 numero

limpiar visualizar

Label3

solucion

fin

Page 11: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

11 Lola Cano Gil

MessageBox.Show("Debes introducir el numero de la tabla que

quieres visualizar ")

numero.Focus()

Else

For i = 0 To 10 Step 1

solucion.Text &= numero.Text & " x " & i & " = " &

(numero.Text * i).ToString & Chr(13) & Chr(10)

Next

End If

End Sub

Private Sub visualizar_MouseMove(ByVal sender As Object, ByVal e As

System.Windows.Forms.MouseEventArgs) Handles visualizar.MouseMove

Label1.Text = "Muestra la tabla de multiplicar del numero que

colocamos en la caja de texto"

Label1.Visible = True

End Sub

Private Sub fin_MouseMove(ByVal sender As Object, ByVal e As

System.Windows.Forms.MouseEventArgs) Handles fin.MouseMove

Label1.Text = "Pulsar para salir de la aplicación"

Label1.Visible = True

End Sub

Private Sub limpiar_MouseMove(ByVal sender As Object, ByVal e As

System.Windows.Forms.MouseEventArgs) Handles limpiar.MouseMove

Label1.Text = "Limpia la caja de texto"

Label1.Visible = True

End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As

System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove

Label1.Visible = False End Sub

3.3. FOR EACH…..Next

Este bucle es parecido al anterior

For….Next, pero es muy útil para recorrer matrices sin necesidad del índice.

Dim i As Integer

For Each i In a

TextBox7.Text = TextBox7.Text & CStr(i) & " "

Next

Si variable no está declarada fuera del bucle, puede utilizar la cláusula As para declararla como parte de la instrucción For Each.

Ejercicio Array 5.7

Se trabaja con Arrays, propiedades y métodos, For…. Next y For Each…..Next

1. Fase diseño

For Each variable [ As tipo ] In matriz [Instrucciones]

[Exit For]

[Instrucciones]

……………….

Next [variable]

Page 12: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

12 Lola Cano Gil

2. Código: Public Class Form1

Inherits System.Windows.Forms.Form

Dim a() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 24, 25, 34, 0, -1,

56, 89}

………………………………………

Private Sub ver_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles ver.Click

Dim i%

For i = 0 To a.Length - 1

TextBox1.Text = TextBox1.Text & a(i)

If i < a.Length - 1 Then

TextBox1.Text = TextBox1.Text & ","

End If

Next

End Sub

Private Sub suma_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles suma.Click

Dim i%

Dim sum As Long = 0

For i = 0 To a.Length - 1

sum += a(i)

Next

TextBox2.Text = sum

End Sub

Private Sub ordenar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles ordenar.Click

Dim b(a.Length - 1) As Integer

Dim i%

a.CopyTo(b, 0)

Array.Sort(b)

For i = 0 To b.Length - 1

TextBox3.Text = TextBox3.Text & b(i)

If i < b.Length - 1 Then

TextBox3.Text = TextBox3.Text & ","

End If

Next

End Sub

Private Sub invertir_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles invertir.Click

Page 13: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

13 Lola Cano Gil

Dim b(a.Length - 1) As Integer

Dim i%

a.CopyTo(b, 0)

Array.Reverse(b)

For i = 0 To b.Length - 1

TextBox4.Text = TextBox4.Text & b(i)

If i < b.Length - 1 Then

TextBox4.Text = TextBox4.Text & ","

End If

Next

End Sub

Private Sub numero_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles numero.Click

TextBox5.Text = a.Length

End Sub

Private Sub dimension_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles dimension.Click

TextBox6.Text = a.Rank

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Me.Close()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

Dim i As Integer

For Each i In a

TextBox7.Text = TextBox7.Text & CStr(i) & " "

Next

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

End Sub

End Class

Ejercicio propuesto: 5.8

Ejercicio array2. Introducir los nombres y notas de alumnos de una determinada asignatura. Calcular y visualizar: Numero de alumnos aprobados. Numero de alumnos suspensos. La nota media. Cual es la nota más alta y a que alumno le corresponde. La nota más baja y el alumno que la tiene. Tres modos de solucionarlo:

1- dos arrays (notas y nombres) 2- 1 array dos dimensiones. 3- Con estructuras

Page 14: Visual basic.net : ESTRUCTURAS DE CONTROL(5)

14 Lola Cano Gil

3.4. BUCLE WHILE….WEND

Ejecuta una serie de instrucciones mientras una condición dada sea True.

La sintaxis de la instrucción While...Wend tiene estas partes:

Condición: Expresión numérica o expresión de cadena cuyo valor es True o False. Si condición es Null, condición se considera False.

Instrucciones:Una o más instrucciones ejecutadas mientras la condición es True.

Si condición es True, todas las instrucciones en instrucciones se ejecutan hasta que se encuentra la instrucción Wend.

Después, el control vuelve a la instrucción While y se verifica de nuevo condición.

Si condición es aún True, se repite el proceso. Si no es True, la ejecución se reanuda con la instrucción que sigue a la instrucción Wend.

Los bucles While...Wend se pueden anidar a cualquier nivel. Cada Wend coincide con el While más reciente.

Sugerencia La instrucción Do...Loop proporciona una manera más flexible y estructurada de realizar los bucles.

While condición

[instrucciones]

………………..

Wend