Enunciado: Imagina-se que você e sua equipe foram contratados por um restaurante que serve feijoada para desenvolver a solução de software. Você ficou encarregado da parte de retirar pedido por parte do cliente.
O valor que a empresa cobra por feijoada é dado pela seguinte equação:
total=(volume*opção)+adional(is)
Em que cada uma das variáveis que compõe o preço total é quantizada da seguinte maneira
*IMAGEM*
Elabore um programa em Python que:
1. Pergunte o volume (em ml).Se digitar um valor não numérico e/ou volume for menor/maior que o limite aceito repetir a pergunta;
2. Pergunte a opção da feijoada. Se digitar uma opção não válida deve repetir a pergunta
3. Pergunte o acompanhamento. Deve-se perguntar se o usuário quer mais um acompanhamento até digitar a opção 0
4. Encerre o total a ser pago com base na equação desse enunciado;
5. Deve-se codificar uma função volumeFeijoada (EXIGÊNCIA 1 de 3);
o Deve-se perguntar dentro da função o volume da porção (em ml);
o Deve-se ter um if/else ou if/elif ou if/else/elif para verificar se o usuário não digitou um volume fora da faixa com que o restaurante trabalha;
o Deve-se ter try/except para o caso do usuário digitar um valor não numérico;
o Deve-se retornar o valor em (RS) conforme a Quadro 1
6. Deve-se codificar uma função opcaoFeijoada (EXIGÊNCIA 2 de 3);
o Deve-se perguntar dentro da função a opção desejada;
o Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
o Deve-se retornar o multiplicador conforme o Quadro 2
7. Deve-se codificar uma função acompanhamentoFeijoada (EXIGÊNCIA 3 de 3);
o Deve-se perguntar dentro se deseja ou não mais algum acompanhamento
o Deve-se ter um if/elif/else para verificar as opções possíveis ou não;
o Deve-se retornar o multiplicador conforme o Quadro 3
8. Colocar um exemplo de SAIDA DE CONSOLE um pedido com volume, opção e 2 acompanhamentos válidos
9. Colocar um exemplo de SAIDA DE CONSOLE com o tratamento de erro quando digitado um valor não numérico é digitado e uma opção não permitida no menu opção de feijoada
Soluções para a tarefa
Resposta:
funcao volumeFeijoada()
enquanto verdadeiro
tente
volume <- leia_real("Informe o volume da porção de feijoada (em ml): ")
se volume < 500 ou volume > 2000 então
escreva("O volume deve estar entre 500 e 2000 ml.")
continue
fim_se
interrompa
exceto
escreva("O volume deve ser um número.")
fim_enquanto
se volume <= 1000 então
retorne 30
senao, se volume <= 1500 então
retorne 40
senao
retorne 50
fim_se
fim_funcao
funcao opcaoFeijoada()
enquanto verdadeiro
opcao <- leia_texto("Informe a opção desejada (1-tradicional, 2-light, 3-vegetariana): ")
se opcao == "1" então
retorne 1
senao, se opcao == "2" então
retorne 1.2
senao, se opcao == "3" então
retorne 1.5
senao
escreva("Opção inválida.")
fim_enquanto
fim_funcao
funcao acompanhamentoFeijoada()
total <- 0
enquanto verdadeiro
acompanhamento <- leia_texto("Deseja algum acompanhamento? (1-couve, 2-farofa, 3-queijo, 0-não) ")
se acompanhamento == "1" então
total <- total + 5
senao, se acompanhamento == "2" então
total <- total + 3
senao, se acompanhamento == "3" então
total <- total + 2
senao, se acompanhamento == "0" então
interrompa
senao
escreva("Opção inválida.")
fim_enquanto
retorne total
fim_funcao
volume <- volumeFeijoada()
opcao <- opcaoFeijoada()
acompanhamento <- acompanhamentoFeijoada()
total <- volume * opcao + acompanhamento
escreva("O total a ser pago é R$", total, ".")
Exemplo de SAIDA DE CONSOLE:
// Informe o volume da porção de feijoada (em ml): 1200
// Informe a opção desejada (1-tradicional, 2-light, 3-vegetariana): 1
// Deseja algum acompanhamento? (1-couve, 2-farofa, 3-queijo, 0-não) 2
// Deseja algum acompanhamento? (1-couve, 2-farofa, 3-queijo, 0-não) 3
// Deseja algum acompanhamento? (1-couve, 2-farofa, 3-queijo, 0-não) 0
// O total a ser pago é R$55.0.
// Exemplo de tratamento de erro:
// Informe o volume da porção de feijoada (em ml): abc
// O volume deve ser um número.
// Informe o volume da porção de feijoada (em ml): 1500
// Informe a opção desejada (1-tradicional, 2-light, 3-vegetariana): 4
// Opção inválida.
// Informe a opção desejada (1-tradicional, 2-light, 3-vegetariana): 1
// Deseja algum acompanhamento? (1-couve, 2-farofa, 3-queijo, 0-não) 0
// O total a ser pago é R$40.0.