Usted ha sido contratado para desarrollar el algoritmo que administre la información
que proporciona un mecanismo electrónico, el cual se ha diseñado para verificar la entrada y salida de
personal en una empresa. El algoritmo debe registrar la hora de entrada y la hora de salida de cada
empleado, que se controla con el mecanismo, calculando el tiempo que laboró en el día y con base en el
salario que devenga, registrar cuánto recibe en el día de acuerdo con las horas que laboró.
De igual forma si el empleado llega después de la hora de ingreso, se debe registrar el retardo, así como si se
retira antes de cumplir su horario, debe registrarse la novedad y se realizará el respectivo descuento.
Si el empleado trabaja después de su horario normal, se registrarán también las horas extras que laboró y de
igual forma se calculará cuánto recibe por éstas en el día, teniendo en cuenta que el incremento de la hora
extra es del 25% sobre el valor de la hora normal si son diurnas y del 45% si son nocturnas.
El algoritmo finalmente debe calcular cuánto devengó el empleado por el día trabajado, indicando cuánto
recibe por cada concepto.
Adicionalmente, el algoritmo indicará al dispositivo electrónico, cuando el empleado no pueda ingresar a
laborar, por haber tenido más de 3 retardos en la semana.
en PSEINT
Respuestas a la pregunta
Un algoritmo: es un procedimiento que indica el paso a paso a seguir para desarrollar un programa.
INICIO DEL PROGRAMA: se toman en cuenta solo la hora (sin minutos)
#Declaración de variables
Declarar X, cont enteros positivos
Declara ho: entero positivo, hf: entero positivo
Declarar h1: entero positivo y h2: entero positivo
Declarar hdo: entero positivo y hdf: entero positivo
Declarar r: entero positivo
Declarar s: real positivo
#Leer parametros de entrada:
Imprime("introduzca la hora en que el trabajador debe entrar a trabajar (solo hora)"
Leer (ho)
Imprime("introduzca la hora en que el trabajador debe salir de trabajar (solo hora"
Leer (hf)
Imprime("introduzca la hora en que el trabajador llego a trabajar (solo hora)"
Leer (h1)
Imprime("introduzca la hora en que el trabajador salio de trabajar (solo hora)"
Leer (h2)
Imprime("introduzca el salario diario del trabajador"
Leer (s)
Imprime("introduzca la cantidad de retardos del trabajador trabajador"
Leer (r)
#Calculo de horas trabajadas adicional o horas faltantes:
hdo = ho - h1
hdf = hf - h2
#Evaluación de cada caso
#Trabaja de acuerdo a la hora:
Si (hdo =0 y hdf = 0)
Imprimir("el empleado no genera horas extra")
Fin si
#Si trabaja horas extras:
#Llega temprano:
Si hdo > 0
s = s + 0.25*hdo*s
Fin si
#Sale tarde:
Si hdf < 0
s = s + 0.45*(-hdf)*s
Fin si
#Si llega tarde o se va temprano: es igual que antes vpues ahora hdo es negativo o hdf es positivo, se resta en lugar de sumar
#Llega tarde:
Si hdo < 0
s = s + 0.25*hdo*s
r = r +1
Fin si
#Sale temprano:
Si hdf > 0
s = s + 0.45*(-hdf)*s
r = r +1
Fin si
#Imprimimos salario final y si puede entrar
Imprimir("el salario a cobrar el día de hoy es: %f, s)
Si r > 3
Imprimir("el trabajador no puede ingresar a trabajar el día siguiente, por retardo")
Fin programa.