Pascal Programming Examples: Fixed Code for Salary, Discount and Coordinates
Classified in Technology
Written on in
English with a size of 5.99 KB
Pascal Programming Examples: Corrected Code
The following Pascal programs have been corrected for syntax, spelling and logic so they can be compiled and run. Each example is presented with its original purpose.
1. Tax and Salary Calculation (Fixed Salary)
program tvtax;
uses crt;
var salfixo, salbruto, salliquido, com, inss, ir, totdesconto: real;
tvled3d, tvlcd, tvplasma: integer;
begin
read(salfixo, tvled3d, tvlcd, tvplasma);
com := 0;
if tvled3d <= 5 then
com := com + tvled3d * 50
else if tvled3d <= 10 then
com := com + tvled3d * 70
else
com := com + tvled3d * 100;
if tvlcd <= 20 then
com := com + tvlcd * 20
else
com := com + tvlcd * 40;
if tvplasma <= 10 then
com := com + tvplasma * 30
else
com := com + tvplasma * 45;
salbruto := salfixo + com;
inss := salbruto * 0.10;
if salbruto <= 1800.00 then
ir := 0
else if salbruto <= 2500.00 then
ir := (salbruto - 1800.00) * 0.10
else if salbruto <= 5000.00 then
ir := (salbruto - 1800.00) * 0.15
else
ir := (salbruto - 1800.00) * 0.27;
totdesconto := inss + ir;
salliquido := salbruto - totdesconto;
write(com:8:2, salbruto:8:2, inss:8:2, ir:8:2, totdesconto:8:2, salliquido:8:2);
readkey;
end.
2. Swap Two Numbers
program ordenar;
uses crt;
var a, b, aux: integer;
begin
read(a, b);
if a > b then
begin
aux := a;
a := b;
b := aux;
end;
write(a, b);
readkey;
end.
3. Hourly Wage Calculation
program Salario_horas;
uses crt;
var valhora, qtdehoras, salnomsem, salext, salbruto, inss, ir, filsind, totdesc, salliq: real;
begin
read(valhora, qtdehoras);
if qtdehoras <= 40 then
begin
salnomsem := valhora * qtdehoras;
salext := 0;
end;
if qtdehoras > 40 then
begin
salext := (qtdehoras - 40) * (1.5 * valhora);
salnomsem := valhora * 40;
end;
salbruto := salnomsem + salext;
inss := salbruto * 10 / 100;
if salbruto <= 2000.00 then
ir := 0
else if (salbruto > 2000.00) and (salbruto <= 3000.00) then
ir := salbruto * 0.08
else if (salbruto > 3000.00) and (salbruto <= 4500.00) then
ir := salbruto * 0.10
else
ir := salbruto * 0.15;
filsind := (salbruto - inss - ir) * 0.005;
totdesc := inss + ir + filsind;
salliq := salbruto - totdesc;
write(salnomsem:8:2, salext:8:2, salbruto:8:2);
write(inss:8:2, filsind:8:2, totdesc:8:2, salliq:8:2);
readkey;
end.
4. Store Discount Program
program desconto_loja;
uses crt;
var vcompra, vpago, desconto: real;
begin
read(vcompra);
if vcompra <= 100.0 then
desconto := 0.05 * vcompra
else if (vcompra > 100.0) and (vcompra <= 300.0) then
desconto := 0.08 * vcompra
else
desconto := 0.10 * vcompra;
vpago := vcompra - desconto;
writeln('Desconto: ', desconto:8:2, ' Valor a Pagar: ', vpago:8:2);
readkey;
end.
5. Cartesian Plane Location
program cartesiano;
var x, y: integer;
localizacao: string;
begin
read(x, y);
if (x = 0) and (y = 0) then
localizacao := 'Coordenadas na origem'
else if (x > 0) and (y > 0) then
localizacao := 'Coordenadas no quadrante 1'
else if (x < 0) and (y > 0) then
localizacao := 'Coordenadas no quadrante 2'
else if (x < 0) and (y < 0) then
localizacao := 'Coordenadas no quadrante 3'
else if (x > 0) and (y < 0) then
localizacao := 'Coordenadas no quadrante 4'
else if (x > 0) and (y = 0) then
localizacao := 'Coordenadas sobre o eixo X'
else if (x = 0) and (y > 0) then
localizacao := 'Coordenadas sobre o eixo Y'
else
localizacao := 'Coordenadas sobre o eixo Y';
writeln(localizacao);
readkey;
end.
6. Positive or Negative Number
program condicao;
var num: integer;
positivo: boolean;
begin
clrscr;
write('Entre com o numero: ');
readln(num);
positivo := (num > 0);
if positivo then
writeln('Numero positivo');
if not positivo then
writeln('Numero negativo');
readkey;
end.