Está en la página 1de 13

Microsoft Visual Basic

GUÍA DE LABORATORIO Nº 2

Objetivos
Luego de completar este laboratorio, el estudiante será capaz
de:

• Implementar aplicaciones utilizando estructuras de control


selectivas.
• Usar casillas de verificación y botones de opción para alternar
entre uno o más valores.
• Utilizar cajas de diálogo predefinidas para visualizar mensajes.

Consideraciones
Para el desarrollo del presente laboratorio Ud. deberá crear
una carpeta, para guardar sus trabajos correspondientes a este
laboratorio.

Aplicación Nº 1
Se desea elaborar la boleta de pago de los trabajadores de una
fábrica. Para ello se cuenta con los siguientes datos de entrada:

Apellidos y nombre del trabajador


Sueldo básico
Horas extras trabajadas

Además, se sabe que los trabajadores trabajan en dos turnos:


diurno y nocturno. Y que la tarifa por las horas extras diurnas es
de 10 € y por las horas extras nocturnas es de 15 €.
Los descuentos a aplicar son sobre el sueldo básico y se
obtienen de la siguiente manera:

Renta = SueldoBase * 0.1

Fonavi = SueldoBase * 0.07

AFP = SueldoBase * 0.03

Adela Valenciano Suárez 1


Finalmente el sueldo neto del trabajador se calcula mediante
las siguientes expresiones:

Ingresos = SueldoBase + HorasExtras * PagoHoraExtra

Descuentos = Renta + Fonavi + AFP

SueldoNeto = Ingresos - Descuentos

El diseño de la interfaz deberá ser similar a la figura


mostrada:

Para el desarrollo de esta aplicación, proceda a ubicar los


siguientes controles en el formulario:

2 GroupBox
5 etiquetas
8 cajas de texto
2 botones de opción
3 casillas de verificación
3 botones de comando

Adela Valenciano Suárez 2


Luego, proceda a establecer las propiedades según se indica a
continuación:

Form1
Name FrmBoletaDePago
FormBorderStyle Fixed Dialog
Text Boleta de pago

Label1
Name LblTrabajador
AutoSize True
Text Trabajador:

Label2
Name LblSueldoBasico
AutoSize True
Text Sueldo Bruto S/.

Label3
Name LblHorasExtras
AutoSize True
Text Horas extras:

Label4
Name LblPagoHoraExtra
AutoSize True
Text Pago hora extra S/.

Label5
Name LblSueldoNeto
AutoSize True
Text Sueldo neto S/.

Text1
Name TxtTrabajador
Text

Text2
Name TxtSueldoBasico
Text

Text3
Name TxtHorasExtras
Text

Adela Valenciano Suárez 3


Text4
Name TxtPagoHoraExtra
BackColor &H80000004&
Text

Text5
Name TxtRenta
Enabled False
Text

Text6
Name TxtFonavi
Enabled False
Text

Text7
Name TxtAFP
Enabled False
Text

Text8
Name TxtSueldoNeto
Enabled False
Text

Option1
Name OptDiurno
Text Diurno
Checked True

Option2
Name OptNocturno
Text Nocturno
Checked False

Check1
Name ChkRenta
Text Renta

Check2
Name ChkFonavi
Text Fonavi

Check3
Name ChkAFP
Text AFP

Adela Valenciano Suárez 4


Command1
Name BtnAceptar
Text &Aceptar

Command2
Name BtnLimpiar
Text &Limpiar

Command3
Name BtnSalir
Text &Salir

Una vez establecidas las propiedades, proceda a ingresar el


código que se indica a continuación:

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtnAceptar.Click
Dim SueldoBase As Double
Dim HorasExtras As Integer
Dim PagoHoraExtra As Double
Dim Renta As Double, Fonavi As Double, AFP As Double
Dim Ingresos As Double, Descuentos As Double, SueldoNeto As Double

