Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Resposta] Desafio: Calculando pedidos

Eu pensei nessa seguinte solução as Entradas (Input) seriam essas:

price_food = decimal[];
qtd_food = inteiro;
name_food = string[];

Então o usuário poderá atribuir o preço ao fast food sabendo que virará uma lista:

fast_food = name_food[] com price_food[];

Assim quando o usuário inserir os valores de hamburguer, batata frita e refri poderá vir em conjunto com os preços.
Então para calcular os valores totais será atribuido a váriavel "qtd_food" que pegará os valores deteminados da lista. Após isso virão também as váriaveis de valores totais:

total_hamburguer = qtd_food(fast_food[0][0]) + qtd_food(fast_food[0][0]);
total_batata = qtd_food(fast_food[1][1]) + qtd_food(fast_food[1][1]);
total_refri = qtd_food(fast_food[2][2]) + qtd_food(fast_food[2][2]);

total_pedidos = total_hamburguer + total_batata + total_refri;

Mas fazendo uma revisão conferi que a minha lógica precisava de alguns reajustes para funcionar, pois o usuário não digita. A única coisa que o cliente informa são as quantidades:
1º Tinha que transformar as váriaveis de entrada em vetores, pois os valores viriam prontos e pré-fixados

price_food = decimal[3];
qtd_food = inteiro[3];
name_food = string[3];

2º Então o sistema atribuiria os preços e nomes pré-carregados

name_food[0] = "Hambúrguer";
price_food[0] = 12.00;

name_food[1] = "Batata Frita";
price_food[1] = 7.00;

name_food[2] = "Refrigerante";
price_food[2] = 5.00;

3º A varíavel "qtd_food" seria atribuida as quantidades correspondente a cada produto

qtd_food[0] = ler("Digite a quantidade de " + name_food[0]);
qtd_food[1] = ler("Digite a quantidade de " + name_food[1]);
qtd_food[2] = ler("Digite a quantidade de " + name_food[2]);

4º Ao ínvés de somar, seria multiplicado as quantidades solicitadas pelo preço unitário:

total_hamburguer = qtd_food[0] * price_food[0]
total_batata = qtd_food[1] * price_food[1]
total_refri = qtd_food[2] * price_food[2]

total_pedidos = total_hamburguer + total_batata + total_refri

Assim, o algoritmo consegue calcular o pedido de forma simples, usando variáveis para guardar os preços, as quantidades e o total final.

exibir("Total a pagar: R$ " + total_pedidos)

Tentei usar essa lógica pois quando usasse o cálculo do total ele poderia ser automatizado sem precisar criar variáveis manuais para cada item, com neste exemplo:

total_pedidos = 0.0

para i de 0 até 2 faça:
    total_pedidos = total_pedidos + (qtd_food[i] * price_food[i])
fim_para

exibir("Total a pagar: R$ " + total_pedidos)
1 resposta

Olá, Isaque! Como vai?

Parabéns pela realização das atividades!

Vi que você apresentou uma solução bem elaborada, explorando o uso de vetores para organizar preços e nomes, aplicando estruturas de repetição para automatizar o cálculo dos pedidos e garantindo uma saída final clara com o valor total. Esse cuidado mostra atenção à lógica, preocupação em simplificar o fluxo e valorização da eficiência no algoritmo.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Formatação de saída: exibir o valor total com duas casas decimais para maior precisão.
  • Entrada dinâmica: permitir que o sistema aceite novos itens além dos pré-fixados, tornando o algoritmo mais flexível.
  • Generalização: criar funções que possam calcular automaticamente qualquer lista de produtos sem precisar ajustar manualmente o código.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você considera mais interessante nesse tipo de exercício, praticar a lógica com vetores e laços ou expandir o algoritmo para incluir relatórios detalhados dos pedidos?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!