Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno: (Juarez Arlindo da Silva Júnior Lambiase) ATIVIDADE PRÁTICA: LÓGICA DE PROGRAMAÇÃO E ALGORITMOS ANO 2023 Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 1 QUESTÃO 1 de 4 (25 pontos) CONTEÚDO ATÉ AULA 03 Enunciado: Imagina-se que você é um dos programadores responsáveis pela construção de app de vendas para uma determinada empresa X que vende em atacado. Uma das estratégias de vendas dessa empresa X é dar desconto maiores por unidade conforme a tabela abaixo: Quantidades Desconto Até 9 0% na unidade Entre 10 e 99 5% na unidade Entre 100 e 999 10% na unidade De 1000 para mais 15% na unidade Elabore um programa em Python que: 1. Entre com o valor unitário do produto (Lembrar que número decimal é feito com ponto e não vírgula); 2. Entre com a quantidade desse produto; 3. O programa deve retornar o valor total sem desconto; 4. O programa deve retornar o valor total após o desconto; 5. Deve-se utilizar estruturas if, elif e else (EXIGÊNCIA 1 de 1); 6. Colocar um exemplo de SAIDA DE CONSOLE de compra de mais de 10 und. (para mostrar que o desconto foi aplicado) Segue o exemplo de SAIDA DE CONSOLE: OBS: Para os números decimais ficarem com somente duas casas depois da vírgula utilize {:.2f). Exemplo: print('O valor sem desconto foi: R$ {:.2f}' .format(sub_total)) Apresentação do Código (FORMATO TEXTO) (print('Bem-vindo a loja do Juarez Lambiase') valor_produto = float(input('Entre com o valor desejado: ')) qtd_produto = int (input('Entre com a quantidade desejada: ')) desc_produto = 0 if qtd_produto <= 9: # Outra maneira if qtd_produto < 10: desc_produto = 0.00 elif 10 <= qtd_produto < 100: # (qtd_produto >= 10) and (qtd_produto > 100): desc_produto = 0.05 # 5% = 0.05 || 100% = 100 Colocar o seu nome Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 2 elif 100 <= qtd_produto < 1000: # (qtd_produto >= 100) and (qtd_produto > 1000): desc_produto = 0.10 # 10% = 0.10 || 100% = 100 else: desc_produto = 0.15 #15% = 0.15 || 100% = 100 total_sem_desc = valor_produto * qtd_produto print('O valor total sem desconto é de: R$ {:.2f} ' .format(total_sem_desc)) #print(f'O valor total sem desconto é de: R$ {total_sem_desc} ') total_com_desc = total_sem_desc - total_sem_desc * desc_produto print('O valor COM desconto é de: R$ {:.2f}' .format(total_com_desc)) print(desc_produto) Saída do Console (FORMATO IMAGEM – PRINT DA TELA) QUESTÃO 2 de 4 (25 pontos) CONTEÚDO ATÉ AULA 04 Enunciado: Você e sua equipe de programadores foram contratados para desenvolver um app de vendas para uma lanchonete. Você ficou com a parte de desenvolver a interface do cliente para retirada do produto. A lanchonete possui seguinte tabela de produtos listados com sua descrição, códigos e valores: Código Descrição Valor(R$) 100 Cachorro-Quente 9,00 101 Cachorro-Quente Duplo 11,00 102 X-Egg 12,00 103 X-Salada 13,00 104 X-Bacon 14,00 105 X-Tudo 17,00 Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 3 200 Refrigerante Lata 5,00 201 Chá Gelado 4,00 Elabore um programa em Python que: 1. Entre com o código do produto desejado; 2. Pergunte se o cliente quer pedir mais alguma coisa (se sim repetir o passo item 2. Caso contrário ir para próximo passo); 3. Encerre a conta do cliente com o valor total; 4. Deve-se utilizar estruturas if, elif e else (EXIGÊNCIA 1 de 3); 5. Se a pessoa digitar um NÚMERO diferente dos da tabela printar na tela: ‘opção inválida’ e voltar para o menu (EXIGÊNCIA 2 de 3); 6. Deve-se utilizar while, break, continue (EXIGÊNCIA 3 de 3); o (DICA: utilizar o continue dentro else que verifica a opção inválida) o (DICA: utilizar o break dentro elif que verifica a opção sair) 7. Colocar um exemplo de SAIDA DE CONSOLE com dois pedidos 8. Colocar um exemplo de SAIDA DE CONSOLE com erro ao digitar no pedido Segue o exemplo de SAIDA DE CONSOLE: Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 4 Figura: Exemplo de programa com 2 itens pedido (Sendo que um deles teve uma tentativa com erro) e no final o valor final é apresentado. Apresentação do Código (FORMATO TEXTO) # Exercicio de 2 de 4 da atividade print ('Bem-vindo a lanchonete do Juarez Lambiase') print ('--------------- CARDÁPIO ---------------') print ('CÓDIGO| DESCRIÇÃO |VALOR R$') print (' 100 | CACHORRO-QUENTE | 9,00 ') print (' 101 | CACHORRO-QUENTE DUPLO | 11,00 ') print (' 102 | X-EGG | 12,00 ') print (' 103 | X-SALADA | 13,00 ') print (' 104 | X-BACON | 14,00 ') print (' 105 | X-TUDO | 17,00 ') print (' 200 | REFRIGERANTE LATA | 5,00 ') print (' 201 | CHÁ GELADO | 4,00 ') print ('----------------------------------------') acumulador = 0 while True: codigo = input('Entre com o código do lanche desejado: ') if codigo != '100' and codigo != '101' and codigo != '102' and codigo != '103' and codigo != '104' and codigo != '105' and codigo != '200' and codigo != '201': print('CÓDIGO INVALIDO!!!') continue if codigo == '100': print('Você escolheu CACHORRO-QUENTE') acumulador = acumulador + 9.00 elif codigo == '101': print('Você escolheu CACHORRO-QUENTE DUPLO') acumulador = acumulador + 11.00 elif codigo == '102': print('Você escolheu X-EGG') acumulador = acumulador + 12.00 elif codigo == '103': print('Você escolheu X-SALADA') acumulador = acumulador + 13.00 elif codigo == '104': Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 5 print('Você escolheu X-BACON') acumulador = acumulador + 14.00 elif codigo == '105': print('Você escolheu X-TUDO') acumulador = acumulador + 17.00 elif codigo == '200': print('Você escolheu REFRIGERANTE LATA') acumulador = acumulador + 5.00 elif codigo == '201': print('Você escolheu CHÁ GELADO') acumulador = acumulador + 4.00 pedir_mais = input('DESEJA PEDIR MAIS ALGUM LANCHE OU BEBIDA? (S/N) ') pedir_mais = pedir_mais.upper() # RESOLVE O PROBLEMA DE MAIUSCULO OU MINUSCULO if pedir_mais == 'S': continue else: print('O VALOR TOTAL - R$:{:.2f}' . format (acumulador)) break Saída do Console (FORMATO IMAGEM – PRINT DA TELA) Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 6 QUESTÃO 3 de 4 (25 pontos) CONTEÚDO ATÉ AULA 05 Enunciado: Imagina-se que você e sua equipe foram contratados por uma empresa de logística que acabou de entrar no ramo. Essa empresa trabalha com encomendas de pequeno e médio porte e opera somente entre 3 cidades. O valor que a empresa cobra por objeto é dado pela seguinte equação: 𝒕𝒐𝒕𝒂𝒍 = 𝒅𝒊𝒎𝒆𝒏𝒔õ𝒆𝒔 ∗ 𝒑𝒆𝒔𝒐 ∗ 𝒓𝒐𝒕𝒂 que você e sua equipe Em que cada uma das variáveis que compõe o preço total é quantizada da seguinte maneira: Quadro 1: Dimensões versus Valor dimensões (cm³) valor (R$) volume < 1000 10 1000 <= volume < 10000 20 10000 <= volume < 30000 30 Quadro 2: Peso versus multiplicador peso(kg) multiplicador peso <= 0.1 1 0.1 <= peso < 1 1.5 1 <= peso < 10 2 Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 7 30000 <= volume < 100000 50 volume >= 100000 Não é aceito 10 <= peso < 30 3 peso => 30 Não é aceito Quadro 3: Rota versus multiplicador rota multiplicador RS - De Rio de Janeiro até São Paulo 1 SR - De São Paulo até Rio de Janeiro 1 BS - De Brasília até São Paulo 1.2 SB - De São Paulo até Brasília1.2 BR - De Brasília até Rio de Janeiro 1.5 RB - Rio de Janeiro até Brasília 1.5 Obs.: Pode-se mudar o nome das cidades e siglas. Utilizando 3 cidades está ótimo Elabore um programa em Python que: 1. Pergunte a altura (em cm), comprimento (em cm) e largura (em cm) do objeto. Se digitar um valor não numérico e/ou as dimensões passarem do limite aceito repetir a pergunta; 2. Pergunte o peso do objeto (em kg). Se digitar um valor não numérico e/ou o peso passar do limite aceito repetir a pergunta; 3. Pergunte a rota do objeto. Se digitar uma opção que não esteja na tabela repetir a pergunta; 4. Encerre o total a ser pago com base na equação desse enunciado; 5. Deve-se codificar uma função dimensoesObjeto (EXIGÊNCIA 1 de 3); o Dentro da função perguntar altura do objeto (em cm); o Dentro da função perguntar o comprimento do objeto (em cm); o Dentro da função perguntar a largura do objeto (em cm) o Calcular o volume (em cm) da caixa p/a objeto (altura*largura*comprimento); 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 pesoObjeto (EXIGÊNCIA 2 de 3); o Dentro da função perguntar peso do objeto (em kg); o Deve-se ter um try/except para o caso de o usuário digitar um valor não numérico; o Deve-se retornar o multiplicador conforme o Quadro 2 7. Deve-se codificar uma função rotaObjeto (EXIGÊNCIA 3 de 3); o Dentro da função perguntar a rota do objeto desejada (Sugestão: utilize as siglas para facilitar os testes); o OBS: PODE MUDAR O NOME DAS CIDADES E SUAS SIGLAS o Deve-se retornar o multiplicador conforme o Quadro 3 8. Colocar um exemplo de SAIDA DE CONSOLE uma encomenda com peso, dimensões e rota válidos 9. Colocar um exemplo de SAIDA DE CONSOLE com o tratamento de erro quando digitado um valor não numérico é digitado no campo peso ou dimensões) Segue o exemplo de SAIDA DE CONSOLE: Colocar o seu nome Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 8 Figura: Exemplo de programa com tratamento de valor e erro de digitação Apresentação do Código (FORMATO TEXTO) # Exercicio 3 de 4 da Atividade Prática #print ('Bem-vindo a Companhia de logistica do Juarez Lambiase') #Início da função dimensoesObjeto def dimensoesObjeto(): print('-------------- Menu 1 de 3 - Dimensões Objeto ---------- ---- ') while True: try: altura = float(input('Digite a altura do Objeto: ')) comprimento = float(input('Digite o comprimento do Objeto: ')) largura = float(input('Digite a lagura do Objeto: ')) Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 9 volume = altura * comprimento * largura if volume < 1000.00: return 10 elif 1000.00 <= volume < 10000.00: return 20 elif 10000.00 <= volume < 30000.00: return 30 elif 30000.00 <= volume < 100000.00: return 50 if volume >= 100000.00: print('Não é aceito acima de 100000') else: break except: print('VALOR INVALIDO!!!') #Fim da função dimensoesObjeto #Início da função pesoObjeto def pesoObjeto(): print('-------------- Menu 2 de 3 - Peso Objeto --------------- ---- ') while True: try: peso = float(input('Qual o peso do Objeto em Kg: ')) if peso <= 0.1: return 1 elif 0.1 <= peso < 1.00: return 1.5 elif 1.00 <= peso < 10.00: return 2 elif 10.00 <= peso < 30.00: return 3 if peso >30.00: print('Não é aceito') else: break Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 10 except: print('PESO INVALIDO!!!') #Fim da função pesoObjeto #Início da função rotaObjeto def rotaObjeto(): print('-------------- Menu 3 de 3 - Rota Objeto --------------- ---- ') while True: rotaO = input('Qual opção de rots do objeto \n' + 'RS - De Rio de Janeiro até São Paulo \n' + 'SR - De São Paulo até Rio de Janeiro \n' + 'BS - De Brasília até São Paulo \n' + 'SB - De São Paulo até Brasília \n' + 'BR - De Brasília até Rio de Janeiro \n' + 'RB - Rio de Janeiro até Brasília \n' + '>> ') rotaO = rotaO.upper() if rotaO == 'RS': return 1.00 break elif rotaO == 'SR': return 1.00 break elif rotaO == 'BS': return 1.2 break elif rotaO == 'SB': return 1.2 break elif rotaO == 'BR': return 1.5 break elif rotaO == 'RB': return 1.5 break else: print ('ROTA INVALIDA!!!') #Fim da função rotaObjeto Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 11 # Início do Main print ('Bem-vindo a Companhia de logistica do Juarez Lambiase') x = dimensoesObjeto() y = pesoObjeto() z = rotaObjeto() p = x*y*z print ('Valor total a pagar R$:{:.2f} (Dimensão:{:.2f} x Peso: {:.2f} x Rota:{:.2f})' .format(p, x, y, z)) Saída do Console (FORMATO IMAGEM – PRINT DA TELA) Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 12 QUESTÃO 4 de 4 (25 pontos) CONTEÚDO ATÉ AULA 06 Enunciado: Imagina-se que você está desenvolvendo um software de controle de estoque para uma bicicletaria. Este software deve ter o seguinte menu e opções: 1. Cadastrar Peça 2. Consultar Peça 1) Consultar Todas as Peças 2) Consulta Peças por Código 3) Consulta Peças por Fabricante 4) Retornar 3. Remover Peça 4. Sair Elabore um programa em Python que: 1. Deve-se codificar uma função cadastrarPeca (código) (EXIGÊNCIA 1); o Essa função recebe como parâmetro um código exclusivo para cada peça cadastrado (DICA: utilize um contador como parâmetro) o Dentro da função perguntar o nome da peça; o Dentro da função perguntar o fabricante da peça; o Dentro da função perguntar o valor da peça o Cada peça cadastrada deve ter os seus dados armazenados num DICIONÁRIO (DICA: Conferir material escrito da p. 22 até p24 da AULA 06) 2. Deve-se codificar uma função consultarPeca(EXIGÊNCIA 2); o Dentro da função ter um menu com as seguintes opções: ▪ Consultar Todas as Peças ▪ Consultar Peças por Código ▪ Consultar Peças por Fabricante ▪ Retornar 3. Deve-se codificar uma função chamada removerPeca (EXIGÊNCIA 3); o Dentro da função perguntar qual o código do produto que se deseja remover do cadastro (da lista de dicionário) 4. Colocar um exemplo de SAIDA DO CONSOLE com o cadastro de 3 (ou mais) peças. Sendo que 2 delas do mesmo fabricante – ver figura 1 5. Colocar um exemplo de SAIDA DO CONSOLE com a consulta a todas as peças cadastradas – ver figura 2 6. Colocar um exemplo de SAIDA DO CONSOLE com uma consulta por código – ver figura 3 7. Colocar um exemplo de SAIDA DO CONSOLE com uma consulta por fabricante – ver figura 4 8. Colocar um exemplo de SAIDA DO CONSOLE ao remover um cadastro e mostrando depois todos os cadastros– ver figura 5 Segue os exemplos de SAIDA DE CONSOLE: Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 13 Figura 1: Exemplo de Cadastrar de três peças. Perceba que 2 delas tem o mesmo fabricante. Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 14 Figura 2: Exemplo de Consulta Todas as Peças. Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 15 Figura 3: Exemplo de Consultar por Código. Caderno de Respostasda Atividade Prática de Lógica de Programação e Algoritmos. 16 Figura 4: Exemplo de Consultar Peças por Fabricante Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 17 Figura 5: Exemplo de Remover Peça do cadastro e depois Consultar Todas as Peças. Veja que a peça de código 1 foi removida e não aparece mais no sistema. Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 18 Apresentação do Código (FORMATO TEXTO) # Bem vindo ao Controle de estoque da Bicicletaria do Juarez Lambiase lista_produto = [] codigo_produto = 0 def cadastrar(codigo): print('Bem vindo ao menu cadastrar Produto') nome = input('Entre com o nome do produto:') fabricante = input('Entre com o fabricante: ') preco = float(input('Entre com o preço:')) dic_produto = { 'codigo': codigo, 'nome': nome, 'fabricante': fabricante, 'preco': preco, } lista_produto.append(dic_produto.copy()) def consultar(): print('Bem vindo ao menu consultar Produto') while True: opcao_consulta = input( 'Escolha a opção desejada:\n'+ '1:Todos\n'+ '2:Por Código\n'+ '3:Por Fabricante\n'+ '4:Retornar\n'+ '>>') if opcao_consulta == '1': for produto in lista_produto: print('-----------------') for key,value in produto.items(): print('{}: {}'.format(key,value)) print('-----------------') elif opcao_consulta == '2': codigo_desejado = input('Entre com o codigo: ') for produto in lista_produto: if produto['codigo'] == int(codigo_desejado): print('-----------------') for key,value in produto.items(): Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 19 print('{}: {}'.format(key,value)) print('-----------------') elif opcao_consulta == '3': fab_desejado = input('Entre com o Fabricante: ') for produto in lista_produto: if produto['fabricante'] == fab_desejado: print('-----------------') for key,value in produto.items(): print('{}: {}'.format(key,value)) print('-----------------') elif opcao_consulta == '4': break else: print('Opção inválida!!!') continue def removerPeca(): codigo_desejado = input('Entre com o codigo: ') for produto in lista_produto: if produto['codigo'] == int(codigo_desejado): lista_produto.remove(produto) print('Bem vindo a mercearia do Juarez Lambiase') while True: opcao_principal = input( 'Escolha a opção desejada:\n'+ '1:Cadastrar Produto\n'+ '2:Consultar Produto(S)\n'+ '3:Remover Produto\n'+ '4:Sair\n'+ '>>') if opcao_principal == '1': codigo_produto = codigo_produto + 1 cadastrar(codigo_produto) elif opcao_principal == '2': consultar() elif opcao_principal == '3': removerPeca() elif opcao_principal == '4': break else: print('Opção inválida!!!') Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 20 continue Saída do Console (FORMATO IMAGEM – PRINT DA TELA) Figura 1: Exemplo de Cadastrar de três peças. Perceba que 2 delas tem o mesmo fabricante. Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 21 Figura 2: Exemplo de Consulta Todas as Peças. Figura 3: Exemplo de Consultar por Código. Caderno de Respostas da Atividade Prática de Lógica de Programação e Algoritmos. 22 Figura 4: Exemplo de Consultar Peças por Fabricante Figura 5: Exemplo de Remover Peça do cadastro e depois Consultar Todas as Peças. Veja que a peça de código 1 foi removida e não aparece mais no sistema.
Compartilhar