Este documento presenta un ejercicio para aprender a implementar estructuras de decisión IF...End If en aplicaciones Windows Forms. Se solicita crear controles, asignarles nombres, e implementar diferentes variantes de IF en botones para calcular el promedio de un estudiante usando una función en una biblioteca de clases.
1. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
Universidad Capitán General Gerardo Barrios, SM. Guía Nº 6 - Computo II-10
Asignatura: Programación I Fecha: Octubre de 2010
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.
igu ro
M ome
Para la realización de esta guía se necesitará lo siguiente:
el
an R
1. Guía de Práctica No. 1, 2, 3, 4 y 5
2. Computadora con software Microsoft Visual Basic 2005 ó 2008.
, S vin
GB ar
U M
c.
Li
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
2. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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).
igu ro
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LAS GUIAS ANTERIORES
M ome
2. Agregue a su solución un nuevo proyecto
el
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LAS GUIAS ANTERIORES
an R
De tipo Windows – Aplicación
de Windows Forms, y asígnele
, S vin
como nombre If…EndIf, y
presione Aceptar
3. Obtendrá lo siguiente, El IDE ha
GB ar
U M
preparado su entorno para el
diseño de Interfaz Gráfica de
c.
Usuario (IGU).
Li
If...EndIf
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
3. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
igu ro
M ome
el
an R
, S vin
GB ar
U M
c.
Li
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!!!
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
4. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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.
igu ro
5. Modifique las siguientes propiedades a cada uno de los controles (Objetos). Tal y como
M ome
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
el
Propiedades.
an R
, S vin
GB ar
U M
c.
Li
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
5. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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:
igu ro
Label2 Laboratorio 2:
Label3 Parcial
M ome
Cuadros de Texto (Name) TextBox1 txtlabo1
el
TextBox2 txtlabo2
an R
TextBox3 txtparcial
Botón de Acción (Name) Button1 btn_if1
, S vin
Button2 btn_if2
Button3 btn_if3
GB ar Button4
Button5
btn_if4
btn_if5
U M
Button6 btn_salir
Text Button1 Decisión Sim&ple
c.
Button2 Decisión S&imple en un sola línea
Li
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
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
6. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
6. Si realiza todo de la manera adecuada el resultado será algo como esto:
igu ro
M ome
el
an R
, S vin
GB ar
U M
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
c.
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
Li
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.
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
7. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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 LAS GUIAS ANTERIORES
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:
igu ro
Continuador de Línea
M ome
el
an R
, S vin
Al estar el Strong Type
GB ar Activado, hay que
especificar el tipo de
U M
dato que retorna la
función.
c.
Li
12. Genere o Construya el Proyecto de Biblioteca de Clases, y guarde todo.
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LAS GUIAS ANTERIORES
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.
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
8. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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)
igu ro
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.
M ome
el
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
an R
ya dentro de la función, y retornar el valor que nosotros queramos, o el que necesitemos.
, S vin
19. Ahora solo resta establecer la referencia en el formulario para poder importar nuestro biblioteca de clases.
20. Establezca la referencia a nuestra biblioteca en el proyecto de Aplicación Windows Forms, llamado If...EndIf.
GB ar
U M
NOTA: SI NO RECUERDA COMO HACERLO CONSULTE LA GUIA 3; PASO 11 y 12
c.
21. Hemos terminado de codificar nuestra biblioteca de clases, también ya establecimos la referencia en el proyecto de aplicación
Windows para poder ser consumida, ahora comenzaremos a codificar el formulario.
Li
22. Seleccione el Diseñador de Formularios Presionando sobre la ficha con su nombre.
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
9. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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
igu ro
M ome
el
an R
, S vin
GB ar
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
U M
UD.
c.
25. Ahora debemos Activar el Strong Type e importar nuestra biblioteca de clases, con el espacio de nombres y la clase para poder
consumirlas, justo antes de la clase del formulario, tal y como sigue:
Li
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
10. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
26. Ahora procederemos a codificar las líneas correspondientes al procedimiento btncalcular_Click, de la siguiente manera:
igu ro
M ome
el
an R
, S vin
GB ar
U M
c.
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
Li
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)
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com
11. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero
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:
igu ro
a) Codifique los siguientes botones empleando la variante que ahí se pide.
M ome
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
el
formulario.
an R
ANEXOS:
, S vin
Sintaxis Decisión Simple en una sola línea: Sintaxis Decisión Doble:
If ExpresiónLógica Then
GB ar
If ExpresiónLógica Then InstruccionAfirmativa
Else
InstruccionesAfirmativas
U M
Nota: La palabra End If se omite InstruccionesNegativas
Aclaración: Esta variante solo puede usarse sí y solo sí, la instrucción End If
c.
afirmativa consta de una sola línea.
Li
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
www.miceminfo.com "compartir es aprender" aulavirtual.miceminfo.com