1
resposta

[Projeto] Desafio: Simulador de pedidos em uma cafeteria

funcao calculaTotal(quantia){
    constante DESCONTO = 0.1
    contador = 0;
    total = 0;
    enquanto(contador < quantia){
        nome = input("Digite o nome do item");
        valor = input("Digite o valor do item");
        total = valor + total;
        contador++;
    }
    clienteCadastrado = input("Cliente é cadastrado? TRUE/FALSE")
    se(clienteCadastrado){
        retornar total - (total * DESCONTO)
    }
    retornar total

}

quantia = input("Quantos itens o cliente irá comprar?")
total = calculaTotal(quantia)

exibir("Seu total é: " + total)
1 resposta

Olá, Pedro!

Parabéns por concluir o desafio Simulador de pedidos em uma cafeteria.

Sua solução em pseudocódigo demonstra uma ótima compreensão de estruturas de controle. O uso do laço enquanto para acumular o valor dos itens com base na quantidade informada foi uma excelente escolha, assim como a validação final para aplicar o desconto de 10% apenas para clientes cadastrados, o que reflete bem uma regra de negócio do mundo real.

Como ponto de observação técnica e refinamento da lógica, note um detalhe na linha total = valor + total;. Como a variável valor é alimentada diretamente por uma instrução de input(), o computador pode interpretar esse dado inicialmente como um texto (string) em vez de um número decimal. Se isso acontecer, em vez de realizar a soma matemática, o sistema fará uma concatenação (juntando os caracteres, fazendo 10 + 5 virar "105"). Para garantir a precisão matemática, o ideal é converter a entrada explicitamente usando uma instrução de conversão para número decimal (como um float ou real) no momento da captura.

Na sua visão, você acredita que permitir que o usuário digite "fim" para encerrar o pedido traria mais flexibilidade do que obrigá-lo a contar a quantidade exata de itens logo no início do programa?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!