-
Lenguaje
PSeInt (Pseudocódigo)
-
Descripción
En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la sig. Forma: Si el obrero trabaja 48 horas o menos se le paga al valor normal por hora; Si trabaja más de 48 horas y menos de 60 horas, se le paga el valor normal por cada una de las primeras 48 horas y las restantes se pagan con un incremento del 35% sobre el valor de la hora normal; en caso contrario se le paga el valor normal por cada una de las primeras 48 horas, las siguientes 8 horas se le pagan con un incremento del 35% sobre el valor de la hora normal y las restantes se pagan con un incremento del 45% sobre el valor de la hora normal. Adicional a esto también se le debe decir al gerente cuanto pago en la nómina total y cuantos trabajadores trabajaron más de 60 horas, cuántos trabajaron más de 48 horas y menos de 61.
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
trabajadores_60_o_mas <- 0;
trabajadores_entre_48_y_61 <- 0;
nomina_total <- 0;
Escribir Sin Saltar "Ingresa el valor de n:";
Leer n;
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir "PROCESO ", i;
Escribir Sin Saltar "Ingresa el valor de horas trabajadas:";
Leer horas_trabajadas;
Escribir Sin Saltar "Ingresa el valor de pago por hora:";
Leer pago_por_hora;
salario_semanal <- pago_por_hora*horas_trabajadas;
Si horas_trabajadas>48 Entonces
salario_semanal <- salario_semanal+pago_por_hora*(horas_trabajadas-48)*0.35;
FinSi
Si horas_trabajadas>=60 Entonces
salario_semanal <- salario_semanal+pago_por_hora*(horas_trabajadas-60)*0.1;
FinSi
nomina_total <- nomina_total+salario_semanal;
Si horas_trabajadas>=60 Entonces
trabajadores_60_o_mas <- trabajadores_60_o_mas+1;
FinSi
Si horas_trabajadas>48 Y horas_trabajadas<61 Entonces
trabajadores_entre_48_y_61 <- trabajadores_entre_48_y_61+1;
FinSi
Escribir "Valor de salario semanal: ", salario_semanal;
Escribir "";
FinPara
Escribir "Valor de trabajadores 60 o mas: ", trabajadores_60_o_mas;
Escribir "Valor de trabajadores entre 48 y 61: ", trabajadores_entre_48_y_61;
Escribir "Valor de nomina total: ", nomina_total;
FinProceso