Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio: Simulador de pedidos em uma cafeteria

No desenvolvimento backend, receber múltiplos itens de uma vez é o padrão de qualquer API de e-commerce ou PDV. Em vez de lidar com variáveis soltas, nós processamos uma "Coleção" (como um List em Java) enviada no payload da requisição.

Para resolver o desafio da cafeteria, utilizamos duas estruturas fundamentais da engenharia de software:

Laço de Repetição (Loop): Para iterar sobre a quantidade exata de itens informada.

Acumulador de Estado: Uma variável inicializada em zero que vai guardando o subtotal a cada ciclo do laço.

Após a totalização, isolamos a aplicação da regra de desconto em uma estrutura condicional simples, garantindo que o cálculo base não seja afetado pela regra de fidelidade.

Algoritmo em Linguagem Natural

INÍCIO

    Inicialização de Estado:

        Inicializar a variável [Total_Pedido] com o valor 0.00.

        Solicitar ao atendente a quantidade de itens do pedido e armazenar na variável [Qtd_Itens].

    Processamento da Coleção (Laço de Repetição):

        PARA CADA iteração de 1 até [Qtd_Itens], FAÇA:

            Solicitar o nome do produto e armazenar em [Nome_Item].

            Solicitar o valor do produto e armazenar em [Preco_Item].

            Adicionar o valor de [Preco_Item] à variável acumuladora [Total_Pedido].

    Validação da Regra de Negócio (Fidelidade):

        Perguntar: "O cliente possui cadastro ativo?" e armazenar a resposta na variável booleana [Cliente_Cadastrado] (Verdadeiro ou Falso).

    Aplicação de Modificadores:

        SE [Cliente_Cadastrado] for Verdadeiro, ENTÃO:

            Calcular o [Valor_Desconto] multiplicando [Total_Pedido] por 0.10 (10%).

            Subtrair o [Valor_Desconto] do [Total_Pedido] (atualizando o estado final).

            Exibir a mensagem: "Desconto de 10% aplicado para cliente cadastrado."

        SENÃO:

            (Nota lógica: Nenhuma alteração de estado é feita, o total permanece o valor cheio).

        Ação Final (Saída):

            Exibir a mensagem final: "Resumo processado. O valor final a ser cobrado é R$ [Total_Pedido]".
FIM

Tratar o total do pedido como um "Estado" que é mutado controladamente durante o laço, e depois passado pela validação de desconto, torna o algoritmo previsível e fácil de debugar.

1 resposta
solução!

Olá, Weriton! Como vai?

Parabéns pela resolução da atividade!

Gostei muito da forma como você trouxe conceitos de engenharia de software para criar o algoritmo, como o uso de coleções para representar os itens do pedido, o laço de repetição para iterar sobre eles e o acumulador de estado para somar os valores.

Uma sugestão para o futuro seria expandir o algoritmo para permitir diferentes tipos de descontos (como cupons promocionais ou combos), tornando-o ainda mais próximo de um sistema real de vendas.

Abraço e bons estudos!

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