algoritmo "menor troco"
// Função : De o troco com o menor número de notas e moedas possíveis.
// Autor : Victor Toledo
// Seção de Declarações
var
p100, p50, p20, p10, p5, p2: inteiro
coin1, coin5, coin10, coin25, coin20, coin50, coin1real: inteiro
troco, conversao: real
val, val2: inteiro
inicio
// Seção de Comandos
escreval ("Qual o valor do troco?")
leia (troco)
val <- int(troco)
conversao <- troco-val
conversao <- conversao*100
val2 <- int(conversao)
Escreval ("Aqui está o seu troco: ", troco)
p100 <- (val div 100)
val <- (val mod 100)
p50 <- (val div 50)
val <- (val mod 50)
p20 <- (val div 20)
val <- (val mod 20)
p10 <- (val div 10)
val <- (val mod 10)
p5 <- (val div 5)
val <- (val mod 5)
p2 <- (val div 2)
val <- (val mod 2)
coin1real <- (val div 1)
val <- (val mod 1)
se p100> 0 entao
escreval (p100, " Notas (s) de 100 reais")
fimse
se p50> 0 entao
escreval (p50, " Nota(s) de 50 reais")
fimse
se p20> 0 entao
escreval (p20, " Nota(s) de 20 reais")
fimse
se p10> 0 entao
escreval (p10, " Nota(s) de 10 reais")
fimse
se p5> 0 entao
escreval (p5, " Nota(s) de 5 reais")
fimse
se p2> 0 entao
escreval (p2, " Nota(s) de 2 reais")
fimse
se coin1real> 0 entao
escreval (coin1real, " Moeda(s) de 1 real")
fimse
coin50 <- (val2 div 50)
val2 <- (val2 mod 50)
coin25 <- (val2 div 25)
val2 <- (val2 mod 25)
coin20 <- (val2 div 20)
val2 <- (val2 mod 20)
coin10 <- (val2 div 10)
val2 <- (val2 mod 10)
coin5 <- (val2 div 5)
val2 <- (val2 mod 5)
coin1 <- (val2 div 1)
val2 <- (val2 mod 1)
se coin50> 0 entao
escreval (coin50, " Moeda(s) de 50 centavos")
fimse
se coin25> 0 entao
escreval (coin25, " Moeda(s) de 25 centavos")
fimse
se coin20> 0 entao
escreval (coin20, " Moeda(s) de 20 centavos")
fimse
se coin10> 0 entao
escreval (coin10, " Moeda(s) de 10 centavos")
fimse
se coin5> 0 entao
escreval (coin5, " Moeda(s) de 5 centavos")
fimse
se coin1> 0 entao
escreval (coin1, " Moeda(s) de 1 centavo")
fimse
fimalgoritmo