INFORMATICA SESIÓN Nº 04 VISUAL BASIC 2008 : ESTRUCTURAS DE CONTROL IF - THEN Permite ejecutar una o mas instrucciones dependiendo de la respuesta (Verdad o Falso) a una condición. En la condición que se escribe en esta instrucción se pueden utilizar los siguientes operadores: = Igual <> Diferente > Mayor que AND Y Lógico < Menor que OR O Lógico >= Mayor o Igual NOT Negación <= Menor o igual Like Comparar Cadenas Su sintaxis más utilizada es el siguiente: If Condición Then Bloque de Instrucciones Nº 01 Else Bloque de Instrucciones Nº 02 End If El bloque de instrucciones Nº 01 solo se ejecuta cuando la respuesta a la condición es Verdad o Si. El bloque de instrucciones Nº 02 solo se ejecuta cuando la respuesta a la condición es Falso o No. Este programa permite ingresar el nombre y tres notas, y mostrar los puntos y el promedio. Si esta aprobado, su promedio se muestra en azul , de lo contrario en rojo. Controles utilizados: FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 1 INFORMATICA VISUAL BASIC 2008 A los controles Label7 y Label8 asígneles en su propiedad : Autosize False. También la propiedad, BorderStyle : Fixed3D Escriba en la Ventana Código, las instrucciones para cada Button: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Nota1, Nota2, Nota3, Puntos, Promedio As Single Nota1 = Single.Parse(TextBox2.Text) Nota2 = Single.Parse(TextBox3.Text) Nota3 = Single.Parse(TextBox4.Text) Puntos = Nota1 + Nota2 + Nota3 Promedio = Puntos / 3 Label7.Text = Puntos.ToString Label8.Text = Promedio.ToString If Promedio >= 10.5 Then Label8.ForeColor = Color.Blue Else Label8.ForeColor = Color.Red End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" Label7.Text = "" Label8.Text = "" TextBox1.Focus() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Close() End Sub End Class La instruccion IF – THEN se puede utilizar tambien para realizar multiples condiciones utilizando If Condición1 Then Bloque de Instrucciones Nº 01 ElseIf Condición2 Then Bloque de Instrucciones Nº 02 ElseIf Condición3 Then Bloque de Instrucciones Nº 03 Else Bloque de Instrucciones Else End If FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 2 INFORMATICA VISUAL BASIC 2008 El bloque Else es opcional y las instrucciones que contiene se ejecutan cuando no se cumple ninguna condición Este programa permite ingresar un numero entre 1 y 7 e indica el nombre del dia de la semana que representa: Si el numero ingresado no se encuentra entre 1 y 7 se muestra un mensaje de error Controles del formulario Asigne propiedades a : Label1 : Autosize : False . Escriba : Ingrese un numero (1…7) Button1: Escriba : Ver Label2 : Autosize : False TextAlign: Top Center FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 3 INFORMATICA VISUAL BASIC 2008 Instrucciones de Button1 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N As Byte Dim Dia As String N = Byte.Parse(TextBox1.Text) If N = 1 Then Dia = "Lunes" ElseIf N = 2 Then Dia = "Martes" ElseIf N = 3 Then Dia = "Miércoles" ElseIf N = 4 Then Dia = "Jueves" ElseIf N = 5 Then Dia = "Viernes" ElseIf N = 6 Then Dia = "Sabado" ElseIf N = 7 Then Dia = "Domingo" Else Dia = "Error en el número ingresado" End If Label2.Text = Dia End Sub End Class Cambie los textos de los controles respectivos, conforme al programa planteado Permite ejecutar una o mas instrucciones dependiendo del valor de una variable o de una expresión.Su sintaxis es : Select Case Variable o Expresión Case Caso Nº 01 Instrucción(es) Case Caso Nº 02 Instrucción(es) Case Caso Nº 03 Instrucción(es) : Case Caso Nº n Instrucción(es) Case Else Instrucción(es) End Select Case Else es opcional y las instrucciones que contiene se ejecutan cuando no se cumple ninguno de los casos.Los casos pueden escribirse de la siguiente manera: Case 1 Case 1 to 6 Case 1,2,3 Case ls > 20 Case 2 Case 7 to 9 Case 4,5,6 Case ls < 0 FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 4 INFORMATICA VISUAL BASIC 2008 El programa permite ingresar el nombre y dos notas de un alumno y muestra como resultados su promedio, una obervación que indica si está aprobado o desaprobado y un mensaje indicando la cualidad del alumno La cualidad del alumno se obtiene según el siguiente cuadro: Promedio Mensaje Entre 0 y 5.4 Pésimo Entre 5.5 y 10.4 Malo Entre 10.5 y 13.4 Regular Entre 13.5 y 16.4 Bueno Entre 16.5 y 20 Excelente Controles del formulario: Asigne propiedades a Label7, Label8,Label9 : Autosize : False; BorderStyle: FixedSingle. Tambien a TextBox1,TextBox2 y TextBox3 Cambie los textos de todas las etiquetas (Label), conforme al programa propuesto. Tambien a los botones de comando (Button). FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 5 INFORMATICA VISUAL BASIC 2008 Instrucciones de los 3 botones : Button1 , Button2 y Button3 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Nota1, Nota2, Promedio As Single Dim Observación, Mensaje As String Nota1 = Single.Parse(TextBox2.Text) Nota2 = Single.Parse(TextBox3.Text) Promedio = (Nota1 + Nota2) / 2 If Promedio >= 10.5 Then Observación = "Aprobado" Else Observación = "Desaprobado" End If Select Case Promedio Case 0 To 5.4 Mensaje = "Pésimo" Case 5.5 To 10.4 Mensaje = "Malo" Case 10.5 To 13.4 Mensaje = "Regular" Case 13.5 To 16.4 Mensaje = "Bueno" Case 16.5 To 20 Mensaje = "Excelente" Case Else Mensaje = "Error en las notas" End Select Label7.Text = Promedio.ToString("##.0") Label8.Text = Observación Label9.Text = Mensaje End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() Label7.Text = "" Label8.Text = "" Label9.Text = "" TextBox1.Focus() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Close() End Sub End Class FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 6 INFORMATICA VISUAL BASIC 2008 Cambie los textos de todas las etiquetas (Label), y los botones de comando (Button) conforme al programa propuesto. Esta instrucción permite crear un bucle , es decir; ejecutar una o más instrucciones un número determinado de veces. Su sintaxis es : For Variable = Valor Inicial To Valor Final Step incremento : Instrucción(es) : Next Variable La palabra Step es opcional y permite indicar cuanto se debe incrementar la variable cada vez que se ejecuta la instrucción(es).Si no escribe Step el incremento seria de uno en uno. Este programa mostrará en un control ListBox los numeros pares de 2 al 20; los impares del 1 al 19 , o todos los números entre 1 y 20 FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 7 INFORMATICA VISUAL BASIC 2008 Controles del Formulario Instrucciones para todos los botones de comando (Button) Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N As Short ListBox1.Items.Clear() For N = 2 To 20 Step 2 ListBox1.Items.Add(N.ToString) Next N End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim N As Short ListBox1.Items.Clear() For N = 1 To 20 Step 2 ListBox1.Items.Add(N.ToString) Next N End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim N As Short ListBox1.Items.Clear() For N = 1 To 20 ListBox1.Items.Add(N.ToString) Next N End Sub End Class FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 8 INFORMATICA VISUAL BASIC 2008 Cambie todos los textos de los botones de comandos(Button), conforme al programa planteado Este programa permite mostrar la tabla de multiplicar de un numero que se ingresa por el teclado.Tambien se ingresa el valor de inicio y final. Controles del formulario: Instrucciones para el Button1: FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 9 INFORMATICA VISUAL BASIC 2008 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim C, Número, Inicio, Final, R As Short Número = Short.Parse(TextBox1.Text) Inicio = Short.Parse(TextBox2.Text) Final = Short.Parse(TextBox3.Text) ListBox1.Items.Clear() For C = Inicio To Final R = Número * C ListBox1.Items.Add(C.ToString & " * " & Número.ToString & " = " & R.ToString) Next End Sub End Class Cambie todos los textos de las etiquetas (Label) y el Button1, conforme al programa planteado Esta instrucción tambien permite crear bucles similares a la instrucción For Next. Con la instrucción Do – Loop los bucles que se pueden crear son de dos tipos: Mientras una Condición se cumpla (While) Hasta que una Condición se cumpla (Until) La condición en cada uno de los tipo de bucles pueden ir al inicio o al final. Cuando va al inicio puede que las instrucciones del bucle no se ejecuten ninguna vez y cuando la condición va al final del bucle las instrucciones que contiene por lo menos se ejecutan una vez Sintaxis con Do While Do While Condición : Instrucción(es) : Loop Do : Instrucción(es) : Loop While Condición Sintaxis con Do Until Do Until Condición : Instrucción(es) : Loop FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 10 INFORMATICA VISUAL BASIC 2008 Do : Instrucción(es) : Loop Until Condición Este programa ejemplo permite mostrar los números pares del 2 al 100 utilizando las cuatro sintaxis anteriores Controles del formulario Instrucciones para todos los botones de comando (Button) FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 11 INFORMATICA VISUAL BASIC 2008 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N As Short ListBox1.Items.Clear() N=2 Do While N <= 100 ListBox1.Items.Add(N.ToString) N=N+2 Loop End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim N As Short ListBox1.Items.Clear() N=2 Do ListBox1.Items.Add(N.ToString) N=N+2 Loop While N <= 100 End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim N As Short ListBox1.Items.Clear() N=2 Do Until N > 100 ListBox1.Items.Add(N.ToString) N=N+2 Loop End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim N As Short ListBox1.Items.Clear() N=2 Do ListBox1.Items.Add(N.ToString) N=N+2 Loop Until N > 100 End Sub End Class Cambie todos los textos de los botones de comando (Button), conforme al programa planteado FACULTAD DE EDUCACIÓN MATEMATICA, FISICA e INFORMATICA José Moreno Vega Página 12