Este documento presenta un ejercicio para aprender a implementar estructuras de decisión IF...End If en aplicaciones Windows Forms en Visual Basic. Se explica cómo crear una solución y proyectos para una biblioteca de clases y una aplicación Windows Forms, y agregar controles a un formulario. La biblioteca de clases contiene una función para calcular promedios. El formulario permite ingresar notas y muestra resultados usando IF para evaluar el promedio y estado del estudiante. Se pide codificar botones usando diferentes variantes de IF.
1. www.ceminfosv.com Programación I UGB, San Miguel
Universidad Capitán General Gerardo Barrios, SM. Guía Nº 5 - Computo II-09
Asignatura: Programación I Fecha: 15 de Octubre de 2009
Docente: Lic. Marvin Antonio Romero Flores
Objetivo:
- Aprender implementar las estructuras de decisión IF… End If, y sus variantes en aplicaciones Windows – Forms, y seguir practicando la creación y
diseño de IGU’s.
r l
do gue
Para la realización de esta guía se necesitará lo siguiente:
lva i
Sa n M
1. Guía de Práctica No. 1, 2, 3, 4 y 5
2. Computadora con software Microsoft Visual Basic 2005 ó 2008.
El , Sa
GB
U
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
2. www.ceminfosv.com Programación I UGB, San Miguel
Parte Única:
Uso del If.. Enf If, y sus variantes. Empleando el Strong Type a nivel de código.
En este ejercicio se comprobará la forma en que funcionan los alcances de variables en Visual Basic, y la manera en que podemos aprovechar su
manejo para preservar valores en memoria con eficiencia.
1. Cree una solución en Blanco (Nuevo Proyecto > Tipos De Proyecto > Otros Tipos de Proyecto > Soluciones de Visual Studio > Plantilla
Solución en Blanco), llamada “Uso de IF … End IF en Fomularios”, estaría de más decirles que es criterio de Uds. Elegir la Ubicación
(Pen Drive, o ruta fija en su disco duro).
r l
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 1
do gue
2. Agregue a su solución un nuevo proyecto
lva i
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 2
Sa n M
De tipo Windows – Aplicación de Windows Forms, y asígnele como nombre If…EndIf, y presione Aceptar
El , Sa
GB
U
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
3. www.ceminfosv.com Programación I UGB, San Miguel
3. Obtendrá lo siguiente, El IDE ha preparado su entorno para el diseño de Interfaz Gráfica de Usuario (IGU).
r l
do gue
lva i
Sa n M
El , Sa
GB
U
Así debe quedar el IDE para el diseño con todos los elementos necesarios totalmente visibles:
1. El Explorador de Soluciones, 2. El Cuadro de Herramientas,
3. El Diseñador de Formularios, 4. Lista de Errores, y la 5. Ventana de Propiedades,
¡¡¡ESTO YA SE EXPLICO MUCHISIMAS VECES!!!
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
4. www.ceminfosv.com Programación I UGB, San Miguel
4. Insertar dentro del formulario Form1, los siguientes controles:
a) 3 Etiquetas (Label)
b) 3 Cuadros de Texto (TextBox)
c) 6 Botón de Acción (Button)
Organícelos de tal forma que quede similar a la siguiente captura.
r l
do gue
5. Modifique las siguientes propiedades a cada uno de los controles (Objetos). Tal y como
lo refleja la siguiente Tabla Nº 1, esto se consigue fácilmente, seleccionado primero el
control, y luego cambiado el valor de la propiedad respectiva en la Ventana de
lva i
Sa n M
Propiedades.
El , Sa
GB
U
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
5. www.ceminfosv.com Programación I UGB, San Miguel
TABLA Nº 1
Valores de las Propiedades de los Controles
VALOR
CONTROL PROPIEDAD (NAME) NUEVO VALOR
POR IDE
Etiquetas (Name) Label1 Lbllabo1
Label2 Lblabo2
Label3 lblparcial
Text Label1 Laboratorio 1:
r l
do gue
Label2 Laboratorio 2:
Label3 Parcial
Cuadros de Texto (Name) TextBox1 txtlabo1
lva i
TextBox2 txtlabo2
Sa n M
TextBox3 txtparcial
Botón de Acción (Name) Button1 btn_if1
Button2 btn_if2
El , Sa
Button3 btn_if3
Button4 btn_if4
Button5 btn_if5
GB
Button6 btn_salir
Text Button1 Decisión Sim&ple
Button2 Decisión S&imple en un sola línea
U
Button3 Decisión &Doble
Button4 Decisión D&oble en una sola línea
Button5 Decisión &Múltiple
Button6 &Salir
Formulario Text Form1 Calcular Promedio de Notas
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
6. www.ceminfosv.com Programación I UGB, San Miguel
6. Si realiza todo de la manera adecuada el resultado será algo como esto:
r l
do gue
lva i
Sa n M
El , Sa
GB
7. Ahora está casi todo listo, para comenzar a codificar, ya que les recuerdo por ultima vez que hemos cumplido con la norma básica de
todo diseñador de IGU’s, que es la de asignar nombre a cada objeto (control) que forma parte del formulario y que será utilizado e
U
invocado dentro del código, esto se consiguió al modificar el valor por defecto de la propiedad (Name) de cada uno de los controles
(Objetos), utilizando los prefijos adecuados establecidos en los estándares de denominación de controles. (lbl, txt, btn, cmb, lst, frm,
opt, dtp, etc.)
8. El propósito de este formulario será el de solicitar el usuario 3 números de tipo Double utilizando cuadros de texto, estos números
corresponderán a los valores de las notas obtenidas por un estudiante, se calculara el promedio del computo actual basándose en los
siguientes porcentajes, los laboratorios valen 60% y el parcial 40%, los cuales se operarán en cada botón de acción, para demostrar
cada una de las variantes de la estructura de control If. End If.
9. El promedio será calculado con una función que crearemos para tal fin, dentro de una biblioteca de clases personalizada.
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
7. www.ceminfosv.com Programación I UGB, San Miguel
CREACION DE LA BIBLIOTECA DE CLASES.
10. Agregar a la solución Existente un Proyecto de tipo Windows – Biblioteca de Clases, llamada academica
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 3
11. Modifique el programa Class1.vb (Búsquelo en el Explorador de Soluciones, en el proyecto de Biblioteca de Clases academica, y de
doble clic), borre las líneas generadas automáticamente y escriba el nuevo código de tal manera que quede como sigue:
r l
Continuador de Línea
do gue
lva i
Sa n M
El , Sa
Al estar el Strong Type
Activado, hay que
especificar el tipo de
GB
dato que retorna la
función.
U
12. Genere o Construya el Proyecto de Biblioteca de Clases, y guarde todo.
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 6
13. Dese cuenta que estamos activando el Strong Type (línea 1 y 2)
14. Nótese que estamos creando un espacio de nombres llamado espacioacademica (línea 3), dentro también creamos una clase pública
llamada cálculos_alumnos (línea 4), y luego una función tipo publica y compartida llamada promedio (líneas 5 a la 13), la que se
encargará de calcularlo luego de recibir como argumentos por valor (ByVal), 3 valores, los dos laboratorios y el parcial, especificando al
final el tipo de dato que retornará, ya que el Strong Type así lo requiere.
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
8. www.ceminfosv.com Programación I UGB, San Miguel
15. Si ya nos dimos cuenta estamos acostumbrados a crear Procedimientos ó Metodos (Sub), sin embargo ahora lo que estamos creando
son Funciones (Function … End Funtion), ambas pueden recibir argumentos (valores) por referencia (ByRef) o por valor (ByVal), la
diferencia entre ambos es la posibilidad que tienen las segundas de poder retornar (Return) valores cuando se les invoca.
16. Resumidamente la función promedio funciona de la siguiente manera
17. Al ser invocada correctamente, recibe 3 valores como argumentos de tipo Double, así:
promedio(v1, v2, v3)
r l
do gue
ya dentro de la función, el valor de el argumento v1 se almacena en la variable vlab1, el valor del argumento v2 se almacena en la
variable vlab2, y el valor del argumento v3 se almacena en la variable vparcial.
lva i
18. Una vez los argumentos de la función toman el valor de los argumentos enviados, estos pueden ser utilizados de la forma que se desee
Sa n M
ya dentro de la función, y retornar el valor que nosotros queramos, o el que necesitemos.
19. Ahora solo resta establecer la referencia en el formulario para poder importar nuestro biblioteca de clases.
El , Sa
20. Establezca la referencia a nuestra biblioteca en el proyecto de Aplicación Windows Forms, llamado If...EndIf.
GB
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 11 y 12
21. Hemos terminado de codificar nuestra biblioteca de clases, también ya establecimos la referencia en el proyecto de aplicación
U
Windows para poder ser consumida, ahora comenzaremos a codificar el formulario.
22. Seleccione el Diseñador de Formularios Presionando sobre la ficha con su nombre.
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
9. www.ceminfosv.com Programación I UGB, San Miguel
23. El código como es de esperar, debe ir dentro de un Botón de Acción, por lo que seleccionamos el control Botón de Acción llamado
btncalcular, y damos doble clic, para abrir el código.
DOBLE CLIC
r l
do gue
lva i
Sa n M
El , Sa
24. Y nos abrirá el que tanto conocemos, el Editor de Código. Preste atención a los globos de texto, ya que reflejan lo que el IDE hace por
GB
UD.
25. Ahora debemos Activar el Strong Type e importar nuestra biblioteca de clases, con el espacio de nombres y la clase para poder
U
consumirlas, justo antes de la clase del formulario, tal y como sigue:
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
10. www.ceminfosv.com Programación I UGB, San Miguel
26. Ahora procederemos a codificar las líneas correspondientes al procedimiento btncalcular_Click, de la siguiente manera:
r l
do gue
lva i
Sa n M
El , Sa
GB
27. Declaramos cuatro variables (línea 8) para almacenar los valores correspondientes a los laboratorios y el parcial (línea 9 a 10), y para
U
almacenar el valor devuelto por la función promedio (línea 11), de tipo Double (Recuerde que la función requiere como argumento
valores de ese tipo).
28. Le asignamos a las variables el valor que contiene los controles cuadros de textos, este se extrae de la propiedad Text (Linea 9 y 11)
29. Invocamos la función promedio y le enviamos consigo los valores (labo1, labo2 y parcial) que esta requiere para hacer los cálculos
respectivos, y almacenamos el valor retornado en la variable prom. (línea 14)
30. Evaluamos el promedio para determinar si el alumno esta APROBADO ó REPROBADO, mediante una estructura de decisión simple para
cada caso. (línea 15 y 18)
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
11. www.ceminfosv.com Programación I UGB, San Miguel
31. Si la expresión de la primera decisión es verdadera, se mostrara un cuadro de mensaje diciendo el promedio, y el status del alumno.
(Línea 16). Si la expresión de la segunda decisión es verdadera, se mostrara un cuadro de mensaje diciendo el promedio, y el status del
alumno. Línea 19.
32. Construya la Solución, Guarde Todo, Establezca el proyecto If…EndIf como proyecto de inicio e Inicie la depuración.
FIN DEL EJERCICIO.
ACTIVIDAD:
r l
do gue
a) Codifique los siguientes botones empleando la variante que ahí se pide.
b) El código para el botón salir es: “Me.Close”, donde Me es el formulario, y Close es el método utilizado para cerrar el objeto
lva i
formulario.
Sa n M
ANEXOS:
Sintaxis Decisión Simple en una sola línea: Sintaxis Decisión Doble:
El , Sa
If ExpresiónLógica Then
If ExpresiónLógica Then InstruccionAfirmativa InstruccionesAfirmativas
Else
GB
Nota: La palabra End If se omite InstruccionesNegativas
Aclaración: Esta variante solo puede usarse sí y solo sí, la instrucción End If
afirmativa consta de una sola línea.
U
Sintaxis Decisión Doble en una sola línea: Sintaxis Decisión Múltiple:
If ExpresiónLógica Then
If ExpresiónLógica Then InstruccionAfirmativa Else InstruccionNegativa InstruccionesAfirmativas
Else If ExpresiónLógica Then
Cuando ninguna
Nota: La palabra End If se omite. InstruccionesAfirmativas
Aclaración: Esta variante solo puede usarse sí y solo sí, tanto la Else If ExpresiónLógica Then de las anteriores
instrucción afirmativa como la negativa constan una sola línea. InstruccionesAfirmativas sea verdadera.
Else ExpresiónLógica Then
InstruccionesNegativas
End If
Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com