Creación de algoritmo en PSeInt

En una de las primeras actividades de Programación tuvimos que crear un algoritmo a partir de una serie de enunciados:

Debe Calcular el “Sueldo Bruto” a partir de la fórmula de la Cantidad de horas trabajadas (Información entregada por el Usuario) Multiplicado por el valor hora del Trabajador ($5000) más la Cantidad de horas extras (Información Entregada por el Usuario) por el valor de la hora extra ($7000).
A continuación, deberá calcular el “Bono Marzo” el cual se calculará de acuerdo al 20% de los sueldos brutos que sean mayores a $200.000 y un 15% de los sueldos brutos que no cumplan esta condición.
Seguido, deberá calcular el “Descuento AFP” en donde calculará este descuento de acuerdo a las siguientes AFP y sus respectivos descuentos: CUPRUM 7%, MODELO 9%, CAPITAL 12% y PROVIDA 13%, se calcula de acuerdo al Sueldo Bruto
Luego deberá calcular el “Descuento de Salud” en donde calculará este descuento de acuerdo a los siguientes sistemas de salud y sus respectivos porcentajes de descuentos: FONASA 12%, CONSALUD 13%, MASVIDA 14%, BANMEDICA 15%. Se calcula de acuerdo al Sueldo Bruto.
Por último, calculará el “Sueldo Liquido” descontando los descuentos respectivos al Sueldo Bruto calculado.

Uno de los compañeros mencionó el programa PSeInt y decidí instalarlo y probarlo. Esa resultó ser una buena decisión, me ayudó bastante la sección de documentación del software, donde encontré ejemplos que pude adaptar y que me ayudaron en el desarrollo del algoritmo.

El algoritmo final quedó así:

INICIO
Obtener dato "Cantidad de horas trabajadas en la semana".
Calcular total de horas trabajadas multiplicando la cantidad de horas trabajadas con el
valor de hora trabajada.
Obtener dato "Cantidad de horas extras de la semana".
Calcular total de horas extra multiplicando la cantidad de horas extra con el valor de
hora extra.
Calcular sueldo bruto sumando el total de horas trabajadas con el total de horas extra.
Calcular bono marzo:
Si sueldo bruto es mayor que 200000 entonces bono marzo equivale al 20% de sueldo
bruto.
En caso contrario, bono marzo equivale al 15% de sueldo bruto.
Calcular descuento AFP:
Si AFP es CUPRUM entonces descuento AFP equivale al 7% de sueldo bruto.
Si AFP es MODELO entonces descuento AFP equivale al 9% de sueldo bruto.
Si AFP es CAPITAL entonces descuento AFP equivale al 12% de sueldo bruto.
Si AFP es PROVIDA entonces descuento AFP equivale al 13% de sueldo bruto.
Calcular descuento salud:
Si prevision es FONASA entonces descuento salud equivale al 12% de sueldo bruto.
Si prevision es CONSALUD entonces descuento salud equivale al 13% de sueldo bruto.
Si prevision es MASVIDA entonces descuento salud equivale al 14% de sueldo bruto.
Si prevision es BANMEDICA entonces descuento salud equivale al 15% de sueldo bruto.
Calcular descuentos sumando descuento AFP y descuento salud
Calcular sueldo líquido:
Restar descuentos a sueldo bruto
Sumar bono marzo a sueldo bruto
FIN

Ese algoritmo en PSeInt me quedó así:

Algoritmo Sueldo_Bruto
//Algoritmo para cálculo de sueldo bruto, líquido, desc y bonos de los empleados

Definir ht, total_ht, hx, total_hx, salario_bruto, bono_marzo, AFP, desc_AFP, salud, desc_salud, total_desc, salario_liquido Como Entero; //Estas variables serán números enteros

Escribir "Horas trabajadas: ";
Leer ht;
total_ht <- ht * 5000;

Escribir "Horas extra: "; 
Leer hx; 
total_hx <- hx * 7000;

salario_bruto <- total_ht + total_hx; 

//BONO MARZO
Si (salario_bruto >= 200000) Entonces
    bono_marzo = salario_bruto *  0.2; 
SiNo
    bono_marzo = salario_bruto * 0.15; 
FinSi


//DESCUENTO AFP
Escribir "Indique su AFP"
Escribir "   1. Cuprum, 2. Modelo, 3. Capital, 4. Provida"
Escribir "Escriba una opción [1-4]: "
Leer AFP
Segun AFP Hacer
    1:
        desc_AFP <- salario_bruto * 0.07; //conseguir descuento de Cuprum
        Escribir "Descuento de AFP Cuprum: ",desc_AFP;
    2:
        desc_AFP <- salario_bruto * 0.09; //conseguir descuento de Modelo
        Escribir "Descuento de AFP Modelo:",desc_AFP;
    3:
        desc_AFP <- salario_bruto * 0.12; //conseguir descuento de Capital
        Escribir "Descuento de AFP Capital:",desc_AFP;
    4:
        desc_AFP <- salario_bruto * 0.13; //conseguir descuento de Provida
        Escribir "Descuento de AFP Provida:",desc_AFP;
    De otro modo:
        Escribir "Opción no válida";
FinSegun


//DESCUENTO DE SALUD
Escribir "Indique su Previsión de Salud"
Escribir "   1. FONASA, 2. CONSALUD, 3. MASVIDA, 4. BANMEDICA"
Escribir "Escriba una opción [1-4]: "
Leer salud
Segun salud Hacer
    1:
        desc_salud <- salario_bruto * 0.12; //conseguir descuento de Cuprum
        Escribir "Descuento de FONASA:",desc_salud;
    2:
        desc_salud <- salario_bruto * 0.13; //conseguir descuento de Modelo
        Escribir "Descuento de CONSALUD:",desc_salud;
    3:
        desc_salud <- salario_bruto * 0.14; //conseguir descuento de Capital
        Escribir "Descuento de MASVIDA:",desc_salud;
    4:
        desc_salud <- salario_bruto * 0.15; //conseguir descuento de Provida
        Escribir "Descuento de BANMEDICA:",desc_salud;
    De otro modo:
        Escribir "Opción no válida";
FinSegun

total_desc <- desc_AFP + desc_salud;
salario_liquido <- (salario_bruto - total_desc) + bono_marzo;
Escribir "Su sueldo líquido es: ",salario_liquido;
FinAlgoritmo

Lo que me pareció muy interesante de PSeInt es que tiene una opción para generar diagramas de flujo a partir del código ingresado:

Al ejecutar el programa, la salida por pantalla muestra esto:

Deja una respuesta