Beruflich Dokumente
Kultur Dokumente
Olá Leitores,
“Fazer um programa que solicite ao usuário um valor inteiro para saque, como em um caixa eletrônico e
retornar ao usuário a quantidade de cédulas de 100, 50, 20, 10, 5, 2 e 1 que o mesmo receberia, dando a
ele a menor quantidade possível de notas.”
Antes de ver meu raciocínio tente pensar em como resolver isso, rabisque um papel com um possível
código.
Para resolvermos essa lógica precisamos pensar da forma mais básica possível, imagine que o valor que
pessoa pediu fosse dado a ela aos poucos, nota por nota, começando da nota de 100, porém a cada
nota dada, contariamos a parte para somar o total de notas no final.
“É a técnica de projeto de algoritmos que tenta resolver o problema fazendo a escolha localmente ótima
em cada fase com a esperança de encontrar um ótimo global.”
Portugol
programa
funcao inicio ()
inteiro ValorSacado
leia (ValorSacado)
inteiro Nota100Contador = 0
inteiro Nota50Contador = 0
inteiro Nota20Contador = 0
inteiro Nota10Contador = 0
inteiro Nota5Contador = 0
inteiro Nota2Contador = 0
inteiro Nota1Contador = 0
inteiro Total
Nota100Contador++
ValorSacado = ValorSacado – 50
Nota50Contador++
ValorSacado = ValorSacado – 20
Nota20Contador++
ValorSacado = ValorSacado – 10
Nota10Contador++
ValorSacado = ValorSacado – 5
Nota5Contador++
ValorSacado = ValorSacado – 2
Nota2Contador++
enquanto (ValorSacado == 1)
ValorSacado = ValorSacado – 1
Nota1Contador++
Total = Nota100Contador+
Nota50Contador+
Nota20Contador+
Nota10Contador+
Nota5Contador+
Nota2Contador+
Nota1Contador
Javascript
<html>
<head>
<title>Teste</title>
</head>
<body>
<script>
var valorSaque;
var Nota100Count = 0;
var Nota50Count = 0;
var Nota20Count = 0;
var Nota10Count = 0;
var Nota5Count = 0;
var Nota2Count = 0;
var Nota1Count = 0;
valorSaque = parseInt(valorSaque);
if (valorSaque < 1) {
alert(“Valor inválido”);
} else {
Nota100Count++;
Nota50Count++;
Nota20Count++;
Nota10Count++;
Nota5Count++;
valorSaque = valorSaque – 2;
Nota2Count++;
while (valorSaque == 1) {
valorSaque = valorSaque – 1;
Nota1Count++;
</script>
</body>
</html>
Java
import java.util.Scanner;
int Nota100Contador = 0;
int Nota50Contador = 0;
int Nota20Contador = 0;
int Nota10Contador = 0;
int Nota5Contador = 0;
int Nota2Contador = 0;
int Nota1Contador = 0;
int Total = 0;
{
ValorSacado = ValorSacado – 100;
Nota100Contador++;
Nota50Contador++;
Nota20Contador++;
Nota10Contador++;
ValorSacado = ValorSacado – 5;
Nota5Contador++;
{
ValorSacado = ValorSacado – 2;
Nota2Contador++;
while (ValorSacado == 1)
ValorSacado = ValorSacado – 1;
Nota1Contador++;
Total = Nota100Contador+
Nota50Contador+
Nota20Contador+
Nota10Contador+
Nota5Contador+
Nota2Contador+
Nota1Contador;
}
}