Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nombre de la Practica:
Lugar de Ejecucin:
Centro de Computo
Tiempo Estimado:
2 horas y 30 minutos
MATERIA:
Lenguajes de Programacin 1
I. OBJETIVOS
Que el estudiante:
Reconozca el entorno de herramientas y ventanas que forman al IDE de Visual Studio .Net
Aplique los pasos para la construccin de una aplicacin de tipo Windows Form.
Qu es Visual Basic?
Visual Basic es un ambiente grfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows.
Las aplicaciones creadas con Visual Basic estn basadas en objetos y son manejadas por eventos. Visual Basic se
deriva del lenguaje Basic, el cual es un lenguaje de programacin estructurado. Sin embargo, Visual Basic emplea
un modelo de programacin manejada por eventos.
Entorno de Desarrollo
Visual Studio es un conjunto completo de herramientas de desarrollo para la generacin de aplicaciones Web
ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones mviles. Visual Basic, Visual C++, Visual
C# y Visual J# utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y
facilita la creacin de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de
Lenguajes de Programacin 1
Visual Basic 2008 incluye entre muchas capacidades, la continuacin de bucles, la disposicin garantizada de
recursos, las propiedades de acceso combinado, los tipos de datos sin signo y que aceptan valores NULL, la
sobrecarga de operadores, los tipos parciales y genricos, los eventos personalizados y la comprobacin de la
compatibilidad con Common Language Specification (CLS).
Nombre
Prefijo
Descripcin
Controles
comunes
Button
btn
CheckBox
chk
ComboBox
cbo
DateTimePicker
dtp
Label
lbl
ListBox
lst
MaskedTextBox
msk
PictureBox
pic
RadioButton
rdb
TextBox
txt
ImageList
img
Timer
tmr
Components
Lenguajes de Programacin 1
Nombre
Prefijo
Descripcin
Containers
FlowLayoutPanel
flp
GroupBox
gpb
Panel
pnl
Mdulos estndar
Un modulo agrupa cdigo fuente de una aplicacin y se almacena en una archivo .vb. Para definir un modulo se
usa la sintaxis siguiente:
[Public Friend] Module nombre_modulo
[Sentencias]
End Module
Procedimientos
Tal como recordara en cursos anteriores, un procedimiento es un conjunto de sentencias limitadas en un bloque
bajo un nombre. En VB, el bloque de sentencias va limitado entre las declaraciones Sub y End Sub, o Function y
End Function, los cuales se utilizan as:
Procedimiento Sub: ejecutan acciones pero no devuelven un resultado al cdigo que lo invoco
Procedimiento Function: ejecutan acciones y devuelven un resultado al cdigo que los invoco.
Procedimientos conducidos por Eventos: son procedimientos que se ejecutan como respuesta a un suceso
ocurrido en un programa.
Procedimientos que definen propiedades: permiten devolver o asignar valores a propiedades definidas en un
modulo, clase o estructura.
Procedimiento Main
Este procedimiento es el punto de entrada/inicio de la aplicacin, el 1er procedimiento al cual se obtiene acceso
al ejecutar el cdigo.
Lenguajes de Programacin 1
Declaracin de Variables
Para declarar una variable dentro de un procedimiento se realiza anteponiendo el Ambito (ver mas adelante) con
la palabra reservada Dim al nombre de la variable, seguida de la palabra reservada As y el tipo de dato declarado.
Un ejemplo sencillo sera: Dim strMiVar As String
Observe varios ejemplos de declaracin de variables en la descripcin de los tipos de datos de la Tabla 2.
Tipo de dato
Tipo en CLR
(Visual Basic)
(Framework)
Boolean
System.Boolean
Byte
System.Byte
Date
System.DateTime
Fechas, entre las 0:00:00 del 1 de Enero del 0001 hasta las 23:59:59 del 31
de Diciembre del 9999.
Las fechas deben representarse entre almohadillas # y por lo habitual
usando el formato norteamericano: #m-d-yyyy#
Dim d As Date = #10-27-2001#
Integer
System.Int32
Lenguajes de Programacin 1
Tipo en CLR
(Visual Basic)
(Framework)
Single
System.Single
String
(cadenas
longitud
variable)
de
System.String
(clase)
Declaracin de Constantes
Dentro de una aplicacin, puede ser adecuado e interesante la declaracin y uso de valores constantes cuyo valor
asignado, no sea modificable a lo largo de la aplicacin y que se utilice para un caso o ejecucin determinada.
El tpico valor constante de ejemplo en toda demostracin del uso y declaracin de variables constantes es el valor
PI. Para declarar una variable de tipo constante, tendremos que declarar el tipo de variable con la palabra
reservada Const delante de la variable. Observe el siguiente ejemplo:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
Const PI As Double = 3.1416
Dim dValor As Decimal
dValor = (2 * PI) ^ 2
MessageBox.Show(dValor)
End Sub
Lenguajes de Programacin 1
Agrupacin
()
ARITMTICOS
COMPARATIVOS
LGICOS
Exponenciacin (^)
Negacin (Not)
Negacin (-)
<>
<
Operadores a bits
>
<=
>=
Like, Is
Los operadores aritmticos se evalan siempre en primer lugar, seguidos de los operadores comparativos y,
por ltimo, los operadores lgicos.
Las operaciones encerradas entre parntesis se evalan antes que las operaciones situadas afuera.
El operador de concatenacin precede a todos los operadores comparativos y se sita detrs de los
operadores aritmticos.
Lenguajes de Programacin 1
CByte(expresion)
Byte
CChar(expresion)
Char
CDate(expresion)
Date
CDbl(expresion)
Double
CDec(expresion)
Decimal
CInt(expresion)
Integer
CLng(expresion)
Long
CObj(expresion)
Object
CShort(expresion)
Short
CSng(expresion)
Single
CStr(expresion)
String
Val(expresion)
Double
Fix(expresion)
Int(expresion)
[A] Todos los objetos de vb.NET tienen unos mtodos para realizar conversiones a otros tipos, al menos de
nmero a cadena, ya que tienen la propiedad .ToString que devuelve una representacin en formato cadena del
nmero en cuestin (igual que CStr).
Tabla 3: Lista de funciones intrnsecas ms comunes
Select Case
Ambas estructuras son equivalentes en su ejecucin a las estructuras if-else y switch de lenguaje C,
respectivamente. Observe la sintaxis de uso en Tabla 4.
Estructura If-Then-[Else]
[Case Else]
[sentencias n]
End Select
Lenguajes de Programacin 1
Expresion To Expresion
Expresion[, Expresion]
En todas estas formas, Expresion debe ser del mismo tipo que la
ExpresionaProbar.
Is Operador-de-relacion Expresion
Significado
Case Is < 4
Case Is >= Q
Case 3
Case W To 52
Case 7, A
Case si,SI
Case 6, -12 To 4
Si estructura Select no encuentra coincidencia con ninguna de las expresiones de pruebas Case, buscara ejecutar
bloque Case Else.
Requerimiento
Cantidad
Memoria USB
IV. PROCEDIMIENTO
Para esta prctica deber crear una carpeta con el nombre de Prctica1LP1_CARNET, en la cual va a guardar
todos los archivos de esta prctica y de anlisis de resultados.
Lenguajes de Programacin 1
10
En el men Inicio de Windows, localice a Microsoft Visual Basic 2010 dentro del listado de accesos de
programas instalados
2.
Aparecer la pantalla de bienvenida que es la interfaz para Visual Studio, tambin conocida como
Entorno de Desarrollo Integrado o IDE.
3.
4.
5.
De las plantillas recientes (ver columna a la izquierda), seleccione Visual Basic y luego su plantilla
Windows. En la parte central, de clic sobre opcin Aplicacin de Windows Forms
En la parte inferior, en la opcin Nombre, modifquelo con el nombre Ejemplo1, el cual ser el nombre de
nuestro proyecto. Haga clic en Aceptar.
7.
Ahora proceda a incluir en el area de Diseo del Form, a c/u de los controles mostrados en la Figura 1.2
Apyese en la imagen 1.1 (de la introduccin terica), localice el panel Cuadro de herramientas y
determine el tipo control a utilizar.
8.
a) Dar clic sobre el control requerido de la barra herramientas y luego dar un clic en el area del form que
usara ese control.
b) Dar clic sobre el control en barra herramientas y luego, colocar cursor del ratn sobre area del form,
manteniendo presionado botn principal .
Lenguajes de Programacin 1
11
Las propiedades de un Control, cambian la apariencia y/o el funcionamiento del mismo ante el usuario
que usa el form. Una propiedad en Visual Basic representa un atributo de un objeto, en este caso, un
Control. Por ejemplo:
Uno de los atributos de un control Button es el texto que este muestra. En este caso, se puede modificar al
asignar la propiedad Text. La mayora de stas modificaciones tambin se pueden establecer o ejecutar
dentro del cdigo del programa
Las propiedades pueden tomar muchos tipos diferentes de valores adems del texto.
Si se cambia el tamao de un control o se reubica, tambin se actualizan las propiedades Size y Location
que determinan el tamao y la ubicacin de un control en el formulario.
CONTROL
PROPIEDAD
Nuevo VALOR
Form1
Text
Pruebas
variables
BackColor
Un color Personalizado a su
gusto
Name
btnContar
Text
Contar
Name
btnReinicio
Text
Reiniciar conteo
Name
btnFin
Text
Salir programa
Button1
Button2
Button3
de
mbito
de
12
En la parte superior se muestran los contenidos de los archivos de cdigo y diseo de los objetos Form y
modulo.
Luego hay 2 listados de seleccin en la parte superior, el de la izquierda muestra los Nombres de Objetos
disponibles y a la derecha los Nombres de los Procedimientos de Eventos en los cuales se agregaran los cdigos a
programar. Estos permiten ubicar al cursor de escritura en el modulo y procedimientos correctos a
programar.
12. En la Figura 1.3, el Editor de cdigo muestra primero el encabezado-final del modulo de clase Form1, el
cual contendr a su vez todo el cdigo utilizado para programar a los objetos insertados en el mismo.
Luego se muestra el encabezado-final del procedimiento de evento Load del objeto formulario Form1, as:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
End Sub
13. Este cdigo es un Controlador de evento, tambin denominado procedimiento Sub manejado por evento.
Cualquier cdigo dentro de este procedimiento (entre Sub y End Sub) se ejecuta cada vez que suceda el evento
programado para ese control.
14. Ejecute el programa creado hasta aqu. Lo puede hacer de tres formas diferentes:
Presionando la tecla F5
Eligiendo en el men Depurar -> Iniciar Depuracin
Haciendo clic en la Barra Estndar en el 1er icono del siguiente trio
15. Finalice la ejecucin del programa en diseo, seleccionando el 3er botn del trio mencionado en paso
anterior.
Evento/Nivel
cdigo a incluir
Form1
(Declaraciones)
'Private conta As Integer 'variable entera de alcance privado
Private mensa As String
(Form1 eventos)
Load
'Evento se ejecuta al iniciar ejecucion de Form1
mensa = "Aun no ha presionado boton Contar"
Label1.Text = mensa
Lenguajes de Programacin 1
13
Click
Lenguajes de Programacin 1
14
Una administradora de prestamos requiere ingresar los datos de un prstamo (Monto a prestar, Tasa
inters mensual y total de aos (a 2 aos inicialmente)) que se entregara a una Empresa ingresada.
Determine el monto final que se pagara.
1.
2.
En esta lista de proyectos recientes, localice el nombre del proyecto (archivo Ejemplo1.vbproj) utilizado
hasta ahora.
3.
En la ventana Explorador de Solucin, ubique el nombre del proyecto actual y de clic secundario sobre el
mismo. Del men emergente seleccione opcin Agregar, luego Windows Forms
4.
En la ventana Agregar nuevo elemento- Ejemplo1, observe que en la parte central ya esta seleccionado
Windows Forms. Confirme en ltima opcin (Nombre: ) que el nombre del archivo sea (Form2.vb) y
presione Agregar. Observe que se muestra un nuevo form vacio y tambin, desde el explorador de
solucin, se agrega un elemento mas (Form2.vb) al proyecto actual.
5.
Luego, desde el explorador de soluciones de clic derecho sobre el proyecto (Ejemplo1), para seleccionar
opcin Propiedades. En esta ventana, ubique opcin Formulario de inicio y modifique valor a Form2.
6.
7.
Con mucho cuidado, seleccione a cada control mostrado en la tabla a continuacin, para luego modificar
a c/propiedad solicitada ah con el valor indicado.
(propiedades)
(controles)
Name
Form2
Label1
Text
Calculo del Monto a
Prstamo
lblEmpresa
Lenguajes de Programacin 1
Nombre de Empresa:
15
Enabled
pagar por un
Checked
Name
Text
Label2
lblMonto
Label3
lblTiempo
Tiempo (aos)
Label4
lblTasaInter
Tasa Interes:
RadioButton1
rdbInteres1
12 %
RadioButton2
rdbInteres2
23.5 %
RadioButton3
rdbInteres3
Otro, indique:
TextBox1
txtEmpresa
(vacio)
TextBox2
txtMonto
(vacio)
TextBox3
txtTiempo
TextBox4
txtTasaInterEX
Button1
btnAnalisis
Analisis Financiero
Button2
btnFin
ListBox1
lstResul
Enabled
Checked
True
False
False
* Extra: Para el cuadro lstResul, seleccione adems la propiedad Items, y presione en Colecciones.. que se indica
ah, para luego agregar valor: (Resultados). Esto agregara este texto como 1er elemento del control lstResul
9.
cdigo a incluir
Form2
(Declaraciones)
CheckedChanged
rdbInteres1
Click
rdbInteres2
Click
btnFin
Click
TasaI = 0.12
TasaI = 0.235
Lenguajes de Programacin 1
16
Click
NomEmpre = txtEmpresa.Text
NomEmpre = NomEmpre.Trim() 'Quita espacios-blanco al inicio-final
If NomEmpre.Length = 0 Then
'Si no hay caracteres en nombre empresa
MsgBox("Debe indicar Nombre de la empresa", MsgBoxStyle.Information)
txtEmpresa.Focus()'metodo que indica que control txtEmpresa recibira Cursor
Exit Sub
End If
If IsNumeric(txtMonto.Text) = False Then
'Si ha escrito cantidad numerica incorrectamente
MsgBox("Valor Monto incorrecto", MsgBoxStyle.Information)
txtMonto.Focus()
Exit Sub
Else
'Prueba que cantidad sea negativa
MontoInic = CDec(txtMonto.Text) 'Invoca funcion de conversion CDec
If Not (MontoInic > 0) Then
MsgBox("Valor Monto no puede ser negativo", MsgBoxStyle.Critical)
txtMonto.Focus()
Exit Sub
End If
End If
Tiempo = CInt(txtTiempo.Text) 'toma tiempo ingresado
'Si selecciono Tasa interes3, valida que sea correcta
txtTasaInterEX.Text=txtTasaInterEX.Text.Trim()
If rdbInteres3.Checked = True Then
If txtTasaInterEX.Text.Length > 0 Then
If Not IsNumeric(txtTasaInterEX.Text) = True Then
MsgBox("Tasa interes incorrecta", MsgBoxStyle.Critical)
txtTasaInterEX.Text = "0"
txtTasaInterEX.Focus()
Exit Sub
Else
TasaI = CDec(txtTasaInterEX.Text) / 100
End If
Else
MsgBox("Aun no ha indicado una Tasa interes", MsgBoxStyle.Information)
txtTasaInterEX.Focus()
Exit Sub
End If
End If
'Hace el calculo esperado
MontoFin = MontoInic * (1 + TasaI) ^ Tiempo
'Muestra la respuesta (Monto a pagar)
TasaI *= 100
With lstResul.Items
Lenguajes de Programacin 1
17
2.
Luego disee el siguiente esquema de objetos (mostrado en Figura 1.5) en este nuevo form (Form3)
(Propiedad)
(controles)
Name
Form3
3.
Text
Calculo
de
UV a cursar
Label1
lblApe1
1er Apellido:
Label2
lblApe2
2do Apellido:
Label3
lblNom
Nombres
Label4
lblCUM
Valor
CUM
TextBox1
txtApe1
(vacio)
TextBox2
txtApe2
(vacio)
TextBox3
txtNom
(vacio)
TextBox4
txtCUM
0.0
TextBox5
txtResul
Resultado de
evaluacion
Button1
btnAnalisis
Calcular UV
Button2
btnFin
Salir
del
programa
Lenguajes de Programacin 1
18
Enabled
de
False
(Declaraciones)
btnAnalisis
Click
Valida datos antes de aplicar calculos de las UVs
espacios en blanco a c/texto del nombre escrito
txtNom.Text.Trim()
txtApe1.Text.Trim()
txtApe2.Text.Trim()
Lenguajes de Programacin 1
19
Guarde los cambios del proyecto actual y ejecute la aplicacin. Para ver las validaciones de entradas
programadas, equivquese a propsito, ingrese el CUM, pero olvdese de los nombres, y otros casos.
5.
En evento Click del botn btnFin redacte un mensaje de despedida y realice el final de ejecucin
B.
Abra nuevamente el proyecto utilizado en la PARTE 3 del procedimiento de esta Prctica y proceda a
realizar los cambios necesarios para validar a los parmetros faltantes del prstamo que aun no se han
programado. Adems, incluya otro botn (cuyo texto diga REINICIAR), el cual permitir deje en blanco a
todos los textboxs y cuadro de lista y el foco de seleccin sobre en el 1er textbox.
Desarrolle un nuevo proyecto denominado proyNUMEROS que resuelva las tareas siguientes
+ Permita el ingreso de 10 nmeros decimales cuales quiera. Cada nuevo numero ingresado se mostrara en una
de 2 listas diferentes (una para valores positivos y en la segunda, los valores negativos).
+ Una vez finalice el ingreso, se mostrara en otro cuadro de lista la solucin a estas incgnitas del listado de
valores ingresados:
A. Cul fue el menor de los nmeros positivos ingresados?
B. Promedio de los nmeros positivos?
C. Cul fue el mayor de los nmeros negativos ingresados?
Cuando usuario no haya ingresado ningn listado de valores (sean tipo positivos o de negativos), muestre el
aviso apropiado en cuadro de lista de los resultados.
V. DISCUSION DE RESULTADOS
Elabore un proyecto de tipo Windows Forms denominado vbGUIA01lab, en el cual se solucionara cada uno de
los siguientes problemas (Elaborar cada solucin en un formulario diferente dentro del mismo proyecto).
PROBLEMA 1
Crear una aplicacin que permita a un estudiante de Ingeniera de la Universidad UDB ingresar sus 6 notas de
periodos (3 de teo y 3 de lab) de la materia Sistemas Digitales.
Una nota valida en la Universidad es correcta solamente en el rango de 0.00 (min) hasta 10.00 (mx.). Adems, los
porcentajes a tomar en cuenta son:
+ Teora (60%): 20% por c/periodo
+ Practica (40%): 10% periodo 1 y 15% para periodos 2 y 3.
Lenguajes de Programacin 1
20
7.0 a 10.00
6.0 a 6.99
3.0 a 5.99
0.00 a 2.99
Carita de ejemplo
PROBLEMA 2
Solicite al usuario una fecha separada en sus partes que la componen (Da, Mes y Ao), para luego mostrar un
calendario en pantalla, resaltando la fecha ingresada.
El problema es que el usuario puede ingresar combinaciones de da-mes-ao incorrectas, por ej.: 31/4/1934,
29/2/2006, 456/11/2009, etc.
Por lo tanto, la solucin a implementar debe cumplir los siguientes aspectos:
+ Debe utilizar controles NumericUpDown para que usuario ingrese cada parte de la fecha. Tomar en cuenta que
el ao valido estar ubicado exclusivamente entre 1850 al 2026, ambos aos inclusive.
+ Luego, para validar las partes de la fecha recibida, debe utilizar exclusivamente estructuras de control Select
Case , es decir que no debe usarse ninguna estructura de control If-Else
+ Si la fecha recibida del usuario presenta algn problema, debe indicrsele al usuario un mensaje apropiado y
exacto sobre Por qu su fecha ingresada presenta errores? y regresar el foco hacia el 1er control
NumericUpDown.
+ Si la fecha ingresada es correcta, debe usar un Control
denominado MonthCalendar para mostrar la fecha ingresada
ubicada en el calendario del mes y ao especificado.
Por ejemplo, si usuario ingresa la fecha valida 29/2/1992, el
control de calendario se mostrara EXACTAMENTE as:
Se le sugiere investigar acerca de los Controles de formulario
solicitados en la descripcin de este problema, para facilitarse
el diseo de su respectiva solucin.
Lenguajes de Programacin 1
21
VII. BIBLIOGRAFA
Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), Espaa. Editorial Anaya
Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), Mxico,
Editorial ALFAOMEGA, ISBN: 9701512189
Lenguajes de Programacin 1
22