SueldoBase = CDbl(TxtSueldoBase.Text)
HorasExtras = CInt(TxtHorasExtras.Text)
If OptDiurno.Checked Then
PagoHoraExtra = 10
End If
If OptNocturno.Checked Then
PagoHoraExtra = 15
End If
TxtPagoHoraExtra.Text = CStr(PagoHoraExtra)
If ChkRenta.Checked Then
Renta = SueldoBase * 0.1
Else
Renta = 0
End If
TxtRenta.Text = CStr(Renta)
If ChkFonavi.Checked Then
Fonavi = SueldoBase * 0.07
Else
Fonavi = 0
End If
TxtFonavi.Text = CStr(Fonavi)
If ChkAFP.Checked Then
AFP = SueldoBase * 0.03
Else
AFP = 0
End If
TxtAFP.Text = CStr(AFP)
Ingresos = SueldoBase + PagoHoraExtra * HorasExtras
Descuentos = Renta + Fonavi + AFP
SueldoNeto = Ingresos - Descuentos
TxtSueldoNeto.Text = CStr(SueldoNeto)
End Sub

Adela Valenciano Suárez 5


Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles BtnSalir.Click
Close()
End Sub

Private Sub BtnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtnLimpiar.Click
TxtTrabajador.Text = ""
TxtSueldoBase.Text = ""
TxtHorasExtras.Text = ""
TxtPagoHoraExtra.Text = ""
TxtRenta.Text = ""
TxtFonavi.Text = ""
TxtAFP.Text = ""
TxtTrabajador.Focus()
End Sub

Aplicación Nº 2
Cuatro notas entre 0 y 20 representan las calificaciones de un
estudiante de un curso de programación. Elaborar una aplicación
para obtener el promedio de esas calificaciones y visualizar su
puntuación de acuerdo al siguiente cuadro:

Promedio Puntuación
19-20 A
16-18 B
11-15 C
6-10 D
0-5 E

El diseño de la interfaz deberá ser similar a la figura


mostrada:

Adela Valenciano Suárez 6


Para el desarrollo de esta aplicación, proceda a ubicar los
siguientes controles en el formulario:

7 etiquetas
7 cajas de texto
3 botones de comando
Luego, proceda a establecer las propiedades según se indica a
continuación:

Form1
Name FrmNotas
FormBorderStyle 3-Fixed Dialog
Text Puntuación de un estudiante

Label1
Name LblAlumno
AutoSize True
Text Alumno:

Label2
Name LblN1
AutoSize True
Text Nota 1:

Label3
Name LblN2
AutoSize True
Text Nota 2:

Label4
Name LblN3
AutoSize True
Text Nota 3:

Label5
Name LblN4
AutoSize True
Text Nota 4:

Label6
Name LblPromedio
AutoSize True
Text Promedio:

Adela Valenciano Suárez 7


Label7
Name LblPuntuacion
AutoSize True
Text Puntuación:

Text1
Name TxtAlumno
Text

Text2
Name TxtN1
Text

Text3
Name TxtN2
Text

Text4
Name TxtN3
Text

Text5
Name TxtN4
Text

Text6
Name TxtPromedio
Enabled False
Text

Text7
Name TxtPuntuacion
Enabled False
Text

Command1
Name BtnAceptar
Text &Aceptar

Command2
Name BtnLimpiar
Text &Limpiar

Adela Valenciano Suárez 8


Command3
Name BtnSalir
Text &Salir

Una vez establecidas las propiedades, proceda a ingresar el


código que se indica:

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtnAceptar.Click
Dim N1 As Double, N2 As Double, N3 As Double, N4 As Double
Dim Promedio As Integer

N1 = CDbl(TxtN1.Text) : N2 = CDbl(TxtN2.Text) : N3 = CDbl(TxtN3.Text) : N4 =


CDbl(TxtN4.Text)
Promedio = CInt((N1 + N2 + N3 + N4) / 4)

'Promedio = CInt((CDbl(TxtN1.Text) + CDbl(TxtN2.Text) + CDbl(TxtN3.Text) +


