2
respostas

Desafio: Simulador de pedidos em uma cafeteria

Você foi contratado por uma cafeteria que deseja automatizar o atendimento no balcão. O sistema deve permitir que o atendente registre os pedidos de cada cliente, calcule o valor total e aplique um desconto de 10% para clientes cadastrados.

O processo deve funcionar da seguinte forma:

O atendente informa quantos itens o cliente vai pedir.
Para cada item, o sistema solicita o nome e o preço.
Ao final, o sistema pergunta se o cliente é cadastrado.
Se for, aplica o desconto e exibe o valor com desconto.
Caso contrário, exibe o valor cheio.

O desafio consiste em criar um algoritmo que represente essa lógica de forma completa.

DEFINIR AS VARIÁVEIS
cliente = x
item 1 = 10
item 2 =20
item 3 = 30

REGRA
Cliente_cadastrado = true; aplicar desconto
Exibir valor total com desconto
Se não, exibir valor cheio

Sistema exibe a mensagem
*Insira seu nome
*Escolhas seus itens
*Sistema soma o valor total
*Sistema busca na base de dados o nome inserido pelo cliente
*Se o cliente for encontrato o sistema aplica o desconto e exibe o valor
*Se não for encontrado na base o sistema soma o valor total e exibe o valor cheio

2 respostas

Olá, Wellington. Como vai?

Excelente iniciativa em estruturar o desafio da cafeteria! Você conseguiu identificar bem as etapas principais do processo, como a entrada de dados, a lógica de decisão e a saída.

Para que seu algoritmo fique ainda mais próximo de um fluxo de programação real, podemos organizar essas ideias seguindo os pilares do Pensamento Computacional, transformando sua lista em um passo a passo estruturado (o algoritmo propriamente dito).
Aqui está uma sugestão de como estruturar essa lógica de forma clara:

  • Início do Processo

  • Entrada: Perguntar a quantidade de itens.

  • Repetição (Loop): Para cada item informado:

    • Ler o nome do item.
    • Ler o preço do item.
    • Somar o preço ao Valor Total.
  • Decisão (Condicional): Perguntar se o cliente é cadastrado.

    • Se Sim:
      • Calcular o Desconto (Valor Total * 0.10).
      • Subtrair o desconto do Valor Total.
      • Exibir: "Cliente cadastrado! Valor com 10% de desconto: R$ [Valor Total]".
    • Senão:
      • Exibir: "Valor total da compra: R$ [Valor Total]".
  • Fim do Processo

Um ponto importante para o seu aprendizado: note que no seu rascunho você definiu variáveis fixas como item 1, item 2. Na programação, usamos uma variável acumuladora (como uma calculadora que vai somando cada novo valor) para que o sistema funcione com qualquer quantidade de itens que o cliente escolher, seja 1 ou 100!

// Exemplo de como ficaria a lógica da soma e desconto:
valorTotal = valorTotal + precoItem; // Acumulando valores
if (clienteCadastrado == true) {
    valorFinal = valorTotal * 0.90; // Aplicando 10% de desconto
}

Sua base lógica está muito boa, especialmente a ideia de buscar o nome na base de dados para validar o desconto. Continue praticando essa quebra de problemas complexos em passos menores!

Espero que possa ter lhe ajudado!

Muito obrigado!