Programa Troco da Compra
Program trocoCompra;
{Programa para retorno da quantidade exata de troco, com o uso do menor número de notas e moedas) ***Em Reais***.}
CONST
cemMil = 100000;
cincoMil = 5000;
doisMil = 2000;
mil = 1000;
quinhentos = 500;
duzentos = 200;
cem = 100;
cinquenta = 50;
vinteECinco = 25;
dez = 10;
cinco = 5;
hum = 1;
var a,b,c,d,e,humReal,f,g,cinquentaCentavos,h,vinteECincoCentavos,j,dezCentavos,m,cincoCentavos,o,humCentavo,totalCompra,
pagamento,troco,cemReais,cinquentaReais,vinteReais,dezReais,cincoReais,doisReais,somaValores:INTEGER;
Begin
writeln ('Qual o valor da compra? (Para 2,50, digite 250.)');
readln (totalCompra);
writeln ('Qual o valor dado pelo cliente? (Para 2,50, digite 250.)');
readln (pagamento);
troco := (pagamento - totalCompra);
{calcula as notas de 100 reais}
cemReais := troco div cemMil;
a := troco mod cemMil;
{calcula as notas de 50 reais}
cinquentaReais := a div cincoMil;
b := a mod cincoMil;
{calcula as notas de 20 reais}
vinteReais := b div doisMil;
c := b mod doisMil;
{calcula as notas de 10 reais}
dezReais := c div mil;
d := c mod mil;
{calcula as notas de 5 reais}
cincoReais := d div quinhentos;
e := d mod quinhentos;
{calcula as notas de 2 reais}
doisReais := e div duzentos;
f := e mod duzentos;
{calcula as moedas de 1 real}
humReal := f div cem;
g := f mod cem;
{calcula as moedas de 50 centavos}
cinquentaCentavos := g div cinquenta;
h := g mod cinquenta;
{calcula as moedas de 25 centavos}
vinteECincoCentavos := h div vinteECinco;
j := h mod vinteECinco;
{calcula as moedas de 10 centavos}
dezCentavos := j div dez;
m := j mod dez;
{calcula as moedas de 5 centavos}
cincoCentavos := m div cinco;
o := m mod cinco;
{calcula as moedas de 1 centavo}
humCentavo := o div hum;
somaValores := (humReal + (doisReais*2) + (cincoReais*5) + (dezReais*10) + (vinteReais*20) + (cinquentaReais*50) + (cemReais*100));
if (troco <= 1000) then
begin
if (somaValores = 0) then
writeln ('O troco a ser dado ao cliente eh: ',g,' Centavos.')
else if (somaValores = 1) then
writeln ('O troco a ser dado ao cliente eh: ',somaValores,' Real e ',g,' Centavos.')
else
writeln ('O troco a ser dado ao cliente eh: ',somaValores,' Reais e ',g,' Centavos.');
end;
if (troco > 1000) then
writeln ('O troco a ser dado ao cliente eh: ',somaValores,' Reais e ',g,' Centavos.');
writeln ('Notas de 100 reais: ',cemReais);
writeln ('Notas de 50 reais: ',cinquentaReais);
writeln ('Notas de 20 reais: ',vinteReais);
writeln ('Notas de 10 reais: ',dezReais);
writeln ('Notas de 5 reais: ',cincoReais);
writeln ('Notas de 2 reais: ',doisReais);
writeln ('Moedas de 1 real: ',humReal);
writeln ('Moedas de 50 centavos: ',cinquentaCentavos:0);
writeln ('Moedas de 25 centavos: ',vinteECincoCentavos:0);
writeln ('Moedas de 10 centavos: ',dezCentavos:0);
writeln ('Moedas de 5 centavos: ',cincoCentavos:0);
writeln ('Moedas de 1 centavo: ',humCentavo:0);
End.
Programa para Escrever na tela
program EscreverNaTela;
begin
writeln('Isso será escrito na tela');
end.
Números Perfeitos
program numerosPerfeitos;
uses crt;
var
ate, x, soma, i: integer;
begin
clrscr;
x := 0;
writeln('Numeros perfeitos abaixo de');
Readln(ate);
repeat
x := x + 1;
soma := 0;
for i := 1 to x - 1 do
begin
if x mod i = 0 then
soma := soma + i;
end;
if soma = x then
begin
writeln(x);
end;
until (x > ate);
writeln('Pressione qualquer tecla para finalizar…');
readkey;
end.
Programa de qualidades pessoais
program name;
uses
crt; { biblioteca do Pascal }
var
n1,n2,q1,q2:string; { variáveis criadas pelo usuário do tipo string }
begin
{ Limpa a tela }
clrscr;
writeln('Digite o primeiro nome:');
readln(n1);
writeln('Digite o segundo nome:');
readln(n2);
writeln('Digite uma qualidade para o primeiro nome:');
readln(q1);
writeln('Digite uma qualidade para o segundo nome:');
readln(q2);
writeln('O 1º nome e a 1ª qualidade são: ',n1,' ',q1);
writeln('O 2º nome e a 2ª qualidade são: ',n2,' ',q2);
{ Aguarda até uma tecla ser pressionada }
readkey;
end.
Conversão monetária para troco
Ex.:6,80 euros é igual a 680 cêntimos, o programa deverá devolver essa quantia em moedas de 1 euro, 50 cêntimos, 20 cêntimos e 10 cêntimos.
Program trocos;
const
z=100;
x=50;
y=20;
w=10;
k=5;
s=2;
r=1;
var a,b,c,d,e,f,g,h,i,j,l,m,n,o,p,q,aa,bb,t:integer;
begin
writeln('Introduza uma quantia de dinheiro');
readln(t);
{calcula a moeda de 1 euro}
e:=t div z;
f:=t mod z;
{calcula a moeda de 50 cêntimos}
g:=f div x;
h:=f mod x;
{calcula as moedas de 20 cêntimos}
i:=h div y;
j:=h mod y;
{calcula as moedas de 10 cêntimos}
l:=j div w;
m:=j mod w;
n:=m div k;
o:=m mod k;
p:=o div s;
q:=o mod s;
aa:=q div r;
bb:=q mod r;
writeln('A quantidade de moedas usadas de 1 euro sao:',e:0);
writeln('A quantidade de moedas usadas de 50 cêntimos sao:',g:0);
writeln('A quantidade de moedas usadas de 20 cêntimos sao:',i:0);
writeln('A quantidade de moedas usadas de 10 cêntimos sao:',l:0);
writeln('A quantidade de moedas usadas de 5 cêntimos sao:',n:0);
writeln('A quantidade de moedas usadas de 2 cêntimos sao:',p:0);
writeln('A quantidade de moedas usadas de 1 cêntimos sao:',aa:0);
readln;
end.
Programa de Cinco
Program Cinco_Numeros;
Uses
WINCRT;
Var
Numbers1, Numbers2, Numbers3,
Numbers4, Numbers5, Sum : Integer;
Begin
ClrScr;
WriteLn('Entre com os cinco números: ');
ReadLn(Numbers1, Numbers2, Numbers3, Numbers4, Numbers5);
Sum := Numbers1 + Numbers2 + Numbers3 +
Numbers4 + Numbers5;
WriteLn('A soma dos números é: ',Sum);
WriteLn('Pressione ENTER …');
Readkey;
End.
Repetição
Soma dos números pares.
program Soma_Pares;
uses crt;
var
superior, soma, num: integer;
begin
soma:=0;
write ('Entre com o limite superior');
readln (superior);
num:=2;
repeat
soma:=soma+num;
num:=num+2;
until (num > superior);
writeln('A soma dos números pares de 2 até ', superior,' é ', soma);
readln;
end.
Números Pares entre dois valores inteiros
program pares;
var
x, y: integer;
begin
writeln('Digite os dois valores');
readln(x, y);
if (x mod 2) <> 0 then
x := x + 1;
while x <= y do
begin
writeln(x, ' - ');
x := x + 2;
end;
writeln('Fim da Lista');
end.
Teste Lógico
program Teste;
var
a, b: integer;
uses
crt;
begin
clrscr;
writeln('Digite um número para A');
readln(a);
writeln('Digite o número para B');
readln(b);
if (a > b) then { Se A é maior que B então }
writeln('A é maior que B')
else { Senão… }
if (a < b) then
writeln('B é maior que A')
else
writeln('B é igual à A');
readkey;
end.