-
Lenguaje
Pascal
-
Descripción
Se requiere un programa, que calcule el salario semanal neto de un trabajador. Tomando en cuenta lo siguiente.
- Pedir horas laboradas en la semana.
- Pedir el salario por hora.
- Se entiende que una jornada laboral es de 8 horas.
- Solo tomaremos en cuenta 6 días laborables por semana
- Las horas extra por semana, de 1 a 16 horas se paga dobles, y de 16 en adelante se pagan triples.
- Calcular el salario neto semanal. Este le deberemos descontar el ISR, normalmente varía dependiendo el salario, pero nosotros lo fijaremos en un 18%.
Tomando en cuenta que a la semana seria 48 horas y un sueldo de 100 por hora. Si ustedes introducen por ejemplo 70 horas laboradas en la semana entonces:
1. 48 se pagaran normal = 4800
2. 16 se pagaran dobles = 3200
3. 6 se pagaran triples = 1800
La sumatoria nos dará el salario bruto = 9800, a esto le quitaremos el ISR para que nos de el salario neto.
Para sacar el salario neto = salario bruto/ 1.18 = 9800 / 1.18 = 8305.08
Para sacar el ISR = salario bruto - salario neto = 1494.92
En pantalla tendrán que mostrar como resultado.
1. Salario bruto = 9800
2. ISR = 1494.92
3. Salario neto =8305.08
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
uses crt;
var ISR, horas_dobles, horas_laboradas_en_la_semana, horas_normales, horas_triples : real;
var salario_bruto, salario_neto, salario_x_hora : real;
begin
write ('Ingresa el valor de horas laboradas en la semana: ');
readln (horas_laboradas_en_la_semana);
write ('Ingresa el valor de salario x hora: ');
readln (salario_x_hora);
if horas_laboradas_en_la_semana>8*6 then
begin
horas_normales := 8*6;
horas_dobles := horas_laboradas_en_la_semana-8*6;
end
else
begin
horas_normales := horas_laboradas_en_la_semana;
horas_dobles := 0;
end;
if horas_dobles>16 then
begin
horas_triples := horas_dobles-16;
horas_dobles := 16;
end
else
begin
horas_triples := 0;
end;
salario_bruto := salario_x_hora*horas_normales+salario_x_hora*horas_dobles*2+salario_x_hora*horas_triples*3;
salario_neto := salario_bruto/1.18;
ISR := salario_bruto-salario_neto;
writeln ('Valor de ISR: ', ISR:0:6);
writeln ('Valor de horas dobles: ', horas_dobles:0:6);
writeln ('Valor de horas normales: ', horas_normales:0:6);
writeln ('Valor de horas triples: ', horas_triples:0:6);
writeln ('Valor de salario bruto: ', salario_bruto:0:6);
writeln ('Valor de salario neto: ', salario_neto:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.