2
respostas

Desafio: Simulador de pedidos em uma cafeteria

Algoritmo — Sistema de Atendimento da Cafeteria

Entrada

  • Solicitar a quantidade de itens do pedido.
  • Criar uma variável total iniciando com valor 0.
  • Para cada item:
    • Solicitar o nome do produto.
    • Solicitar o preço do produto.
    • Somar o preço ao valor total.

Processamento

  • Perguntar se o cliente é cadastrado (True ou False).
  • Se o cliente for cadastrado:
    • Calcular o desconto de 10%:
      **desconto=total×0,10*
  • Calcular o valor final:
    **totalfinal=total−desconto
  • Caso contrário:
    **total_final=total

Saída

  • Exibir o valor final da compra:
    • Com desconto para clientes cadastrados.
    • Sem desconto para clientes não cadastrados.
2 respostas

Olá, Vanelice! Como vai?

Excelente resolução do desafio! Como você atua no Suporte Técnico, sua habilidade em estruturar processos lógicos de forma sequencial é uma grande vantagem.

O seu algoritmo demonstra um entendimento claro dos três pilares fundamentais da programação: Entrada, Processamento e Saída. Além disso, você utilizou corretamente os conceitos de Acumuladores (a variável total que vai somando os preços) e Estruturas Condicionais (o Se/Caso contrário para o desconto).

Destaques Técnicos do seu Algoritmo

  • Uso de Variável Acumuladora: Iniciar o total com 0 e somar cada item dentro do laço de repetição é a forma padrão de calcular faturas em qualquer sistema de vendas.
  • Lógica de Desconto: Você aplicou a porcentagem de forma correta ($total \times 0.10$). Em termos de otimização de código, poderíamos também calcular o valor final diretamente fazendo $total \times 0.90$, mas a forma como você descreveu é muito mais didática e fácil de conferir.
  • Tratamento Booleano: Ao solicitar se o cliente é cadastrado como True ou False, você já está pensando como um computador, preparando o dado para uma verificação lógica direta.

Dica de Especialista: O Laço de Repetição

No passo 3 ("Para cada item"), você está descrevendo o que chamamos de laço FOR (para). Se você não soubesse a quantidade de itens de antemão, poderia usar um laço WHILE (enquanto), onde o sistema perguntaria "Deseja adicionar mais um item?" após cada entrada.

Desafio Extra

Imagine que a cafeteria decida que o desconto de 10% só vale para compras acima de R$ 50,00 para clientes cadastrados. Como você alteraria a sua linha de "Processamento" para incluir essa nova regra de negócio?

Você está evoluindo muito bem na estruturação do pensamento computacional! Qual parte desse desafio foi mais interessante: montar a soma dos itens ou definir a regra do desconto?

Ola, Evandro.

Bom, a alteração da regra de negócios ficaria na etapa de processamento, adicionando uma condição dupal:

  • Ocliente precisa ser cadastrado.
  • O valor total da compra de3ve ser maior que R$ 50,00.

Alógica ficaria:

  Se cliente_cadastrado = True E total > 50 então 
  desconto = total * 0,10 total_final = total - desconto
  
  Senão
            total_final = total
            
  FimSe
 

ou na matemática:

  desconto = total * o,10
  
  e
  
  total_final = total - desconto
  
  

Achei mais interessante a parte da regra de desconto, porque precisei pensar nas condições para o sistema decidir aplicar ou não o benefício ao cliente.

Espero mais dicas! Obrigado.