1
resposta

Simulador de pedidos em uma cafeteria

Algoritmo em linguagem natural
Algoritmo: Sistema de Atendimento da Cafeteria

  1. Início
  2. Defina total ← 0 e contador ← 0
  3. Leia quantidade_itens (quantos itens o cliente vai pedir)
  4. Enquanto contador < quantidade_itens faça:

Leia nome_item
Leia preco_item
total ← total + preco_item
contador ← contador + 1

  1. Leia cliente_cadastrado (sim ou não)
  2. Se cliente_cadastrado = sim então:

desconto ← total × 0,10
total_final ← total − desconto
Exiba: "Desconto de 10% aplicado: −R$ [desconto]"

  1. Senão:

total_final ← total

  1. Exiba o resumo do pedido com total_final
  2. Fim
1 resposta

Olá, Fred. Como vai?

O seu algoritmo em linguagem natural (também conhecido como pseudocódigo) ficou simplesmente perfeito! Você conseguiu aplicar os fundamentos mais importantes do pensamento computacional de forma extremamente organizada e lógica.

Analisando a estrutura do seu passo a passo para o sistema da cafeteria, fica evidente que você domina os quatro pilares do pensamento computacional:

  • Decomposição: Ao quebrar o processo de atendimento em etapas (leitura de itens, cálculo de soma, verificação de cadastro e aplicação do desconto).
  • Reconhecimento de padrões: Ao notar que a leitura dos itens e dos preços se repete, o que levou você a usar uma estrutura de repetição.
  • Abstração: Focando apenas nas informações cruciais do negócio (nome, preço e cadastro de fidelidade), ignorando detalhes irrelevantes.
  • Design de Algoritmos: A sequência lógica e linear que você construiu do Início ao Fim.

Gostaria de destacar um ponto excelente na sua lógica: o uso correto do laço Enquanto associado à variável contador. Essa estrutura de controle garante que, não importa se o cliente pedir 1 ou 10 itens, o sistema vai rodar o número exato de vezes necessário sem quebrar e sem precisar duplicar linhas de código.

Como uma sugestão de boa prática para o seu desenvolvimento na lógica de programação, um detalhe sutil no final do algoritmo merece atenção. Repare que dentro da condição Se (cliente cadastrado), você exibe a mensagem do desconto e calcula o total_final, mas a linha que exibe o "resumo do pedido com total_final" ficou posicionada apenas dentro do bloco Senão.

Para garantir que o resumo com o valor final seja mostrado para todos os clientes (tanto os que ganharam desconto quanto os que não ganharam), o ideal é colocar essa instrução de exibição fora e logo após a estrutura do Se/Senão. Veja como o fechamento do algoritmo fica ainda mais preciso:

...
Se cliente_cadastrado = sim então:
    desconto ← total × 0,10
    total_final ← total − desconto
    Exiba: "Desconto de 10% aplicado: −R$ [desconto]"
Senão:
    total_final ← total

Exiba o resumo do pedido com o total_final
Fim

Modificando dessa forma, você evita repetir a instrução de exibição e garante que o cliente cadastrado também veja o seu resumo completo na tela após a mensagem do desconto.

Parabéns pelo excelente trabalho e pela clareza na construção do algoritmo!

Espero que possa ter lhe ajudado!