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.

Related entries: