Olá, Ivaney. Como vai?
Parabéns por estruturar o seu algoritmo! Você aplicou conceitos fundamentais do pensamento computacional, como a decomposição do problema de um atendimento em passos lógicos e a utilização de estruturas de decisão para o cálculo de descontos.
Seu código apresenta uma lógica muito sólida para um simulador. Gostaria de destacar alguns pontos e oferecer sugestões para tornar seu algoritmo ainda mais preciso:
- Recursividade e Laços: Ao utilizar a lógica de "retorna Solicitação_de_Pedidos" quando a resposta for "S", você está aplicando um conceito chamado recursão. Em programação, também poderíamos usar um laço de repetição (
enquanto resposta for S) para manter o usuário no ciclo de compras. - Acúmulo de Valores: No seu passo para o total, você utilizou o símbolo de somatório ($\Sigma$), o que é ótimo para representar a soma de todos os subtitais acumulados durante o atendimento.
- Refinamento do Desconto: Na parte final, você definiu o desconto de 10% ($0,1 \times Total_a_Pagar$). Para deixar o algoritmo completo, lembre-se de subtrair esse valor do total final antes de exibi-lo ao cliente.
Exemplo de Refinamento (Linguagem Estruturada)
Veja como poderíamos organizar melhor o fechamento da conta para garantir que o desconto seja aplicado corretamente no valor final:
// Finalização do Pedido
Total_Final = Soma de todos os subtotais
Se o cliente possui cadastro ("S"):
Valor_do_Desconto = Total_Final * 0.1
Total_Final = Total_Final - Valor_do_Desconto
Exibir "Desconto de 10% aplicado!"
Exibir "Total a Pagar R$: ", Total_Final
Essa prática de escrever o algoritmo antes de partir para uma linguagem de programação específica ajuda muito a evitar erros de lógica e a entender o fluxo da aplicação.
Espero que possa ter lhe ajudado!