¡Hola, coders! El siguiente problema nos envía Juan Roja desde Facebook.
PROBLEMA
Desarrolle un pseudocódigo y diagrama de flujo para la siguiente situación, en esta se espera que usted encuentre una solución a la problemática planteada a través de la lógica de algoritmos:
Una empresa necesita una solución informática para determinar la valides de los datos que ingresarán al sistema:
Primer dato: La fecha: Deberá leer 3 números los cuales significan una fecha (día, mes, año). Comprobar que sea válida la fecha, si no es válido que imprima un mensaje de error, y si es válida imprimir el mes con su nombre, el día y el año al final del código.
Segundo dato: Deberá validar el salario del trabajador del día, por lo tanto, deberán ingresar las horas trabajadas, e nombre del empleado y el valor de la hora de trabajo, si el salario diario es mayor a $ 35.000, se le dará una bonificación del 10% de aumento.
Tercer dato: La edad del trabajador, deberá calcular cuantos años tiene el empleado, a partir de la fecha de nacimiento. El sistema debe arrojar: La fecha actual: Nombre del empleado: Edad del empleado: Salario del día:
PSEINT
Algoritmo tarea // Declaración de variables Definir diaAct, mesAct, añoAct, diasMes, añoNaci Como Entero Definir nomEmp Como Cadena Definir horasTrab, tarifaHor, sueldoBas, montoBoni, salarioDia Como Real Definir edadEmp Como Entero // Entrada de datos Escribir "Fecha actual" Escribir "Día: " Sin Saltar Leer diaAct Escribir "Mes: " Sin Saltar Leer mesAct Escribir "Año: " Sin Saltar Leer añoAct Escribir "Nombre del Empleado: " Sin Saltar Leer nomEmp Escribir "Año de Nacimiento : " Sin Saltar Leer añoNaci Escribir "Horas Trabajadas : " Sin Saltar Leer horasTrab Escribir "Tarifa Horaria : " Sin Saltar Leer tarifaHor // 1) Validar la fecha actual ingresada // 1.1 Validar el año Mientras (añoAct < 2021) Hacer Escribir ">>> El año actual no puede ser menor a 2021" Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite el año actual de nuevo: " Sin Saltar Leer añoAct FinMientras // 1.2 Validar el mes Mientras (mesAct < 1 O mesAct > 12) Hacer Escribir ">>> El mes actual debe estar entre 1 y 12" Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite el mes actual de nuevo: " Sin Saltar Leer mesAct FinMientras // 1.3 Determinar el número de días del mes Segun (mesAct) Hacer // Enero, Marzo, Mayo, Julio, Agosto, Octubre y Diciembre tienen 30 días 1, 3, 5, 7, 8, 10, 12: diasMes ← 31 // Abril, Junio, Setiembre y Noviembre tienen 30 días 4, 6, 9, 11: diasMes ← 30 De Otro Modo: // Hay que tener en cuenta que Febrero puede tener 28 o 29 días si el año es bisiesto. // Un año es bisiesto cuando es múltiplo de 4 y no de 100 o cuando es múltiplo de 400. si((añoAct % 4 == 0) Y ((añoAct % 100 ≠ 0) O (añoAct % 400 == 0))) Entonces diasMes = 29 SiNo diasMes = 28 FinSi Fin Segun // 1.4 Validar el día Mientras (diaAct < 1 O diaAct > diasMes) Hacer Escribir ">>> El día actual debe estar entre 1 y ", diasMes Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite el día actual de nuevo: " Sin Saltar Leer diaAct FinMientras // 2. Calcular el salario del trabajador del día // 2.1 Validar horas trabajadas Mientras (horasTrab ≤ 0) Hacer Escribir "Las horas trabajadas no debe ser menor a 0" Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite las horas trabajadas de nuevo: " Sin Saltar Leer horasTrab Fin Mientras // 2.2 Validar tarifa horaria Mientras (tarifaHor ≤ 0) Hacer Escribir "La tarifa horaria no debe ser menor a 0" Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite la tarifa horaria de nuevo: " Sin Saltar Leer tarifaHor Fin Mientras // 2.3 Calcular el sueldo básico sueldoBas ← horasTrab * tarifaHor // 2.4 Calcular el monto de bonificacion Si (sueldoBas > 35000) Entonces montoBoni ← 0.10 * sueldoBas FinSi // 2.5 Calcular el salario del día salarioDia ← sueldoBas + montoBoni // 3) Calcular la edad del trabajador // 3.1 Validar el año de nacimiento Mientras (añoNaci < 1941) Hacer Escribir ">>> El año de nacimiento no debe ser menor a 1941" Escribir ">>> Toque una tecla para continuar..." Esperar Tecla Limpiar Pantalla Escribir "Digite el año de nacimiento de nuevo: " Sin Saltar Leer añoNaci Fin Mientras // 3.2 Calcular la edad edadEmp ← añoAct - añoNaci // Salida de resultados Imprimir "" Imprimir "RESULTADO" Imprimir "---------" Imprimir "La fecha actual : " , diaAct, "/", mesAct "/", añoAct Imprimir "Nombre del empleado: " , nomEmp Imprimir "Edad del empleado : " , edadEmp, " años" Imprimir "Horas trabajas : " , horasTrab , " hora(s)" Imprimir "Tarifa horaria : $ " , tarifaHor Imprimir "Sueldo básico : $ " , sueldoBas Imprimir "Bonificación : $ " , montoBoni Imprimir "Salario del día : $ " , salarioDia FinAlgoritmo
DIAGRAMA DE FLUJO
PROGRAMADESARROLLO TUS ALGORITMOS 🔥🔥
No hay comentarios, ¡cuéntame algo!
Me gustaría saber tu opinión. ¡Saludos!