Trabalho Logica e Prog.
Trabalho Logica e Prog.
Trabalho Logica e Prog.
2022
ATIVIDADE PRÁTICA:
LÓGICA DE PROGRAMAÇÃO
E ALGORITMOS
Aluno:
(Francyne Aparecida Leocadio Ramos - RU: 4227747)
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
1
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
desconto = 0
#Este 'else' significa que tudo que for maior que 100, terá 10% de desconto.
else:
desconto = 10
Neste exercício, coloquei alguns comentários de como funciona e o que foi feito com # pelo
código mesmo, mas o programa, é basicamente o cálculo da própria tabela dada no
exercício, usando suas porcentagens para cálculo.)
OBSERVAÇÃO: Na imagem do console, optei por colocar minha área de “saída” disco C, para a identificação de que
eu mesma fiz o arquivo no PyCharm.
2
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
3
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
4
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
#Cardápio (NESTA PARTE, OPTEI POR ALÉM DE DIZER QUE É UMA DESCRIÇÃO, TAMBÉM
AFIRMAR QUE SÃO SABORES, AO CLIENTE)
print('----------------------- Cardápio da pizzaria LA FRAN
---------------------')
print('------------------------------------------------------------------------
---')
total = 0
while True:
tamanho = input('Qual é o tamanho de pizza que deseja pedir (M/G)? ')
#Aqui irei colocar os tamanhos sendo Maiuscula e Minuscula, para melhor acesso
do cliente, caso ele não se atente a M/G.
if (tamanho == 'M'):
precos = [20,20,25,30,30]
elif (tamanho == 'm'):
precos = [20,20,25,30,30]
elif (tamanho =='G'):
precos = [26,26,32.50,39,39]
elif (tamanho =='g'):
precos = [26,26,32.50,39,39]
else:
print('Esta opção é invalida, tente novamente por favor!')
continue
5
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
'))
if (repetir==1):
continue
else: print('| O total a ser pago é: R$ {:.2f}
|'.format(total))
#Assim como no inicio a abordagem de finalização sera elegante.
print('| Muito obrigado(a) pela sua preferência, volte sempre!
|')
break
6
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
7
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
total=(volume∗opção)+ adional(is)
Em que cada uma das variáveis que compõe o preço total é quantizada da seguinte
maneira:
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.
acompanhamentos = {
0: ["Não quero mais acompanhamentos (encerrar pedido)", 0],
1: ["200g de arroz", 5],
2: ["150g de farofa especial", 6],
3: ["100g de couve cozida", 7],
4: ["1 laranja descascada", 3]
}
while True:
try:
volume = float(input("Entre com a quantidade que deseja (ml):
").strip().upper())
return valor
multiplicador = None
while True:
try:
print("\nEntre com a opção de Feijoada:")
for key, values in opcoes.items():
print(f"{key} - {values[0]}")
opcao = input().strip().lower()
10
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
return multiplicador
total_acompanhamento = 0
while True:
try:
print("\nDeseja mais algum acompanhamento:")
for key, values in acompanhamentos.items():
print(f"{key} - {values[0]}")
opcao = int(input())
except ValueError:
print("\nDigite um acompanhamento válido.\n")
return total_acompanhamento
valor = volume()
opcao = opcaoFeijoada()
adicionais = acompanhamentoFeijoada()
print(f"\nO valor total a ser pago pelo seu pedido é de (R$): {total:.2f}
(Volume = {valor:.2f} * opcao = {opcao:.2f} + Acompanhamento =
{adicionais:.2f})")
11
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
12
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
13
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
14
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
15
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
16
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
def mostrar_menu(menu: dict) -> int: # Função que imprime e valida a opção
do menu
print(f"\n{'Menu Principal':-^30s}")
FUN_menu(menu)
while True:
try:
opcao = int(input("Escolha a opção desejada: "))
# Verifica se a opção está presente no dicionário do menu
# Se sim, limpa a tela e retorna a opção selecionada
if opcao in menu.keys():
break
else:
print("\nOpção inválida!\n")
except ValueError:
print("\nOpção inválida.\n")
return opcao
def cadastrarProduto(codigo: int) -> None: # Função que cadastra produtos
17
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
print("\nOpção Cadastrar Produto\n")
print("Código da Produto {:>03}".format(codigo))
nome = input("Digite o nome do produto: ").strip()
fabricante = input("Digite o fabricante do produto: ").strip()
while True:
try:
valor = float(input("Digite o valor (R$) do produto: "))
# Verifica se o valor é maior que zero
if valor <= 0:
print("\nALERTA!!!! Digite um valor maior que zero.\n")
else:
break
except ValueError:
print("\nALERTA!!! Digite um número válido.\n")
produtos[codigo] = []
produtos[codigo].append(nome)
produtos[codigo].append(fabricante)
produtos[codigo].append(valor)
def removerProduto() -> None: # Função que remove produtos
while True:
try:
codigo = int(input("\nEscreva o código do produto a ser removid
o: "))
# Verifica se existe o produto com o código informado
# Se sim, remove o produto do dicionário
if codigo not in produtos.keys():
print("\nNenhum produto possui esse código.\n")
else:
produtos.pop(codigo)
break
except ValueError:
print("\nALERTA!!!! Digite um código válido.\n")
def consultarProduto() -> None: # Função para consulta de produtos
# Variável usada para controlar a exibição do menu de consulta
exibir_menu = True
18
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
cabecalho = f"| {'Código':<10} | {'Nome':<25} | {'Fabricante':<20} | {'
Valor (R$)':>10} |"
len_cabecalho = len(cabecalho)
while True:
try:
# Exibe o menu de consulta
if exibir_menu:
print("\nVocê selecionou a opção Consultar Produtos\n")
print(f"{'Consultar Produtos':-^30s}")
FUN_menu(menu_da_mercearia[2][1])
opcao = int(input("Escolha a opção desejada: "))
# Opção 1 - Consultar Todas os produtos
if opcao == 1:
# Lista todas os produtos cadastrados, se houver
if len(produtos) > 0:
print("\nTodos os produtos cadastrados:\n")
print("-" * len_cabecalho)
print(cabecalho)
print("-" * len_cabecalho)
for key, val in produtos.items():
print(f"| {key:<10} | {val[0]:<25} | {val[1]:<20} |
{val[2]:>10.2f} |")
print("-" * len_cabecalho)
else:
print("\nNão existem produtos cadastradas.")
print("")
# Opção 2 - Consultar produto por Código
elif opcao == 2:
while True:
try:
codigo = int(input("\nDigite o código do produto a
ser consultado: "))
# Exibe o produto com o respectivo código, se houve
r
if codigo in produtos.keys():
19
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
print("-" * len_cabecalho)
print(cabecalho)
print("-" * len_cabecalho)
print(f"| {codigo:<10} | {produtos[codigo]
[0]:<25} | {produtos[codigo][1]:<20} | {produtos[codigo][2]:>10.2f} |")
print("-" * len_cabecalho)
else:
print("\nNão existe produto com esse código.\
n")
print("")
break
except ValueError:
print("\nDigite um código válido.\n")
# Opção 3 - Consultar produto por Fabricante
elif opcao == 3:
while True:
try:
fabricante = input("\nDigite o fabricante da produt
o a ser consultada: ")
# Variável usada para controlar a exibição do cabeç
alho da lista
existe_produto = False
for key, val in produtos.items():
# Imprime os dados do produto do fabricante inf
ormado
if val[1].upper() == fabricante.upper():
if not existe_produto:
print("-" * len_cabecalho)
print(cabecalho)
print("-" * len_cabecalho)
print(f"| {key:<10} | {val[0]:<25} | {val[1
]:<20} | {val[2]:>10.2f} |")
existe_produto = True
if not existe_produto:
print("\nNão existe produto com esse fabricante
.\n")
else:
print("-" * len_cabecalho)
20
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
break
except ValueError:
print("Digite um fabricante válido.")
elif opcao == 4:
break
else:
print("\nAtenção! Você digitou uma opção inválida.\n")
exibir_menu = True
except ValueError:
print("\nAtenção! Você digitou uma opção inválida.\n")
exibir_menu = False
produtos = {}
while True:
opcao_selecionada = mostrar_menu(menu_da_mercearia)
if opcao_selecionada == 1:
cod_produtos = len(produtos) + 1
cadastrarProduto(cod_produtos)
elif opcao_selecionada == 2:
consultarProduto()
elif opcao_selecionada == 3:
removerProduto()
else:
break
21
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
22
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
23
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
24
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
25
Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos.
26