Faça um algoritmo e um programa que leia um valor inteiro (representando uma quantidade monetária em reais) e escreva a quantidade mínima de cédulas de 200, 100, 50, 20, 10, 5, 2 e moeda de 1 para representar esse valor.

algoritmo notas

Fala galera da programação, tudo beleza?

Já se perguntaram como um caixa eletrônico sabe quais notas de dinheiro entregar? Este exercício lembra de certa forma isso, tentando fornecer o menor número de notas possíveis para atender um valor informado,

Exemplo: Caso o valor seja 1446 reais deve escrever:

7 nota(s) de duzentos reais;
0 nota(s) de cem reais;
0 nota(s) de cinquenta reais;
2 nota(s) de vinte reais;
0 nota(s) de dez reais;
1 nota(s) de cinco reais;
0 nota(s) de dois reais;
1 moeda(s) de um real.

 

Legal? Então vamos ao código!

 

Exemplo em C / C++

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
#include <iostream>

int main() {
    int valor, quantidade;

    // Solicita ao usuário inserir um valor inteiro
    std::cout << "Digite um valor em reais: ";
    std::cin >> valor;

    // Calcula a quantidade de notas de 200
    quantidade = valor / 200;
    std::cout << quantidade << " nota(s) de duzentos reais;" << std::endl;
    valor %= 200;

    // Calcula a quantidade de notas de 100
    quantidade = valor / 100;
    std::cout << quantidade << " nota(s) de cem reais;" << std::endl;
    valor %= 100;

    // Continua o mesmo processo para as demais cédulas e moedas
    quantidade = valor / 50;
    std::cout << quantidade << " nota(s) de cinquenta reais;" << std::endl;
    valor %= 50;

    quantidade = valor / 20;
    std::cout << quantidade << " nota(s) de vinte reais;" << std::endl;
    valor %= 20;

    quantidade = valor / 10;
    std::cout << quantidade << " nota(s) de dez reais;" << std::endl;
    valor %= 10;

    quantidade = valor / 5;
    std::cout << quantidade << " nota(s) de cinco reais;" << std::endl;
    valor %= 5;

    quantidade = valor / 2;
    std::cout << quantidade << " nota(s) de dois reais;" << std::endl;
    valor %= 2;

    // A quantidade restante é a quantidade de moedas de 1 real
    std::cout << valor << " moeda(s) de um real." << std::endl;

    return 0;
}

Este programa solicita ao usuário inserir um valor em reais, e então calcula a quantidade mínima de cédulas de 200, 100, 50, 20, 10, 5, 2 e moedas de 1 necessárias para representar esse valor.

Funcionamento Geral:

  • O programa recebe um valor em reais do usuário.
  • Calcula a quantidade de cédulas ou moedas de cada denominação, começando pela maior (duzentos reais) e indo até a menor (um real).
  • Imprime a quantidade de cada cédula ou moeda.

Observações:

  • O operador % é usado para calcular o restante da divisão, o que permite atualizar o valor para o próximo cálculo.
  • Cada bloco de código corresponde a uma denominação de cédula ou moeda.
  • Ao final, o programa imprime a quantidade de moedas de um real com a variável valor restante.

 

Exemplo em Pascal

{

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

}
program ContagemCedulasEMoedas;

var
  valor, quantidade: integer;

begin
  // Solicita ao usuário inserir um valor inteiro
  write('Digite um valor em reais: ');
  readln(valor);

  // Calcula e imprime a quantidade de notas de 200
  quantidade := valor div 200;
  writeln(quantidade, ' nota(s) de duzentos reais;');
  valor := valor mod 200;

  // Calcula e imprime a quantidade de notas de 100
  quantidade := valor div 100;
  writeln(quantidade, ' nota(s) de cem reais;');
  valor := valor mod 100;

  // Continua o mesmo processo para as demais cédulas e moedas
  quantidade := valor div 50;
  writeln(quantidade, ' nota(s) de cinquenta reais;');
  valor := valor mod 50;

  quantidade := valor div 20;
  writeln(quantidade, ' nota(s) de vinte reais;');
  valor := valor mod 20;

  quantidade := valor div 10;
  writeln(quantidade, ' nota(s) de dez reais;');
  valor := valor mod 10;

  quantidade := valor div 5;
  writeln(quantidade, ' nota(s) de cinco reais;');
  valor := valor mod 5;

  quantidade := valor div 2;
  writeln(quantidade, ' nota(s) de dois reais;');
  valor := valor mod 2;

  // A quantidade restante é a quantidade de moedas de 1 real
  writeln(valor, ' moeda(s) de um real.');
