-
Lenguaje
Pascal
-
Descripción
Ingresa el nombre del trabajador, la cantidad de horas trabajadas, la categoría del trabajador y el valor de la hora normal.
Muestre la cantidad de horas extras y el pago del trabajador.
Tenga en cuenta que el valor de la hora extra es un porcentaje por la categoría, el cual, es más que el valor de la hora normal y que el trabajo es de lunes a sábado.
Suponiendo que se trabaja 5 horas diarias.
Categoría | Porcentaje
Obrero | 10
Administrativo | 30
Especialistas | 40
Supervisor | 45
Gerencial | 50
1
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program PagoPorHorasExtraYCategoria;
uses crt;
var categoria : integer;
var hora_normal, horas_extra, horas_trabajadas, pago, porcentaje : real;
var nombre_del_trabajador : string;
begin
write ('Ingresa el nombre del trabajador: ');
readln (nombre_del_trabajador);
write ('Ingresa el valor de hora normal: ');
readln (hora_normal);
write ('Ingresa el valor de horas trabajadas: ');
readln (horas_trabajadas);
porcentaje := 0;
writeln ('Selecciona el valor de categoria.');
writeln (' 1.- Obrero');
writeln (' 2.- Administrativo');
writeln (' 3.- Especialistas');
writeln (' 4.- Supervisor');
writeln (' 5.- Gerencial');
write (' : ');
repeat
readln (categoria);
if (categoria<1) or (categoria>5) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (categoria>=1) and (categoria<=5);
if horas_trabajadas>30 then
begin
horas_extra := horas_trabajadas-30;
end
else
begin
horas_extra := 0;
end;
if categoria=1 then
begin
porcentaje := 10;
end;
if categoria=2 then
begin
porcentaje := 30;
end;
if categoria=3 then
begin
porcentaje := 40;
end;
if categoria=4 then
begin
porcentaje := 45;
end;
if categoria=5 then
begin
porcentaje := 50;
end;
pago := (horas_trabajadas+horas_extra*porcentaje/100)*hora_normal;
writeln ('Nombre del trabajador: ', nombre_del_trabajador);
writeln ('Valor de horas extra: ', horas_extra:0:6);
writeln ('Valor de pago: ', pago:0:6);
writeln ('Valor de porcentaje: ', porcentaje:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var categoria : integer;
var hora_normal, horas_extra, horas_trabajadas, pago, porcentaje : real;
var nombre_del_trabajador : string;
begin
write ('Ingresa el nombre del trabajador: ');
readln (nombre_del_trabajador);
write ('Ingresa el valor de hora normal: ');
readln (hora_normal);
write ('Ingresa el valor de horas trabajadas: ');
readln (horas_trabajadas);
porcentaje := 0;
writeln ('Selecciona el valor de categoria.');
writeln (' 1.- Obrero');
writeln (' 2.- Administrativo');
writeln (' 3.- Especialistas');
writeln (' 4.- Supervisor');
writeln (' 5.- Gerencial');
write (' : ');
repeat
readln (categoria);
if (categoria<1) or (categoria>5) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (categoria>=1) and (categoria<=5);
if horas_trabajadas>30 then
begin
horas_extra := horas_trabajadas-30;
end
else
begin
horas_extra := 0;
end;
if categoria=1 then
begin
porcentaje := 10;
end;
if categoria=2 then
begin
porcentaje := 30;
end;
if categoria=3 then
begin
porcentaje := 40;
end;
if categoria=4 then
begin
porcentaje := 45;
end;
if categoria=5 then
begin
porcentaje := 50;
end;
pago := (horas_trabajadas+horas_extra*porcentaje/100)*hora_normal;
writeln ('Nombre del trabajador: ', nombre_del_trabajador);
writeln ('Valor de horas extra: ', horas_extra:0:6);
writeln ('Valor de pago: ', pago:0:6);
writeln ('Valor de porcentaje: ', porcentaje:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.