Você está na página 1de 11

ANO

2022

ATIVIDADE PRÁTICA:
LÓGICA A
DE PROGRAMAÇÃO E
LGORITMOS
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

QUESTÃO 1 de 4 (25 pontos)

Apresentação do Código
print('Bem vindo à loja de Paulo Cezar Piceli!')
val_prod = float(input('Digite o valor unitário do seu produto: '))
Aluno:
qtd_prod = int(input('Entre com o valor da quantidade: '))
total = float(val_prod*qtd_prod)
Paulo Cezar Piceli
if(qtd_prod <= 4):
res = total
print('O valor total de sua compra sem desconto foi de {}. Com o desconto foi o mesmo pois você
comprou menos de 05 produtos em nossa loja'.format(res))
elif(qtd_prod >= 5 and qtd_prod <= 19):
res = total*0.97
print('Sua compra totalizou {}, mas você recebeu um desconto de 3% sobre o valor total de sua
compra, pagando apenas {}.'.format(total, res))
elif(qtd_prod >= 20 and qtd_prod <= 99):
res = total*0.94
print('Sua compra totalizou {}, mas você recebeu um desconto de 6% sobre o valor total de sua
compra, pagando apenas {}.'.format(total, res))
else:
res = total*0.90
print('Sua compra totalizou {}, mas você recebeu um desconto de 6% sobre o valor total de sua
compra, pagando apenas {}.'.format(total, res))
print('Obrigado por comprar conosco')

Saída do Console

1
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

QUESTÃO 2 de 4 (25 pontos)

Apresentação do Código
def cardapio():
frase1 = 'Bem-vindo a Pizzaria de Paulo Cezar Piceli'
frase2 = 'Cardápio'
frase3 = '| Código | Descrição | Pizza Média | Pizza Grande |'
frase4 = '| 21 | Napolitana | R$20,00 | R$26,00 |'
frase5 = '| 22 | Margherita | R$20,00 | R$26,00 |'
frase6 = '| 23 | Calabresa | R$25,00 | R$32,50 |'
frase7 = '| 24 | Toscana | R$30,00 | R$39,00 |'
frase8 = '| 25 | Portuguesa | R$30,00 | R$39,00 |'

print('+','-' * 56, '+')


print('|-------', frase1, '-------|')
print('+','-' * 56, '+')
print('|','-'*23, frase2, '-'*23,'|')
print('+','-' * 56, '+')
print(frase3)
print(frase4)
print(frase5)
print(frase6)
print(frase7)
print(frase8)
print('+','-' * 56, '+')
print(' ')

cardapio()
sub_total = 1
total = 0 # acumulador: total das compras das pizzas
qdade = 0 # contador: quantidade de pizzas

while True:
tamanho = input('Qual o tamanho de sua pizza? Se média digite M, se grande digite G: ')
if(tamanho == 'G'):
sub_total = 1.3
elif (tamanho == 'M'):
sub_total = 1
else:
print('Tamanho inválido. Digite o tamanho da pizza novamente')
continue

sabor = int(input('Agora digite o código do sabor de sua pizza: '))


if(sabor == 21):
sub_total *= 20.00
elif(sabor == 22):
sub_total *= 20.00
elif(sabor == 23):
sub_total *= 25.00
elif(sabor == 24):
sub_total *= 30.00
elif(sabor == 25):
sub_total *= 30.00
else:

2
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

print('Código do sabor da pizza errado. Tente novamente.')


continue

qdade += 1
total += sub_total
print(total)
resposta = input('Deseja mais uma pizza? Digite S para sim e N para não. ')

if(resposta == 'S'):
continue
elif(resposta == 'N'):
print('Você comprou {} pizzas, totalizando R${}. Obrigado e volte sempre!'.format(qdade,
total))
else:
resposta = input('Não entendi... Deseja mais uma pizza? Digite S para sim e N para não. ')
if(resposta == 'S'):
continue
elif(resposta == 'N'):
print('Você comprou {} pizzas, totalizando R${}. Obrigado e volte sempre!'.format(qdade,
total))
else:
print('Desisto! Você comprou {} pizza(s), totalizando R${}. Obrigado e volte
sempre!'.format(qdade, total))
break

Saída do Console

3
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

QUESTÃO 3 de 4 (25 pontos)

Apresentação do Código
#------------ QUANTIDADE -------------#

def volumeFeijoada(volume):
while True:
try: # dentro do while para funcionar o continue
volume = float(input('Qual a quantidade de feijoada desejada? '))
if(volume < 300):
print('Não são aceitos valores menores que 300 mL.')
elif(300 <= volume <= 5000):
return volume * 0.08
else:
print('Não são aceitos valores maiores que 5000 mL.')
except ValueError:
print('Você digitou um valor não numérico. Tente novamente')
continue

#------------ OPÇÕES ------------#

def opcaoFeijoada():
while True:
opcao = input('Opções:\n'
'Digite B para a básica (feijão + paiol + costelinha)\n'
'Digite P para a premium (feijão + paiol + costelinha + partes do porco)\n'
'Digite S para a suprema (feijão + paiol + costelinha + partes do porco +
charque + calabresa + bacon)\n'
'Qual a sua seleção? ')
if(opcao == 'B'):
return volume * 1.00
elif(opcao == 'P'):
return volume * 1.25
elif(opcao == 'S'):
return volume * 1.50
else:
print('Opção inválida. Digite novamente.')
continue

#-------------- ACOMPANHAMENTOS -------------#

def acompanhamentoFeijoada():
soma = 0 #acumulador
while True:
try:
acompanha = int(input('Escolha os acompanhamentos de sua feijoada:\n'
'- Digite 1 para 200g de arroz por R$5,00\n'
'- Digite 2 para 150g de farofa especial por R$6,00\n'
'- Digite 3 para 100g de couve cozida por R$7,00\n'
'- Digite 4 para uma laranja descascada por R$3,00\n'
'- Digite 0 para não levar nenhum acompanhamento ou finalizar a conta.
'))
if(acompanha == 1):
soma += 5.00

4
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

elif(acompanha == 2):
soma += 6.00
elif(acompanha == 3):
soma += 7.00
elif(acompanha == 4):
soma += 3.00
elif(acompanha == 0):
soma += 0.00
return soma
break
else:
print('Opção inválida. Digite novamente.')
continue
except ValueError:
print('Você digitou um valor não numérico. Tente novamente')
continue

#--------------- PRINCIPAL -----------------#

print('Bem-vindo ao nosso restaurante Paulo Cezar Piceli. O nosso prato do dia é feijoada!')

volume = volumeFeijoada(0)
opcao = opcaoFeijoada()
soma = acompanhamentoFeijoada()

total = opcao + soma #soma aqui se refere aos adicionais/acompanhamentosb\


print('Você comprou R${} de feijoada e R${} de acompanhamentos, totalizando R${}. '.format(opcao,
soma, total))

Saída do Console

5
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

6
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

QUESTÃO 4 de 4 (25 pontos)

Apresentação do Código
#--------- LISTA DE PRODUTOS ---------#

listaProdutos = [] # lista é uma opção melhor pois não é imutável como a tupla. Lista com dicionários.

#------ FUNÇÃOPR cadastrarProduto ------#

def cadastrarProduto(codigo): #nome do parâmetro de ENTRADA codigo diferente do codigo_prod. É necessário um parâmetro entre()
print('Sistema de CADASTRO de produtos da mercearia')
print('O CÓDIGO do produto cadastrado é {}'.format(codigo))
nome_prod = input('Digite o NOME do produto: ')
fabricante_prod = input('Digite o nome do FABRICANTE do produto: ')
dicionario_prod = {'nome_prod': nome_prod,
'codigo': codigo,
'fabricante_prod': fabricante_prod}
listaProdutos.append(dicionario_prod.copy()) # procedimento copiado da aula 04 de resolução de exercícios

#------- FUNÇÃO descadastrarProduto -------#

def descadastrarProduto():
print('Sistema de DESCADASTRAMENTO de produtos da mercearia')
entrada = int(input('Digite o CÓDIGO: '))
for produto in listaProdutos:
if(produto['codigo'] == entrada):
listaProdutos.remove(produto)

#------ FUNÇÃO consultarProduto ------#

def consultarProduto():
while True: # "Se existe menu, existe True"
try:
print('Sistema de CONSULTA de produtos da mercearia')
opcao_consulta = int(input('Digite sua opção:\n'
'1) Consultar TODOS os produtos\n'
'2) Consultar produto pelo CÓDIGO\n'
'3) Consultar produto pelo FABRICANTE\n'
'4) Retornar ao menu anterior\n'
'Você selecionou a opção '))
if opcao_consulta == 1: # usei a estrutura da aula 04 da lista de exercícios (aos 60m da aula)
print('Consulta de TODOS os produtos')
for produto in listaProdutos: # seleciona cada dicionário (produto) da lista.
for key, value in produto.items(): # seleciona cada conjunto chave e valor do dicionário. Ex.: 'nome' : aaaa
print('{} : {}'.format(key, value)) # cada produto é um dicionário
if opcao_consulta == 2: # items = lista com todos os pares
print('Consulta de produtos pelo CÓDIGO')
entrada = int(input('Digite o CÓDIGO: '))
for produto in listaProdutos:
if(produto['codigo'] == entrada): # codigo ao inves de codigo_prod
for key, value in produto.items():
print('{} : {}'.format(key, value))
if opcao_consulta == 3:
print('Consulta de produtos pelo FABRICANTE')
entrada = input('Digite o FABRICANTE: ')
for produto in listaProdutos:
if(produto['fabricante_prod'] == entrada):
for key, value in produto.items():
print('{} : {}'.format(key, value))
if opcao_consulta == 4:
return # volta pro menu principal. Ao invés do BREAK que sairia do loop.
else:
print('Digite uma opção válida')
continue
except ValueError:
print('Você digitou um valor inválido. Tente novamente.')

#--------- MENU PRINCIPAL ---------#

print('Bem vindo ao sistema de controle de estoque da Mercearia do Paulo Cezar Piceli.')


codigo_prod = 0
while True:

7
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

try: # esse try protege de erros de digitação tudo o que estiver dentro dele
opcao_menu = int(input('Digite sua opção:\n'
'1) CADASTRO de produtos \n'
'2) CONSULTA de produtos \n'
'3) DESCADASTRAMENTO de produtos\n'
'4) SAIR \n'
'Você selecionou a opção '))

if opcao_menu == 1:
codigo_prod += 1 # contador; passo de acréscimo de 1 em 1. Vai ser o código 1, código 2, código 3, ...
cadastrarProduto(codigo_prod) # passa o parâmetro de ENTRADA ??? passar pela função
elif opcao_menu == 2:
consultarProduto()
elif opcao_menu == 3:
descadastrarProduto()
elif opcao_menu == 4:
print('Programa encerrado')
break
else:
print('Tente novamente digitando uma opção existente.') # para erros com número que não estão no menu
continue
except ValueError:
print('Você digitou um valor inválido. Tente novamente.') # para erros com carcteres não-número

Saída do Console

8
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

9
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.

10

Você também pode gostar