end.


Este programa em Pascal realiza a mesma lógica que o programa em C++ explicado anteriormente.

Observações:

  • Em Pascal, o operador div é usado para a divisão inteira, enquanto o operador mod retorna o resto da divisão inteira.
  • Cada bloco de código corresponde a uma denominação de cédula ou moeda.
  • Ao final, o programa imprime a quantidade de moedas de um real com a variável valor restante.

 

Exemplo em Python

'''

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

'''

# Solicita ao usuário inserir um valor inteiro
valor = int(input("Digite um valor em reais: "))

# Calcula e imprime a quantidade de notas de 200
quantidade = valor // 200
print(f"{quantidade} nota(s) de duzentos reais;")
valor %= 200

# Calcula e imprime a quantidade de notas de 100
quantidade = valor // 100
print(f"{quantidade} nota(s) de cem reais;")
valor %= 100

# Continua o mesmo processo para as demais cédulas e moedas
quantidade = valor // 50
print(f"{quantidade} nota(s) de cinquenta reais;")
valor %= 50

quantidade = valor // 20
print(f"{quantidade} nota(s) de vinte reais;")
valor %= 20

quantidade = valor // 10
print(f"{quantidade} nota(s) de dez reais;")
valor %= 10

quantidade = valor // 5
print(f"{quantidade} nota(s) de cinco reais;")
valor %= 5

quantidade = valor // 2
print(f"{quantidade} nota(s) de dois reais;")
valor %= 2

# A quantidade restante é a quantidade de moedas de 1 real
print(f"{valor} moeda(s) de um real.")

Este código Python realiza a mesma lógica que os programas em C++ e Pascal, mas utiliza a sintaxe específica do Python.

Observações:

  • Em Python, o operador // é usado para divisão inteira, e % retorna o resto da divisão inteira.
  • A f-string é uma maneira conveniente de formatar strings no Python, permitindo a inclusão de variáveis diretamente na string.

 

Exemplo em C#

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
using System;

class ProgramaNotas
{
    static void Main()
    {
        // Solicita ao usuário inserir um valor inteiro
        Console.Write("Digite um valor em reais: ");
        int valor = int.Parse(Console.ReadLine());

        // Calcula e imprime a quantidade de notas de 200
        int quantidade = valor / 200;
        Console.WriteLine($"{quantidade} nota(s) de duzentos reais;");
        valor %= 200;

        // Calcula e imprime a quantidade de notas de 100
        quantidade = valor / 100;
        Console.WriteLine($"{quantidade} nota(s) de cem reais;");
        valor %= 100;

        // Continua o mesmo processo para as demais cédulas e moedas
        quantidade = valor / 50;
        Console.WriteLine($"{quantidade} nota(s) de cinquenta reais;");
        valor %= 50;

        quantidade = valor / 20;
        Console.WriteLine($"{quantidade} nota(s) de vinte reais;");
        valor %= 20;

        quantidade = valor / 10;
        Console.WriteLine($"{quantidade} nota(s) de dez reais;");
        valor %= 10;

        quantidade = valor / 5;
        Console.WriteLine($"{quantidade} nota(s) de cinco reais;");
        valor %= 5;

        quantidade = valor / 2;
        Console.WriteLine($"{quantidade} nota(s) de dois reais;");
        valor %= 2;

        // A quantidade restante é a quantidade de moedas de 1 real
        Console.WriteLine($"{valor} moeda(s) de um real.");
    }
}

Este código C# realiza a mesma lógica dos programas em C++, Pascal e Python, mas utiliza a sintaxe específica do C#.

Observações:

  • O operador % é usado para calcular o resto da divisão inteira.
  • A interpolação de strings ($"{quantidade} nota(s) de duzentos reais;") facilita a criação de strings formatadas com valores de variáveis.

 

