Está en la página 1de 13

Instituto de

Estudios
Superiores
Rosario
Castellanos

Docente: Fernando Antonio Cruz

Alumno: Claudio Cesar Aparicio Feria

Grupo: LAIT3104B1_O_23-1

Actividad integradora.
Integración del programa de
Nómina del Banco de México
Presentación:

¡Bienvenido a tu actividad integradora! Esta actividad tiene como objetivo


rescatar los conocimientos, habilidades y destrezas adquiridas a lo largo de la
asignatura retomando alguna de las actividades realizadas anteriormente para
unificarlas en un trabajo común cuya finalidad es dar respuesta contundente al
problema prototípico.

A lo largo de la asignatura Diseño de algoritmos hemos desarrollado el caso


hipotético de que has sido contratado por BANXICO en el puesto de evaluación
de Analista-Desarrollador y en tal caso has tenido que realizar la
automatización del proceso de nómina con programación que se ejecute en
servidores Unix.

Como actividad final tendrás que realizar la integración de tu programa con


base en los avances entregados anteriormente. Inicia este nuevo reto.

Propósito:

Aplicar los conceptos analizados dentro de la asignatura de Diseño de


Algoritmos a fin de realizar la integración de las funciones desarrolladas en la
Unidad 3 y 4.

Indicaciones:

1. Retoma las experiencias de aprendizaje y participaciones de los foros


realizados en unidades pasadas.

2. Genera un solo programa que contemple:

· Valor del ISR

· Cuota del IMSS

· Sueldo bruto y
· Sueldo neto por cada banda salarial

El programa lo debes identificar con el nombre de calculaNomina.

3. Ejecuta el programa, realiza la captura de la pantalla de la ejecución del


programa y guárdala en tu equipo.

4. Elabora un documento de texto que entregarás como reporte final con la


siguiente estructura:

I. Carátula

· Nombre completo del alumno

· Nombre de la asignatura

· Nombre del docente

II. Introducción

· Descripción del planteamiento para el cálculo del sueldo bruto, sueldo neto,
cuota del IMSS y el ISR.

III. Implementación

· Integración de los algoritmos desarrollados

· Integración de la descripción de cada función desarrollada

IV. Ejecución

· Pantallas de evidencia de la ejecución de tu código

· Descripción de cada pantalla de tus comentarios sobre lo que notaste al


realizar la ejecución de tu programa

Introducción

Retoma el caso hipotético de que eres el evaluador Analista-Desarrollador y


que tienes como objetivo automatizar el proceso de nómina de BANXICO,
ahora debes identificar las operaciones a realizar en la nómina, así como la
secuencia lógica de la misma para establecer un algoritmo que permita realizar
la nómina de BANXICO.

A continuación, se enuncian la forma de obtener la nómina cómo esta


establecido en el Manual de Percepciones de Banco de México

El sueldo bruto de un empleado se establece por bandas salariales contenidas


en los tabuladores siguientes, corresponden a los trabajadores operativos,
analistas y jefes de oficina del Banco de México, con efectos a partir del 1o. de
enero de 2020, de conformidad con lo aprobado por la Junta de Gobierno del
Banco de México, con fundamento en lo establecido en los artículos 28,
párrafos sexto y séptimo, 123, apartado B, fracción IV, y 127 de la Constitución
Política de los Estados Unidos Mexicanos, así como 46, fracción XVII, de la
Ley de este Instituto Central y demás disposiciones aplicables:

El sueldo bruto de cada empleado esta determinado en el momento de su


ingreso al asignarle la banda salarial que le corresponde y multiplicar el importe
mínimo por un factor de 1.25.

El sueldo neto se obtiene de la resta del sueldo bruto menos las retenciones
del Impuesto sobre la Renta (ISR), menos las cuotas del Instituto Mexicano del
Seguro Social (IMSS) menos los descuentos de nómina adicionales.

