1
resposta

Desafio: Simulador de pedidos em um cafeteria

Para a automatização do atendimento, temos:

total  = 0
quantidadeItens = input("Insira a quantidade de itens que o cliente deseja comprar:")  

para quantidadeItens:   //Loop para soma do valor dos itens
    nomeItem = input("Nome do item:")
    precoItem = input("Preço do item:")

    total = total + precoItem

// Checar se o cliente está cadastrado ou não
cadastroCliente = input("O cliente está cadastrado? Digite 1 para sim e 0 para não: ) 

Se cadastroCliente == 1
desconto = total*0.1
totalFinal = total - desconto

output("Valor sem desconto: ", total)
output("Desconto: ", desconto)
output("Valor final: ", totalFinal)

Se cadastroCliente == 0 
output("Valor final: ", total)
1 resposta

Olá, Thais. Como vai?

Parabéns por enfrentar esse desafio! Você estruturou muito bem a lógica do seu simulador, utilizando conceitos fundamentais do pensamento computacional, como a entrada de dados, o processamento (cálculos e condições) e a saída de informações.

O seu algoritmo segue um fluxo lógico muito claro. Para agregar valor ao seu aprendizado, gostaria de destacar alguns pontos importantes sobre a sintaxe e a lógica que te ajudarão a transformar esse pseudocódigo em um programa funcional:

  • Conversão de Tipos: Em linguagens como Python, o comando input recebe tudo como texto (string). Para realizar cálculos matemáticos, precisamos converter o preço para um número decimal (float) e a quantidade de itens para um número inteiro (int).
  • Estrutura de Repetição: O loop que você iniciou precisa saber quantas vezes deve rodar. Usamos geralmente a estrutura para i de 1 até quantidadeItens.
  • Identação e Condicionais: É importante que as ações que dependem de uma condição (como o cálculo do desconto) estejam visualmente "dentro" do bloco Se.

Aqui está uma sugestão de como o seu código ficaria com essas melhorias aplicadas:

total = 0
quantidade_itens = int(input("Insira a quantidade de itens: "))

# Loop para somar o valor dos itens
for i in range(quantidade_itens):
    nome_item = input(f"Nome do item {i+1}: ")
    preco_item = float(input(f"Preço do {nome_item}: "))
    total = total + preco_item

cadastro_cliente = int(input("Cliente cadastrado? (1 para sim, 0 para não): "))

if cadastro_cliente == 1:
    desconto = total * 0.1
    total_final = total - desconto
    print(f"Valor sem desconto: R$ {total}")
    print(f"Desconto (10%): R$ {desconto}")
    print(f"Valor final: R$ {total_final}")
else:
    print(f"Valor final: R$ {total}")

Dica de Boas Práticas:
Note que no cálculo do desconto usei total * 0.1. Isso é equivalente a 10%, uma forma simples e linear de representar a porcentagem em código. Outro ponto legal é o uso do if/else: se o cliente não cair na condição do "sim" (1), o programa automaticamente executa o "não" (0) através do else, deixando o código mais limpo.

O pensamento lógico por trás da sua solução está excelente. Continue praticando esses fundamentos, pois eles são a base para qualquer linguagem de programação que você escolher aprender!

Espero que possa ter lhe ajudado!