ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
Programación de comprobantes de pago
1. Programación de Comprobantes de pago
// Programa que permite elaborar los comprobantes de pago
// del personal que labora en la institucion
// Elaborado por: *Grupo Aglodavaci
// Seccion 3 - T1-T2
PROGRAM Mini_Proyecto;
USES CRT;
VAR
ci, I, a, d, e, F, G, Z, Y ,nh, aser, cpa,cpd,cpo,te: INTEGER;
resp:char;
nom, ape, car: string[10];
sb, sso, im, ia, pf, ca, fj, ah, sn, ing, dec, phijo, phogar, p_ant, pprof: real;
//procedimiento que permite ingresar los datos del personal
PROCEDURE datos;
BEGIN
textcolor(15);
GotoXY(12,7);Write('Ingresar Datos:');
GotoXY(17,9);Write('Nombres: ');
read(nom); READln;
GotoXY(17,11);Write('Apellidos: ');
read(ape); READln;
GotoXY(17,13);Write('Cedula: ');
read(ci); READln;
GotoXY(17,15);Write('Cargo: ');
read(car); READln;
GotoXY(17,17);Write('Nro de hijos: ');
read(nh); READln;
GotoXY(17,19);Write('Sueldo base: ');
read(sb); READln;
END;
//procedimiento que permite formar el comprobante de pago
PROCEDURE tabla;
BEGIN
FOR I:= 4 TO 76 DO
BEGIN
3. //** procedimiento que CALCULA LOS INGRESOS del pers docente y obrero
Procedure Ing_docente_obrero(s_base :real; nhijos: integer);
begin
phijo:= nhijos*160;
ing:= phijo+ s_base;
end;
// ** procedimiento que CALCULA LAS DEDUCCIONES del pers administrativo y obrero
Procedure Dec_adm_obrero(s_base: real);
begin
sso:= (s_base*0.03);
im:=(s_base*0.04);
ia:=(s_base*0.04);
pf:=(s_base*0.01);
ca:=(s_base*0.10);
ah:=(s_base*0.01);
fj:= (s_base*0.04);
dec:= sso+im+ia+pf+ca+fj+ah;
end;
//procedimiento que permite CALCULA LAS DEDUCCIONES del pers docente
Procedure Dec_docente(s_base: real);
begin
sso:= (s_base*0.03);
im:=(s_base*0.04);
ia:=(s_base*0.04);
pf:=(s_base*0.01);
ca:=(s_base*0.07);
ah:=(s_base*0.01);
dec:= sso+im+ia+pf+ca;
end;
//Procedimiento que muestrar una linea de subrayado
PROCEDURE linea1;
BEGIN
FOR a:= 29 TO 53 DO
BEGIN
TEXTCOLOR(11);
GotoXY (a,5); WRITE(CHR(205));textcolor(11);
END;
END;
4. PROCEDURE lineaRE;
BEGIN
FOR d:= 24 TO 56 DO
BEGIN
textcolor(1);
GotoXY (d,7); WRITE(CHR(45));
END;
END;
//procedimiento que muestra un cuedro en portada y menu principal
PROCEDURE CUADRO; //CUADRO
BEGIN
TEXTCOLOR(15);//CAMBIA EL COLOR DE FONDO DE PANTALLA
For Z:= 6 to 75 do
begin
GotoXY (Z,2);write(CHR(177));
GotoXY (Z,24);write(CHR(177));
end;
//mustra lineas verticales
For Y:= 2 to 24 do
begin
GotoXY(6,Y);write(CHR(177));
GotoXY(75,Y);write(CHR(177));
end;
END;
//*** PROGRAMA PRINCIPAL ***
BEGIN
clrscr;
textbackground(1);//CAMBIA EL COLOR DE FONDO DE PANTALLA
clrscr;
// ** PORTADA **
CUADRO;
textcolor(15);
GotoXY(24,2);Write(' I.U.T. Dr. Federico Rivero Palacio ');
GotoXY(27,4);Write('Departamento De Informatica');
GotoXY(25,6);Write('Catedra Algoritmo y Programacion');
textcolor(10);
GotoXY(32,12);Write('Comprobante de Pago');
textcolor(15);
GotoXY(15,17);Write('Elaborado por:');
5. GotoXY(50,17);Write('Grupo ');
GotoXY(50,18);Write('Aglodavaci ');
GotoXY(51,22);Write('Seccion 3 / T1-T2');
textcolor(13);
GotoXY(25,24);Write(' Presione UNA TECLA para continuar ');
readKey;
sso:=0; im:=0; ia:=0; pf:=0; ca:=0; fj:=0; ah:=0; aser:=1; sb:=0;
CLRSCR;
REPEAT
textbackground(16);//CAMBIA EL COLOR DE FONDO DE PANTALLA
CLRSCR;
CUADRO;
textcolor(13);
GotoXY(32,4);write(CHR(42)); //muestra Asteriscos a los lodos de menu principal
GotoXY(33,4);write(CHR(42));
GotoXY(50,4);write(CHR(42));
GotoXY(51,4);write(CHR(42));
textcolor(11);
GotoXY(35,4);WriteLN('MENU PRINCIPAL');
textcolor(15);
GotoXY(15,8);WRITE(' -> Pers. Administrativo');
textcolor(10); GotoXY(19,8);WRITE('A');
textcolor(15);
GotoXY(15,10);WRITE(' -> Pers. Docente');
textcolor(10); GotoXY(19,10);WRITE('D');
textcolor(15);
GotoXY(15,12);WRITE(' -> Pers. Obrero');
textcolor(10); GotoXY(19,12);WRITE('O');
textcolor(15);
GotoXY(15,14);WRITE(' -> Reporte de emplaedos procesados');
textcolor(10); GotoXY(19,14);WRITE('R');
textcolor(15);
GotoXY(15,16);WRITE(' -> Salir');
textcolor(10); GotoXY(19,16);WRITE('S');
textcolor(13);
GotoXY(34,21);Write('Ingrese su opcion: ');
TEXTCOLOR(10);GotoXY(53,21);resp:= readkey;
6. CLRSCR;
textbackground(16);//CAMBIA EL COLOR DE FONDO DE PANTALLA
CLRSCR;
CASE resp of
'A','a':begin //personal admon
linea1;
GOTOxy(30,4);Write('PERSONAL ADMINISTRATIVO');
datos;
textcolor(15);
GotoXY(17,21);Write('A os de servicio: ');
GotoXY(18,21);Write(CHR(164));GotoXY(35,21);read(aser); readln;
CLRSCR;
textbackground(1); //cambia el color de fondo de pantalla
CLRSCR;
Ing_adm(sb, aser, nh); //LLAMA PROCEDIMIENTO
Dec_adm_obrero(sb); //LLAMA PROCEDIMIENTO
GotoXY(29,4);WRITE('PERSONAL ADMINISTRATIVO');
GotoXY(5,15);WRITE('Prima de Profesion'); GotoXY(31,15);write(pprof:6:2);
GotoXY(5,16);WRITE('Prima por Antiguedad'); GotoXY(31,16);write(p_ant:6:2);
GotoXY(5,17);WRITE('Prima por Hogar'); GotoXY(31,17);write(phogar:6:2);
GotoXY(43,19);WRITE('Fondo Jubilacion'); GotoXY(70,19);write(fj:6:2);
sn:= Ing-Dec;
tabla; readln; //LLAMA PROCEDIMIENTO
cpa:=cpa+1
end;
'D','d':begin //personal docente
linea1;
GOTOxy(34,4);Writeln('PERSONAL DOCENTE');
datos;
CLRSCR;
textbackground(1); //cambia el color de fondo de pantalla
CLRSCR;
Ing_docente_obrero(sb,nh);//LLAMA PROCEDIMIENTO
Dec_docente(sb); //LLAMA PROCEDIMIENTO
GotoXY(33,4);WRITE('PERSONAL DOCENTE');
sn:= Ing-Dec;
tabla; READLN;
cpd:=cpd+1
end;
'O','o':begin //Personal obrero
7. linea1;
GOTOxy(34,4);Writeln('PERSONAL OBRERO');
datos;
CLRSCR;
textbackground(1); //cambia el color de fondo de pantalla
CLRSCR;
Ing_docente_obrero(sb,nh); //LLAMA PROCEDIMIENTO
Dec_adm_obrero(sb); //LLAMA PROCEDIMIENTO
GotoXY(33,4);WRITE('PERSONAL OBRERO');
GotoXY(43,19);WRITE('Fondo Jubilacion'); GotoXY(70,19);write(fj:6:2);
sn:= Ing-Dec;
tabla;readln; //LLAMA PROCEDIMIENTO
cpo:=cpo+1
end;
//**resumen de empleados**
'R','r':begin
textbackground(15);//CAMBIA EL COLOR DE FONDO DE PANTALLA
clrscr;
textcolor(16);
For F:= 17 to 63 do // forma un cuadro
begin
GotoXY (F,3);write(CHR(205));
GotoXY (F,20);write(CHR(205));
GotoXY (17,3);write(CHR(201));//esquina superior izquierda
GotoXY (17,20);write(CHR(200)); //esquina inferior izquierda
GotoXY (63,3);write(CHR(187));
GotoXY (63,20);write(CHR(188));
end;
For G:= 4 to 19 do
begin
GotoXY(17,G);write(CHR(186));
GotoXY(63,G);write(CHR(186));
end;
lineaRE;
textcolor(1); //Da color al texto
GOTOxy(25,6);Write('RESUMEN DE EMPLEADOS PROCESADOS');
textcolor(16); //Da color al texto
GOTOxy(26,9);Write('Administrativos');GOTOxy(50,9);Writeln(cpa);
GOTOxy(26,11);Write('Docentes ');GOTOxy(50,11);Writeln(cpd);
GOTOxy(26,13);Write('Obreros'); GOTOxy(50,13);Writeln(cpo);
8. te:= cpa+cpd+cpo;
GOTOxy(30,16);Write('Total ');GOTOxy(50,16);Writeln(te);
For e:= 25 to 54 do
begin
GotoXY (e,14); WRITE(CHR(95));//muestra una linea
end;
textcolor(5); //color ROSADO
GOTOxy(23,22);Write('Presione (ENTER) para volver al menu');
READLN;
end;
end;//fin de repetir
textbackground(1);//CAMBIA EL COLOR DE FONDO DE PANTALLA
CLRSCR;
UNTIL (resp = 'S') or (resp = 's');
textcolor(13);
GOTOxy(35,12);WriteLN('Cerrando...!');
textcolor(11);
GOTOxy(25,8);WriteLN ('** GRACIAS POR USAR EL SISTEMA **');
textcolor(13);
GotoXY (23,8); WRITE(CHR(1));
GotoXY (59,8); WRITE(CHR(1));
textcolor(14);
GOTOxy(25,16);WriteLN('Presione UNA TECLA para finalizar'); readKEY;
CLRSCR;
END.