Para entender como se calcula el ISR se te indica que vayas a ver al Analista
de impuestos, el cual te explica cómo realizar el cálculo correspondiente.
Tomas notas de la reunión y la pasas en un procesador de texto para que las
tengas de referencia:

Cada año se publica una tabla para el cálculo del ISR mensual, en el 2020 es
la siguiente:

Se busca entre que límites se ubica el sueldo bruto en la tabla, por ejemplo, si
hay un sueldo de $11,000.00, este sueldo se ubica entre los siguientes límites:

Esto quiere decir que lo mínimo que se va a pagar de ISR, es decir, la cuota fija
es de $917.26.

Después se resta al sueldo de $11,000.00 el límite inferior $10,031.08, lo que


da como resultado $968.92 y esto a su vez se multiplica por el %, que es de
17.92%: $173.63.
Finalmente, se suma la cuota fija $917.26 más el valor obtenido anteriormente
$173.63 para obtener el ISR de $1,090.89

Para el cálculo del IMSS te indican que recurras con el Jefe de Departamento
de Relaciones Obrero-Patronal, igualmente tomas apuntes y los pasas a un
documento digital la forma de cálculo (nota: Para fines de este problema se
simplifica el cálculo).

1. Se considera que la Unidad de Medida y Actualización (UMA) es la


referencia económica en pesos para determinar la cuantía del pago de las
obligaciones, es de $123.22.

2. Los días Laborados son 30.

3. El Salario Diario Integrado es igual al sueldo bruto entre el Días Laborados.

4. La Cuota Adicional Obrero es igual al Salario Diario Integrado menos la UMA


por 3, al resultado de la resta se le multiplica por Días Laborados y al resultado
de esta última multiplicación se le aplica el factor de 0.011 (se multiplica). Si es
negativo el valor (menor que cero) la Cuota Adicional Obrero es igual a cero.

5. La Cuota por Préstamo es igual al Salario Diario Integrado por Días


Laborados y se le aplica un factor de 0.25 (se multiplica) y al resultado se
divide entre 100.

6. Los Gastos Médicos es igual al Salario Diario Integrado por Días Laborados
y se le aplica un factor de 0.375 (se multiplica) y al resultado se divide entre
100.

7. El Gasto por Invalidez es igual al Salario Diario Integrado por Días


Laborados y se le aplica un factor de 0.625 (se multiplica) y al resultado se
divide entre 100.

8. Al final para obtener el cálculo del IMSS es igual a la suma de Cuota


Adicional Obrero + Cuota por Préstamo + Gastos Médicos + Gasto por
Invalidez.
Algoritmo

Sistema
Inicio del Programa
Leer nombre del trabajador = nomTrabjador

Leer cargo o banda salarial = banSalarial

Leer nivel salarial = nivSalarial

Declaración contadores = a, b, c, d

Iniciando contadores = a=1, b=1, c=1, d=1

/*Calculamos el sueldo bruto*/

Desde a>=1 Hasta a<=9


Si nivSalarial >= IMin (a) and NIS <= lMax (b) Entonces SB
=I Min(a)*1.25

Fin Si

Fin Desde

/*Funcion del cálculo del ISR*/

Límite Inferior = limInferior


Límite Superior = limSuperior

Porcentaje para aplicar = porcAplicar

Cuota fija = cuFija

Desde c>=1 Hasta c<=11 c++ Hacer

Desde d>=1 Hasta d<=11 d++ Hacer

Si SB >= limInferior (c) And SB <= limSuperior (d) Entonces


ISR = (SB - limInferior (c)) * porcAplicar (c) + cuFija

Fin Si

Fin Desde

Fin Desde

//Se calculan el resto de los descuentos

Unidad de Medida y Actualización = UMA

Días Laborables = diLaborales

Salario Diario Integrado = salDIntegrado

Cuota Adicional Obrero = cuObrero

Cuota por Prestamo = cuPrestamo

Gastos Medicos = gasMedicos

Gasto de Invalidez =gasInvalidez

Sueldo Neto = sueldoNeto

//Se introducen los valores de cada descuento


