** Lógica do algoritmo**
- Início
- Perguntar quantidade de itens
- Validar (é número? > 0?)
- Criar lista de itens
- Loop para cada item:
- Nome do item
- Preço
- Validar preço (> 0)
- Guardar na lista
- Perguntar se cliente é cadastrado
- Decisão:
- Sim → aplicar desconto
- Não → manter total
- Mostrar resumo + total
- Fim
Pseudocódigo
Início
// ===== VALIDAÇÃO DA QUANTIDADE =====
Repita
Escreva "Quantos itens o cliente vai pedir?"
Leia quantidade
Se quantidade é número E quantidade > 0 então
válido ← verdadeiro
Senão
Escreva "Entrada inválida. Digite um número inteiro maior que 0."
válido ← falso
FimSe
Até válido = verdadeiro
// ===== CRIAR LISTA =====
itens ← lista vazia
// ===== LOOP DOS ITENS =====
Para i de 1 até quantidade faça
Escreva "Nome do item:"
Leia nome
// ===== VALIDAÇÃO DO PREÇO =====
Repita
Escreva "Preço do item:"
Leia preco
Se preco é número E preco > 0 então
válido ← verdadeiro
Senão
Escreva "Preço inválido. Digite um valor positivo."
válido ← falso
FimSe
Até válido = verdadeiro
Adicione (nome, preco) à lista itens
FimPara
// ===== CÁLCULO DO TOTAL =====
total ← 0
Para cada item em itens faça
total ← total + item.preco
FimPara
// ===== CLIENTE CADASTRADO =====
Escreva "Cliente é cadastrado? (sim/não)"
Leia cliente
Se cliente = "sim" então
desconto ← total * 0.10
total ← total - desconto
Senão
desconto ← 0
FimSe
// ===== SAÍDA =====
Escreva "Resumo do pedido:"
Para cada item em itens faça
Escreva item.nome, "-", item.preco
FimPara
Escreva "Desconto:", desconto
Escreva "Total a pagar:", total
Fim
Fluxograma
Eu usei o draw.io.
Exemplo em Python
itens = []
# validar quantidade
while True:
try:
quantidade = int(input("Quantos itens o cliente vai pedir? "))
if quantidade > 0:
break
else:
print("Digite um número maior que 0.")
except:
print("Entrada inválida. Digite um número.")
# cadastro dos itens
for i in range(quantidade):
nome = input(f"Nome do item {i+1}: ")
while True:
try:
preco = float(input(f"Preço do item {i+1}: R$ "))
if preco > 0:
break
else:
print("O preço deve ser positivo.")
except:
print("Entrada inválida. Digite um número.")
itens.append({"nome": nome, "preco": preco})
# cálculo total
total = sum(item["preco"] for item in itens)
# cliente cadastrado
cliente = input("Cliente é cadastrado? (sim/não): ").strip().lower()
if cliente == "sim":
desconto = total * 0.10
total -= desconto
else:
desconto = 0
# saída
print("\n--- Resumo do Pedido ---")
for item in itens:
print(f"{item['nome']} - R$ {item['preco']:.2f}")
print(f"\nSubtotal: R$ {sum(item['preco'] for item in itens):.2f}")
print(f"Desconto: R$ {desconto:.2f}")
print(f"Total: R$ {total:.2f}")