Exemplo em Java

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
import java.util.Scanner;

public class ContagemCedulasEMoedas {
    public static void main(String[] args) {
        // Cria um scanner para entrada de dados
        Scanner scanner = new Scanner(System.in);

        // Solicita ao usuário inserir um valor inteiro
        System.out.print("Digite um valor em reais: ");
        int valor = scanner.nextInt();

        // Calcula e imprime a quantidade de notas de 200
        int quantidade = valor / 200;
        System.out.println(quantidade + " nota(s) de duzentos reais;");
        valor %= 200;

        // Calcula e imprime a quantidade de notas de 100
        quantidade = valor / 100;
        System.out.println(quantidade + " nota(s) de cem reais;");
        valor %= 100;

        // Continua o mesmo processo para as demais cédulas e moedas
        quantidade = valor / 50;
        System.out.println(quantidade + " nota(s) de cinquenta reais;");
        valor %= 50;

        quantidade = valor / 20;
        System.out.println(quantidade + " nota(s) de vinte reais;");
        valor %= 20;

        quantidade = valor / 10;
        System.out.println(quantidade + " nota(s) de dez reais;");
        valor %= 10;

        quantidade = valor / 5;
        System.out.println(quantidade + " nota(s) de cinco reais;");
        valor %= 5;

        quantidade = valor / 2;
        System.out.println(quantidade + " nota(s) de dois reais;");
        valor %= 2;

        // A quantidade restante é a quantidade de moedas de 1 real
        System.out.println(valor + " moeda(s) de um real.");

        // Fecha o scanner
        scanner.close();
    }
}

Este código Java realiza a mesma lógica dos programas em C++, Pascal, Python e C#, mas utiliza a sintaxe específica do Java.

Observações:

  • A classe Scanner é utilizada para obter entrada do usuário.
  • O operador % é usado para calcular o resto da divisão inteira.

 

Beleza pessoal? Espero que tenham gostado.

 

Dúvidas ou sugestões de outras linguagens? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 28 de janeiro de 2024

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Algoritmos com Se, Senão e Caso

Continue aprendendo

Aumente o seu conhecimento
Crie um algoritmo e um programa que leia uma data em três variáveis inteiras (dia, mes e ano) e escreva a data correspondente ao dia anterior também de forma separada: dia, mês e ano.

Fala galera da programação, tudo beleza? 📅💻 Explore a manipulação de datas e descubra como calcular o dia anterior em várias linguagens de programação! Aprenda algoritmos, lógica condicional e muito mais neste desafio divertido.   Considerações Para facilitar, considerar que os anos bissextos são aqueles divisíveis por 4. Assim o mês 2 (fevereiro) possui 28 […]

8 de maio de 2024
Um estacionamento cobra R$ 8,00 para a primeira hora e para cada hora adicional é cobrado mais R$ 5,00. Fazer um algoritmo e um programa em que leia o tempo de estacionamento (em horas) e escreva o valor que deve ser pago.

Fala galera da programação, tudo beleza? Vamos a um novo exercício de algoritmos com desvio condicional. Desafie suas habilidades de programação com este exercício simples de cálculo de estacionamento em diversas linguagens! 🚗💻 Aprenda e pratique condicionais, entrada/saída e sintaxe em várias linguagens. Dicas para o exercício Lembrar que pode ser informado 0 no tempo […]

17 de abril de 2024
Crie um algoritmo e um programa em que leia 4 valores, Hi, Mi, Hf, Mf, representando respectivamente a hora e minuto inicial e final de um evento, e calcule a duração do mesmo em horas e minutos. Considere que o evento pode iniciar em um dia e terminar no dia seguinte.

Fala galera da programação, tudo beleza? 💻 Novo exercício na área para aprimorar a nossa lógica de programação. Dica do exercício: Para simplificar o problema, converta cada par de valores em um único valor em minutos. 🕒   O que podemos aprender neste exercício? Neste exercício, podemos aprender várias coisas: Manipulação de Entrada/Saída: Aprendemos como […]

