PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Algoritmos

2 participantes

Ir para baixo

Resolvido Algoritmos

Mensagem por Lucas Garibaldi Qua 15 Mar 2023, 15:24

     Você precisa simular o funcionamento de um caixa eletrônico. O cliente informa um valor desejado em reais e você precisa devolver o número de notas de R$ 100, R$ 50, R$ 20, R$ 10, R$ 5, R$ 2 ou moedas de R$ 1 que ele receberá. Você precisa entregar o maior número possível de notas altas primeiro, antes de entregar notas de valor mais baixo. Descreva os passos necessários para descobrir quantas notas de cada valor devem ser entregues ao cliente. Se o cliente solicitar, por exemplo,197 reais, você deve entregar uma nota de cem reais, uma nota de cinquenta reais, duas notas de vinte reais, uma de cinco reais e uma de dois reais.


Última edição por Lucas Garibaldi em Qua 05 Abr 2023, 01:20, editado 1 vez(es)
Lucas Garibaldi
Lucas Garibaldi
Recebeu o sabre de luz
Recebeu o sabre de luz

Mensagens : 132
Data de inscrição : 27/06/2021

Ir para o topo Ir para baixo

Resolvido Re: Algoritmos

Mensagem por gilsongb Qui 30 Mar 2023, 00:34

Para descobrir quantas notas de cada valor devem ser entregues ao cliente, é necessário seguir os seguintes passos:
Receber o valor desejado pelo cliente em reais.
Verificar qual a maior nota que é possível entregar, dividindo o valor por 100. O resultado dessa divisão será a quantidade de notas de R$ 100 a serem entregues, e o resto da divisão será o novo valor a ser considerado.
Repetir o passo anterior para as demais notas, seguindo a ordem decrescente de valor: R$ 50, R$ 20, R$ 10, R$ 5, R$ 2 e R$ 1.
Se o valor restante for diferente de zero ao final das divisões, significa que é necessário entregar moedas de R$ 1. A quantidade de moedas de R$ 1 será igual ao valor restante.
Entregar as notas/moedas de cada valor calculadas nos passos anteriores.
Para ilustrar esse processo, vamos considerar o exemplo dado na pergunta, em que o cliente solicita 197 reais:
O valor desejado pelo cliente é 197 reais.
A maior nota possível de entregar é R$ 100. Dividindo 197 por 100, temos como resultado 1, com resto de 97. Logo, é necessário entregar uma nota de R$ 100.
A próxima maior nota possível de entregar é R$ 50. Dividindo 97 por 50, temos como resultado 1, com resto de 47. Logo, é necessário entregar uma nota de R$ 50.
Repetindo o processo para as demais notas, temos: 2 notas de R$ 20, uma nota de R$ 5 e uma nota de R$ 2.
Como sobrou um valor de R$ 0, restante, não é necessário entregar moedas de R$ 1.
O total de notas/moedas entregues será: 1 nota de R$ 100, 1 nota de R$ 50, 2 notas de R$ 20, 1 nota de R$ 5 e 1 nota de R$ 2.

Segue abaixo um algoritmo em Python que implementa a lógica descrita no passo a passo anterior:

Código:
# Definindo as notas disponíveis
notas = [100, 50, 20, 10, 5, 2, 1]

# Recebendo o valor desejado pelo cliente
valor = int(input("Digite o valor desejado: "))

# Inicializando a contagem das notas
notas_contadas = [0] * len(notas)

# Verificando quantas notas de cada valor são necessárias
for i in range(len(notas)):
    notas_contadas[i] = valor // notas[i]
    valor = valor % notas[i]

# Imprimindo a quantidade de cada nota a ser entregue
for i in range(len(notas)):
    if notas_contadas[i] > 0:
        print(f"{notas_contadas[i]} notas de R${notas[i]}")



Este algoritmo recebe do usuário o valor desejado e, em seguida, percorre a lista de notas disponíveis em ordem decrescente. Para cada nota, é verificado quantas notas daquele valor são necessárias para atingir o valor desejado, subtraindo o valor das notas contadas do valor total a ser entregue. Ao final, o algoritmo imprime a quantidade de cada nota a ser entregue ao cliente.
gilsongb
gilsongb
Padawan
Padawan

Mensagens : 89
Data de inscrição : 09/11/2012
Idade : 31
Localização : Curitiba

Ir para o topo Ir para baixo

Resolvido Re: Algoritmos

Mensagem por Lucas Garibaldi Qua 05 Abr 2023, 01:20

Olá, você me ajudou muito com sua explicação.
Lucas Garibaldi
Lucas Garibaldi
Recebeu o sabre de luz
Recebeu o sabre de luz

Mensagens : 132
Data de inscrição : 27/06/2021

Ir para o topo Ir para baixo

Resolvido Re: Algoritmos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos