lunes, 1 de marzo de 2010

P1E12 – Calcular sueldo neto de trabajador

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:

clip_image002

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: