Hola a todos amigos, necesito su ayuda
Estoy realizando el siguiente ejercicio
Se requiere calcular e imprimir el pago de 102 trabajadores que laboran en la Cía. GACMAN. Los datos que se leerán serán los siguientes: a) El tipo de trabajador. 1.- Obrero. 2.- Empleado. b) Las horas trabajadas. c) El sueldo por hora. Para calcular los pagos se debe considerar lo siguiente: - Los obreros pagan 10 % de impuesto. - Los empleados pagan 10 % de impuesto. - Los trabajadores (obreros y empleados) que reciban un pago menor de 100,000 Bs no pagan impuesto. - Al final se deberá imprimir el total a pagar tanto a los trabajadores como a los empleados. La información solicitada deberá presentarse a través de dos (2) reportes o informes; el primero que contenga el total a pagar a los empleados, ver reporte 1, y el segundo contentivo del total a pagar a los obreros, ver reporte 2, ambos mostrados a continuación.
G A C M A N C.A. Reporte de Pago Impuestos (Empleados) Departamento: Recursos Humanos Total con Impuesto BS. XXXXXX,xx Total Exentos BS. XXXXXX,xx Total a Pagar Bs. XXXXXX,xx Reporte 1
G A C M A N C.A. Reporte de Pago Impuestos (Obreros) Departamento: Recursos Humanos Total con Impuesto BS. XXXXXX,xx Total Exentos BS. XXXXXX,xx Total a Pagar Reporte 2 Bs. XXXXXX,xx. He hecho lo siguiente;
Variables
Ht, sh, ttrab, sueldo, totalap, Totaltra
Si Mientras n<102
haga Imprimir
‘digite horas trabajadas
Leer Ht
Imprimir ‘digite el sueldo de la hora’
Sueldo=sh*ht
Si Sueldo<100000
entonces Totalpa = sueldo
Sino Totalpa=sueldo+ (sueldo*0.10)
Totaltra=totaltra+totalpa
N=n+1
Fin mientras Imprimir Totaltr
Fin
Traducido a lenguaje pascal quedaría así.
uses crt;
Var
ht,n,tope:integer;
sh: Real;
sueldo: Real;
totalpa: Real;
totaltra: Real;
Begin
tope := 3;
totaltra:=0;
for n:=1 to tope do begin
WriteLn('Digite horas trabajadas: ');
ReadLn(ht);
WriteLn('Digite sueldo por hora: ');
ReadLn(sh);
sueldo := sh*ht;
If sueldo<100000 Then
totalpa := sueldo
Else
totalpa := sueldo+(sueldo*0.10);
totaltra := totaltra+totalpa;
End;
WriteLn(totaltra:4:2);
End...!
La ayuda que necesito es definir cuales son las pre y post condiciones del problema en lenguaje de predicados, y las particiones del mismo, ayudenme por favor!!