15 de abril de 2024
Crie um algoritmo e um programa em que leia um número e escreva: “Zero”, se o valor é zero; “Positivo”, e o valor é maior que zero; “Negativo” se o valor é negativo

Fala galera da programação, tudo beleza? Novo algoritmo na área com o tema desvio condicional. Hoje vamos explorar uma variedade de linguagens de programação! 🚀 Comparando diferentes abordagens para resolver um problema simples: determinar se um número é zero, positivo ou negativo. Da sintaxe às estruturas condicionais, mergulhamos na essência de cada linguagem.   O […]

9 de abril de 2024
Crie um algoritmo e um programa que leia as 3 notas de um aluno e escreva “APROVADO” caso a média aritmética for maior ou igual a 6, caso contrário escreva “REPROVADO”

Fala galera da programação, tudo beleza? Hoje vamos descubra como este simples exercício de programação em várias linguagens pode fortalecer suas habilidades de codificação! 🚀 Aprenda a calcular médias de notas e determinar a aprovação ou reprovação de alunos em C++, C, Pascal, Python, C#, Java, Rust e Go.   O que podemos aprender neste […]

4 de abril de 2024
O número 3025 tem a seguinte característica: 30+25=55 e 552=3025. Sendo um número de Kaprekar. Crie um algoritmo e um programa que solicite o usuário informar um número inteiro de quatro dígitos. O programa deve verificar e mostrar na tela uma mensagem indicando se este número possui esta característica, ou seja, ser um Número de Kaprekar.

Fala galera da programação, tudo beleza?   O exercício pede para verificar se o número lido possui determinada característica. Ela é conhecida como “Número Kaprekar”. Um número de Kaprekar é um inteiro positivo cuja representação em quadrados de seus dígitos pode ser dividida em duas partes que somam o número original quando somadas. O exemplo […]

30 de março de 2024
Crie um algoritmo e um programa em que implemente uma calculadora de 4 operações. O programa deve solicitar que o usuário informe três dados: o primeiro operando, o operador (+,-,*,/) e o segundo operando. O programa deve mostrar na tela a operação e seu resultado.

Fala galera da programação, tudo beleza? Hoje um novo exercício de calculadora para aprimorar nossa lógica de programação.   Dicas do exercício Em duas situações, o programa não deverá efetuar o cálculo: Se o operador informado pelo usuário for inválido mostrar a mensagem “Operador inválido” e encerrar a execução do programa. Se o segundo operando […]

28 de março de 2024
Crie um algoritmo e um programa quesolicite o usuário informar a altura em metros e o sexo de uma pessoa. O programa deverá calcular o peso ideal da pessoa, utilizando as seguintes fórmulas:

Fala galera da programação, tudo beleza? Lá vamos nós a mais um interessante exercício.   Dados do Exercício Formulas Para Homens: ( 72.7 * altura ) – 58 Para Mulheres: ( 62.1 * altura) – 44.7   Mais dicas A altura da pessoa é um valor real. O sexo da pessoa deverá ser identificado através […]

16 de março de 2024
Crie um algoritmo e um programa que solicite que o usuário informe um código e três valores nomeados como a, b e c. O código vai determinar qual operação o algoritmo irá realizar

Fala galera da programação, tudo beleza? Vamos a um novo exercício para aprimorarmos nossas habilidades. Aqui existem dados importantes para podermos realizar a tarefa.   Dados do exercício Tabela de códigos: código = 1: multiplicar os três valores código = 2: somar os três valores código = 3: subtrair os três valores código = 4: […]

7 de março de 2024
Crie um algoritmo e um programa que solicite ao usuário informar um valor inteiro que corresponda a idade de um nadador. Após, o programa deverá classificar o nadador nas categorias abaixo e mostrar esta informação na tela do computador.

Fala galera da programação, tudo beleza? Quer aprimorar suas habilidades com estruturas condicionais? Explore este desafio de aprendizado de if-else. O que podemos aprender neste exercício? Neste exercício, aprendemos a: Solicitar entrada do usuário: Aprendemos a solicitar entrada do usuário para obter informações necessárias para o programa, como a idade do nadador. Isso é útil […]

6 de março de 2024
Sair da versão mobile