UMA = $123.22
diLaborales = 30
salDIntegrado = SB/diLaborales
cuObrero = (((salDIntegrado-(UMA*3))*diLaborales)*0.011 Si
cuObrero <=0 Entonces CuObrero =0

Fin Si

cuPrestamo = ((salDIntegrado*diLaborales)*0.25)/100
gasMedicos = (salDIntegrado*diLaborales)*0.375)/100
gasInvalidez = (salDIntegrado*diLaborales)*0.625)/100

/* Función del cálculo de la cuota del IMSS */

Leer “Sueldo bruto:” =


(cuObrero+cuPrestamo+gasMedico+gasInvalidez - SB);
Imprimir “Cuota IMSS”:
Fin

/* Función del cálculo del sueldo Bruto y sueldo Neto */

sueldoNeto = SB-(ISR+IMSS)
Imprimir “El sueldo Bruto es:“ SB

Imprimir “El impuesto a la Renta es:” ISR

Imprimir “El descuento de IMSS es:” IMSS

Imprimir “El Sueldo Neto, libre de Impuestos es:”


sueldoNeto Fin

Fin si
Fin

Codigo en lenguaje C++

#include <iostream>
using namespace std;

//Definicion de procedimientos
void leer_datos();
void imprimir_datos(double imss,double rap,double
sueldoBruto,double isr);

//Definicion de funciones
double cuotaImss();
double sueldoNeto();
double sueldoBruto();
double ISR();

//Definicion e iniciacion de variables globales (pueden


aceder desde cualquier parte de programa)
string nombre ="";
double sueldo = 0;

//funcion principal
int main(){

// definicion e inicializacion de variables locales(pueden


ser accedidas dentro de main)
double imss = 0, rap = 0, sueldoBruto = 0, isr =0;

// Instrucción leer datos


leer_datos();

//Calculo deducciones
imss=cuotaImss();
sueldoBruto=sueldoNeto();
isr=calcuIsr();

//Calculo sueldo neto e imprimir voucher de pago


imprimir_datos(imss,rap,sueldo,isr);
return 0;
}

// Procedimiento para el nombre y sueldo del empleo


void leer_datos(){
cout<<"Plantilla de pago\n";
cout<<"Nombre del empleado..........";
getline(cin,nombre);
cout<<"Sueldo del empleado..........";
cin>>sueldo;
}

// Procedimiento para calcular sueldo neto e imprimir


vaucher de pago
void imprimir_datos(double imss,double rap,double
sueldoBruto,double isr){
double neto = 0;
neto = sueldo - imss -rap - isr;
cout<<"IMSS..................."<<imss<<endl;
cout<<"ISR..................."<<isr<<endl;
cout<<"SUELDO NETO..........."<<neto<<endl;
}
//Funcion para calcular el IMSS seguro social
double cuotaImss(){
double seguro = 0;
if (sueldo >= 8500){

//Pago fijo por exceder el techo


sueldo = 8500 *0.020;
}else{
//pago porcentaje del sueldo
seguro = sueldo * 0.020;
}
return seguro;

//Funcion para calcular el pago del sindicato


double sueldoNeto(){
double sindl = 0;
sindl = sueldo * 0.01;
return sindl;
}

//Funcion para calcular devolución del ISRi


double calculo_rap(){
double excedente = 0, gravable = 0;
return 0;
}
Referencias:
TecCorzo (Diseño de Algoritmos) Recuperado
de:https://sites.google.com/site/teccorzo/unidad-ii/2-3-
diseno-de-algoritmos-
aplicadosa-problemas
BUAP (Técnicas para diseño de algoritmos) [Formato PDF]
Recuperado
de:https://www.cs.buap.mx/~iolmos/ada/
TecnicasDisenoAlgoritmos.pdf
IRC Unidad 3 (Lenguaje de programacion) 12/09/2022
Recuperado
de:https://edu.rcastellanos.cdmx.gob.mx/lad/mod/resource/
view.php?
id=4994&redirect=1

También podría gustarte