Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
“LISANDRO ALVARADO”
DECANATO DE INGENIERIA CIVIL
Programación I
Ejercicio práctico de Visual Basic con manejo de objetos frames
El Aeropuerto de Barquisimeto desea automatizar el Sistema de Ventas de Boletos. Para ello se requiere
leer los siguientes datos de N usuarios: Nombre del usuario, Edad, Línea aérea (Aserca, Aeropostal, Santa
Bárbara), Destino (Caracas, Margarita, San Cristóbal), Tipo de Pago (Al Contado, Tarjeta de Crédito) y Mes
de compra del boleto:
Destino Precio del Boleto (Bs.)
Caracas 4500,00
San Cristóbal 3600,00
Margarita 6900,00
Además se ofrece al público las siguientes políticas:
a.- Por Edad:
- Si el usuario es mayor de 65 años recibe un descuento del 50% sobre precio del boleto. Si el
usuario es menor de 13 años recibe un descuento del 20% sobre precio del boleto.
b.- Por Línea Aérea
Aserca:
- Si el destino es San Cristóbal y compra el boleto en los meses de noviembre y diciembre, tiene un
descuento de 8.5% sobre el precio del boleto.
Aeropostal:
- Si el destino es Caracas y compra el boleto en el segundo trimestre del año, tiene un descuento de
4.5% sobre el precio del boleto.
Santa Bárbara:
- Para los destinos Margarita o San Cristóbal en el primer semestre del año, tiene un descuento
de 2.5% sobre el precio del boleto.
c.- Por Tipo de Pago:
- Si el pago es con Tarjeta de Crédito recibirá un incremento del 2% sobre el precio del boleto.
Diseñe una aplicación en Visual Basic que permita calcular y mostrar en objetos apropiados:
1. Precio del Boleto por usuario.
2. Monto de los descuentos y el Total de descuentos por usuario.
3. Monto de Incremento por tipo de pago.
4. Monto IVA.
5. Monto neto a pagar.
6. El Porcentaje de usuarios que compraron boletos en la línea Aeropostal con destino a Margarita.
7. El Promedio de los montos netos para usuarios que compraron boletos en la línea Santa Bárbara con
destino a San Cristóbal, durante segundo trimestre del año.
8. El Cliente con el menor monto neto en usuario a la línea Aserca con destino a Caracas en los meses
de mayo y junio, con su correspondiente monto.
SOLUCIÓN
1.- Insertar los objetos tal como se muestran en la siguiente ventana de Formulario (Form1).
2.- Insertar en la ventana de código del Formulario1, el siguiente código:
DesctoEdad = 0
End If
'Para determinar el descuento por Linea Aerea
If OptAserca.Value = True Then 'Si el botón seleccionado es Aserca
If OptSanCristobal.Value = True And Val(ComboMes.Text) = 11 Or Val(ComboMes.Text) = 12 Then
DesctoLinea = PrecioBoleto * 8.5 / 100
Else
DesctoLinea = 0
End If
ElseIf OptAeropostal.Value = True Then 'Si el botón seleccionado es Aeropostal
If OptCaracas.Value = True And Val(ComboMes.Text) >= 4 And Val(ComboMes.Text) <= 6 Then
DesctoLinea = PrecioBoleto * 4.5 / 100
Else
DesctoLinea = 0
End If
ElseIf OptSantaBarbara.Value = True Then 'Si el botón seleccionado es Santa Barbara
If OptSanCristobal.Value = True Or OptMargarita.Value = True And Val(ComboMes.Text) <= 6 Then
DesctoLinea = PrecioBoleto * 2.5 / 100
Else
DesctoLinea = 0
End If
End If
DescTotal = DesctoEdad + DesctoLinea 'Para determinar el Descuento Total
If OptTarjeta.Value = True Then 'Si es pago por tarjeta
IncremPago = PrecioBoleto * 2 / 100
Else
IncremPago = 0
End If
MontoPago = PrecioBoleto - DescTotal + IncremPago 'Determinar el monto total a pagar
IVA = MontoPago * 12 / 100 'Cálculo del IVA
Neto = MontoPago + IVA 'Cálculo del monto neto
TxtPrecioBoleto.Text = PrecioBoleto 'Guarda PrecioBoleto en caja de texto
TxtDesctoEdad.Text = DesctoEdad 'Guarda Descuento Edad en caja de texto
TxtDesctoLinea.Text = DesctoLinea
TxtDescTotal.Text = DescTotal
TxtIncremPago.Text = IncremPago
TxtIVA.Text = IVA
TxtNeto.Text = Neto
FramFactura.Visible = True 'Muestra el frame de los montos
'Calculo de las estadisticas
Nusuarios = Nusuarios + 1
'Determinar cantidad de usuarios en Linea Aeropostal, Destino Margarita
If OptAeropostal.Value = True And OptMargarita.Value = True Then
ContAero = ContAero + 1
End If
If OptSantaBarbara.Value = True And OptSanCristobal.Value = True Then
If Val(ComboMes.Text) >= 4 And Val(ComboMes.Text) <= 6 Then
AcumNeto = AcumNeto + Neto
ContS = ContS + 1
End If
End If