Se te recomienda antes de hacer cualquier ejercicio leerlo completamente, al estarlo realizando anota todas las preguntas o dudas que te surjan para su aclaración en clase, así como los elementos nuevos que descubras.
Recuerda que no se trata de copiar y pegar o de transcribir contenidos, ante todo es descubrir su operatividad y comprobar su funcionalidad.
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 nombres del trabajador
Sueldo básico
Horas extras trabajadas
Además, se sabe que los trabajadores laboran en dos turnos: diurno y nocturno. Y que la tarifa por las horas extras diurnas es de 10 pesos y por las horas extras nocturnas es de 15 pesos.
Los descuentos a aplicar son sobre el sueldo básico y se obtienen de la siguiente manera:
dblRenta = dblSueldoBasico * 0.1
dblFonavi = dblSueldoBasico * 0.07
dblISR = dblSueldoBasico * 0.03
Finalmente el sueldo neto del trabajador se calcula mediante las siguientes expresiones:
dblIngresos = dblSueldoBasico + intHorasExtras * dblPagoHoraExtra
dblEgresos = dblRenta + dblFonavi + dblISR
dblSueldoNeto = dblIngresos - dblEgresos
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 marcos
5 etiquetas
8 cajas de texto
2 botones de opción
3 casillas de verificación
3 botones de comando
Luego, proceda a establecer las propiedades según se indica a continuación:
Form1
| Nombre | frmBoletaDePago |
| BorderStyle | 3-Fixed Dialog |
| Caption | Boleta de pago |
| Moveable | False |
Label1
| Nombre | lblTrabajador |
| AutoSize | True |
| Caption | Trabajador: |
Label2
| Nombre | lblSueldoBasico |
| AutoSize | True |
| Caption | Sueldo Bruto |
Label3
| Nombre | lblHorasExtras |
| AutoSize | True |
| Caption | Horas extras: |
Label4
| Nombre | lblPagoHoraExtra |
| AutoSize | True |
| Caption | Pago hora extra |
Label5
| Nombre | lblSueldoNeto |
| AutoSize | True |
| Caption | Sueldo neto |
Text1
| Nombre | txtTrabajador |
| Text | |
Text2
| Nombre | txtSueldoBasico |
| Text | |
Text3
| Nombre | txtHorasExtras |
| Text | |
Text4
| Nombre | txtPagoHoraExtra |
| BackColor | &H80000004& |
| Text | |
Text5
| Nombre | txtRenta |
| BackColor | &H80000004& |
| Locked | True |
| Text | |
Text6
| Nombre | txtFonavi |
| BackColor | &H80000004& |
| Locked | True |
| Text | |
Text7
| Nombre | txtISR |
| BackColor | &H80000004& |
| Locked | True |
| Text | |
Text8
| Nombre | txtSueldoNeto |
| BackColor | &H80000004& |
| Locked | True |
| Text | |
option1
| Nombre | optDiurno |
| Caption | Diurno |
| Value | True |
option2
| Nombre | optNocturno |
| Caption | Nocturno |
| Value | False |
Check1
| Nombre | chkRenta |
| Caption | Renta |
Check2
| Nombre | chkFonavi |
| Caption | Fonavi |
Check3
| Nombre | chkISR |
| Caption | ISR |
Command1
| Nombre | cmdAceptar |
| Caption | &Aceptar |
| Default | True |
Command2
| Nombre | cmdLimpiar |
| Caption | &Limpiar |
Command3
| Nombre | cmdSalir |
| Cancel | True |
| Caption | &Salir |
Una vez establecidas las propiedades, proceda a ingresar el código que se indica a continuación:
Private Sub cmdAceptar_Click()
Dim dblSueldoBasico As Double
Dim intHorasExtras As Integer, dblPagoHoraExtra As Double
Dim dblRenta As Double, dblFonavi As Double, dblISR As Double
Dim dblIngresos As Double, dblEgresos As Double
Dim dblSueldoNeto As Double
dblSueldoBasico = Val(txtSueldoBasico.Text)
intHorasExtras = Val(txtHorasExtras.Text)
If optDiurno.Value Then
dblPagoHoraExtra = 10
End If
If optNocturno.Value Then
dblPagoHoraExtra = 15
End If
If chkRenta.Value Then
dblRenta = dblSueldoBasico * 0.1
Else
dblRenta = 0
End If
If chkFonavi.Value Then
dblFonavi = dblSueldoBasico * 0.07
Else
dblFonavi = 0
End If
If chkISR.Value Then
dblISR = dblSueldoBasico * 0.03
Else
dblISR = 0
End If
dblIngresos = dblSueldoBasico + intHorasExtras * dblPagoHoraExtra
dblEgresos = dblRenta + dblFonavi + dblISR
dblSueldoNeto = dblIngresos - dblEgresos
txtPagoHoraExtra.Text = Str(dblPagoHoraExtra)
txtRenta.Text = Str(dblRenta)
txtFonavi = Str(dblFonavi) : txtISR = Str(dblISR)
txtSueldoNeto = Str(dblSueldoNeto)
End Sub
Private Sub cmdSalir_Click()
End
End Sub
Guarde y ejecute su aplicación.
Anote sus observaciones:
- Que descubriste que sucede con el siguiente segmento de código:
If optDiurno.Value Then
dblPagoHoraExtra = 10
End If
If optNocturno.Value Then
dblPagoHoraExtra = 15
End If
- Consideras que es lo mismo utilizar opt y/o utilizar chk.
- En el siguiente segmento de código existe una condición, cuando se ejecutará la línea dblFonavi = 0.
If chkFonavi.Value Then
dblFonavi = dblSueldoBasico * 0.07
Else
dblFonavi = 0
End If
- Habiendo concluido el ejercicio. Describe la parte consideras necesario volver a repasar: