Vamos criar uma função que calcule o valor final de um pedido em uma cafeteria. Essa função receberá como entrada o valor total dos itens e uma variável booleana que indicará se o cliente é cadastrado ou não, retornando o valor final do pedido em reais, com ou sem desconto aplicado.
função calcularTotal(valorTotal, clienteCadastrado):
se clienteCadastrado for verdadeiro, retornar valorTotal com 10% de desconto
caso contrário, retornar valorTotal
// Entrada: o sistema irá solicitar ao atendente a quantidade de itens do pedido
exibir "Quantos itens o cliente deseja pedir?"
quantidadeItens = ler do usuário
// Inicialização do total
valorTotal = 0
// Loop para registrar cada item do pedido
para cada item dentro de quantidadeItens:
exibir "Digite o nome do item:"
nomeItem = ler do usuário
// consultar no sistema o preço do item, a partir do nome recebido
precoItem = ler do sistema
valorTotal = valorTotal + precoItem
// Verificar se o cliente é cadastrado
exibir "O cliente é cadastrado?"
clienteCadastrado = ler do sistema
// Processamento: calcular o valor final com base na função definida
valorFinal = calcularTotal(valorTotal, clienteCadastrado)
// Saída: o sistema mostra o valor total do pedido para o cliente
se clienteCadastrado for verdadeiro:
exibir "O valor total com desconto é de " + valorFinal + " reais."
caso contrário:
exibir "O valor total do pedido é de " + valorFinal + " reais."
Esta solução encapsula a lógica de aplicação de desconto dentro de uma função, enquanto o loop permite registrar múltiplos itens de forma organizada. A utilização de uma variável booleana para identificar clientes cadastrados simplifica a aplicação da regra de desconto, tornando o algoritmo mais claro e fácil de manter ou expandir no futuro