Documentos de Académico
Documentos de Profesional
Documentos de Cultura
inicio
calcular:
o x:=1;
o acum1:=0;
o cont1:=0;
o acum2:=0;
o cont2:=0;
o max:=0;
o nombremax:=0;
while (x=1) do
inicio
o imprimir :'ingrese los datos de los empleados'
for y:=1 to 10 do
inicio
o imprimir: 'ingrese el nombre'
o ingresar: w
o calcular: nombre[y]:=w
o imprimir: 'ingrese las horas de trabajo'
o ingresar: h
o calcular: horas[y]:=h
o imprimir: 'ingrese la base de pago'
o ingresar: b
o calcular: base[y]:=b
o imprimir: 'ingrese la edad'
o ingresar: e
o calcular: edad[y]:=e
if h<=40 then
o inicio
o imprimir: 'el pago total es igual a $'
o imprimir: h*b
o calcular: ptotal[y]:=h*b
o fin
if h>40 then
o inicio
o imprimir: 'el pago total es igual a $'
o calcular: ptotal[y]:=(40*b)+((h-40)*b*1.5)
o imprimir: ptotal[y]
o fin
if ptotal[y]<=200 then
o inicio
calcular: impuesto:=ptotal[y]*0.10
imprimir: 'el impuesto es igual a $',impuesto
calcular: pago_neto:=ptotal[y]-impuesto
imprimir: 'el pago neto es igual a $',pago_neto
o fin
if ptotal[y]>200 then
o inicio
calcular: impuesto:=(200*0.10)+((ptotal[y]-200)*0.20)
imprimir: 'el impuesto es igual a $',impuesto
calcular: pago_neto:=ptotal[y]-impuesto
imprimir: 'el pago neto es igual a $',pago_neto
o fin
if e<55 then
o inicio
calcular:
o acum1:=acum1+ptotal[y];
o cont1:=cont1+1;
o fin
if e>=55 then
o inicio
calcular:
o acum2:=acum2+ptotal[y];
o cont2:=cont2+1;
o fin
readkey;
if ptotal[y]>max then
o inicio
calcular:
o max:=ptotal[y];
o nombremax:=y;
o fin
fin(ciclo for)
clrscr;
imprimir: 'el pago total promedio para los empleados de al menos 55 años es igual a '
imprimir: acum2/cont2
imprimir: 'el pago total promedio para los empleados de menos de 55 años es igual a '
imprimir: acum1/cont1
imprimir: 'el nombre y el pago total para el empleado con maximo pago total es igual a '
imprimir: nombre[nombremax]
imprimir: '$',max
readkey;
imprimir: 'presione 1 si desea volver a repetir el programa'
imprimir: 'o presione cualquier otro numero para salir'
ingresar: x
fin(ciclo while)
fin.
pseudocodigo
program compania_xyz;
uses crt;
var x,y,z,c,nombremax:integer;
h,b,e,impuesto,pago_neto,acum1,cont1,acum2,cont2,pagomax,max:real;
w:string;
begin
clrscr;
x:=1;
acum1:=0;
cont1:=0;
acum2:=0;
cont2:=0;
max:=0;
nombremax:=0;
while (x=1) do
begin
for y:=1 to 10 do
begin
writeln('ingrese el nombre');
readln(w);
nombre[y]:=w;
readln(h);
horas[y]:=h;
readln(b);
base[y]:=b;
writeln('ingrese la edad');
readln(e);
edad[y]:=e;
if h<=40 then
begin
writeln(h*b:0:0);
ptotal[y]:=h*b;
end;
if h>40 then
begin
ptotal[y]:=(40*b)+((h-40)*b*1.5);
writeln(ptotal[y]:0:0);
end;
if ptotal[y]<=200 then
begin
impuesto:=ptotal[y]*0.10;
pago_neto:=ptotal[y]-impuesto;
end;
if ptotal[y]>200 then
begin
impuesto:=(200*0.10)+((ptotal[y]-200)*0.20);
pago_neto:=ptotal[y]-impuesto;
end;
if e<55 then
begin
acum1:=acum1+ptotal[y];
cont1:=cont1+1;
end;
if e>=55 then
begin
acum2:=acum2+ptotal[y];
cont2:=cont2+1;
end;
readkey;
if ptotal[y]>max then
begin
max:=ptotal[y];
nombremax:=y;
end;
end;
clrscr;
writeln('el pago total promedio para los empleados de al menos 55 años es igual a ');
writeln(acum2/cont2:0:0);
writeln('el pago total promedio para los empleados de menos de 55 años es igual a ');
writeln(acum1/cont1:0:0);
writeln('el nombre y el pago total para el empleado con maximo pago total es igual a ');
writeln(nombre[nombremax]);
writeln('$',max:0:0);
readkey;
readln(x);
end;
end.