CDbl(TxtN4.Text)) / 4)
TxtPromedio.Text = CStr(Promedio)
If Promedio >= 19 And Promedio <= 20 Then
TxtPuntuacion.Text = "A"
ElseIf Promedio >= 16 And Promedio <= 18 Then
TxtPuntuacion.Text = "B"
ElseIf Promedio >= 11 And Promedio <= 15 Then
TxtPuntuacion.Text = "C"
ElseIf Promedio >= 6 And Promedio <= 10 Then
TxtPuntuacion.Text = "D"
ElseIf Promedio >= 0 And Promedio <= 5 Then
TxtPuntuacion.Text = "E"
Else
MessageBox.Show("Error de datos", "Datos incorrectos", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
End Sub

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


System.ComponentModel.CancelEventArgs) Handles TxtN1.Validating, TxtN2.Validating,
TxtN3.Validating, TxtN4.Validating
'Obliga al usuario a introducir un dato válido
Dim TxtN As TextBox = CType(sender, TextBox) 'Es la caja de texto
Try
If CDbl(TxtN.Text) < 0 Or CDbl(TxtN.Text) > 20 Then
MessageBox.Show("La nota debe ser un número entre 0 y 20", "Nota errónea",
MessageBoxButtons.OK, MessageBoxIcon.Error)
TxtN.Focus()
TxtN.SelectAll()
End If
Catch el As Exception
e.Cancel = True 'Cancelar el evento
TxtN.Text = "0"
TxtN.SelectAll() 'seleccionar el contenido de la caja
MessageBox.Show("El dato no es válido." & el.Message) 'Muestra una ventana con el
error
End Try
End Sub

Adela Valenciano Suárez 9


Aplicación Nº 3
Escribir un aplicación que acepte fechas como tres números
(dd, mm, aaaa) y las visualice del modo usual. A manera de ejemplo
considere lo siguiente:

En caso de que el usuario ingrese algún dato incorrecto (por


ejemplo 13 como un número de mes), se debe visualizar el siguiente
mensaje:

Cuando el usuario haga click en el botón Salir, se debe


observar el siguiente mensaje:

En caso de que el usuario elija la opción Si, la aplicación


debe terminar. En caso contrario, es decir si el usuario elige la
opción No, se debe proseguir con la aplicación.

Adela Valenciano Suárez 10


Para el desarrollo de esta aplicación, proceda a ubicar los
siguientes controles en el formulario:

4 etiquetas
3 cajas de texto
1 GroupBox
3 botones de comando

En seguida proceda a establecer las propiedades según se


indica:

Form1
Name FrmFecha
FormBorderStyle 3-Fixed Dialog
Text Fecha en letras

Label1
Name LblDia
AutoSize True
Text Día:

Label2
Name LblMes
AutoSize True
Text Mes:

Label3
Name LblAnno
AutoSize True
Text Año:

Label4
Name LblFecha
AutoSize True
Text

Text1
Name TxtDia
Text

Text2
Name TxtMes
Text

Adela Valenciano Suárez 11


Text3
Name TxtAnno
Text

Command1
Name BtnAceptar
Text &Aceptar

Command2
Name BtnLimpiar
Text &Limpiar

Command3
Name BtnSalir
Text &Salir

Una vez establecidas las propiedades de la interfaz proceda a


ingresar el siguiente código:

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtnAceptar.Click
Dim Dia As Integer, Mes As Integer, Ano As Integer
Dim CadMes As String

Dia = CInt(TxtDia.Text) : Mes = CInt(TxtMes.Text) : Ano = CInt(TxtAno.Text)


'Validar mes
Select Case Mes
Case 1 : CadMes = "Enero"
Case 2 : CadMes = "Febrero"
Case 3 : CadMes = "Marzo"
Case 4 : CadMes = "Abril"
Case 5 : CadMes = "Mayo"
Case 6 : CadMes = "Junio"
Case 7 : CadMes = "Julio"
Case 8 : CadMes = "Agosto"
Case 9 : CadMes = "Septiembre"
Case 10 : CadMes = "Octubre"
Case 11 : CadMes = "Noviembre"
Case 12 : CadMes = "Diciembre"
Case Else
MessageBox.Show("El mes no es correcto, debe ser un número entre 1 y 12",
"Mes Erróneo", MessageBoxButtons.OK, MessageBoxIcon.Error)
Call BtnLimpiar_Click(sender, e)
End Select
LblEnLetras.Text = TxtDia.Text & " de " & CadMes & " de " & TxtAno.Text

End Sub

Adela Valenciano Suárez 12


Aplicación Nº 4
Un restaurante ofrece un descuento del 10% para consumos
entre 30.00 € y 50.00 €; un descuento del 20% para consumos
mayores a 50.00 €; para todos los demás casos no se aplica ningún
tipo de descuento. Elaborar una aplicación que permita determinar
el importe a pagar por el consumidor. El diseño de la interfaz y
otras consideraciones se dejan a su criterio.

Adela Valenciano Suárez 13

También podría gustarte