Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


lógica e programação de algoritmos em python, Trabalhos de Programação para Engenheiros

lógica e programação de algoritmos em python

Tipologia: Trabalhos

2024

Compartilhado em 19/07/2024

fabio-morato-2
fabio-morato-2 🇧🇷

1 documento

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
QUESTÃO 1 de 4 - 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 maior conforme o valor da compra, conforme a listagem abaixo:
Se valor for menor que 2500 o desconto será de 0%;
Se valor for igual ou maior que 2500 e menor que 6000 o desconto será de 4%;
Se valor for igual ou maior que 6000 e menor que 10000 o desconto será de 7%;
Se valor for igual ou maior que 10000 o desconto será de 11%;
Elabore um programa em Python que:
A. Deve-se implementar o print com uma mensagem de boas-vindas que apareça o seu nome [EXIGÊNCIA DE CÓDIGO 1 de 6];
B. Deve-se implementar o input do valor unitário e da quantidade do produto [EXIGÊNCIA DE CÓDIGO 2 de 6];
C. Deve-se implementar o desconto conforme a enunciado acima (obs.: atente-se as condições de menor, igual e maior) [EXIGÊNCIA DE CÓDIGO 3 de 6];
D. Deve-se implementar o valor total sem desconto e o valor total com desconto [EXIGÊNCIA DE CÓDIGO 4 de 6];
E. Deve-se implementar as estruturas if, elif e else (todas elas) [EXIGÊNCIA DE CÓDIGO 5 de 6];
F. Deve-se inserir comentários relevantes no código [EXIGÊNCIA DE CÓDIGO 6 de 6];
G. Deve-se apresentar na saída de console uma mensagem de boas-vindas com seu nome [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 2];
H. Deve-se apresentar na saída de console um pedido recebendo desconto (valor total sem desconto maior ou igual a 2500) [EXIGÊNCIA DE SAÍDA DE CONSOLE 2
de 2];
EXEMPLO DE SAÍDA DE CONSOLE:
Figura 1: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o valor do produto (pode ser qualquer valor) a quantidade (pode ser qualquer valor) o
resultado da multiplicação produto pela quantidade deve ser maior que 2500 para que haja desconto.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe lógica e programação de algoritmos em python e outras Trabalhos em PDF para Programação para Engenheiros, somente na Docsity!

QUESTÃO 1 de 4 - 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 maior conforme o valor da compra, conforme a listagem abaixo :

● Se valor for menor que 2500 o desconto será de 0%;

● Se valor for igual ou maior que 2500 e menor que 6000 o desconto será de 4%;

● Se valor for igual ou maior que 6000 e menor que 10000 o desconto será de 7%;

● Se valor for igual ou maior que 10000 o desconto será de 11%;

Elabore um programa em Python que:

A. Deve-se implementar o print com uma mensagem de boas-vindas que apareça o seu nome [EXIGÊNCIA DE CÓDIGO 1 de 6];

B. Deve-se implementar o input do valor unitário e da quantidade do produto [EXIGÊNCIA DE CÓDIGO 2 de 6];

C. Deve-se implementar o desconto conforme a enunciado acima (obs.: atente-se as condições de menor, igual e maior) [EXIGÊNCIA DE CÓDIGO 3 de 6];

D. Deve-se implementar o valor total sem desconto e o valor total com desconto [EXIGÊNCIA DE CÓDIGO 4 de 6];

E. Deve-se implementar as estruturas if, elif e else (todas elas) [EXIGÊNCIA DE CÓDIGO 5 de 6];

F. Deve-se inserir comentários relevantes no código [EXIGÊNCIA DE CÓDIGO 6 de 6];

G. Deve-se apresentar na saída de console uma mensagem de boas-vindas com seu nome [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 2];

H. Deve-se apresentar na saída de console um pedido recebendo desconto ( valor total sem desconto maior ou igual a 2500) [EXIGÊNCIA DE SAÍDA DE CONSOLE 2

de 2];

EXEMPLO DE SAÍDA DE CONSOLE:

Figura 1: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o valor do produto (pode ser qualquer valor) a quantidade (pode ser qualquer valor) o

resultado da multiplicação produto pela quantidade deve ser maior que 2500 para que haja desconto.

Apresentação de Código da Questão 1 :

SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 1.

NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO!!

O CÓDIGO DEVE ESTAR IDENTADO!!

SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO (NADA DE IMAGEM NEM PRINT, ZERA A QUESTÃO!).

QUESTÃO 1 de 4 - Conteúdo até Aula 03

print('Bem-vindo a Loja do Fabio') valor = float(input('Digite o valor do produto: ')) #float para poder colocar números reais qdte = float(input('Digite a quantidade do produto: ')) total = valor * qdte print(f'Valor total SEM desconto = R${total:.2f}') # para que o valor tenha decimal com 2 números após a vírgula/ponto. livro. if total < 2500: # criar uma condição para poder executar desconto = 0 elif total < 6000: # senão, se... desconto = 0. elif total < 10000: # senão, se... desconto = 0. else: # e para finalizar adicionar o else que será a condição caso não seja nenhuma das condições anteriores desconto = 0. valorcomdesconto = total - (total * desconto) print(f'Valor COM desconto = R${valorcomdesconto:.2f}')

Apresentação de Saída do Console da Questão 1 :

SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 1

NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS

SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM (NADA DE TEXTO AQUI! ZERA ESSA PARTE DA QUESTÃO!)

QUESTÃO 2 de 4 - Conteúdo até aula 04

Enunciado: Você e sua equipe de programadores foram contratados para desenvolver um app de vendas para uma loja que vende Açaí e Cupuaçu. Você ficou com a

parte de desenvolver a interface do cliente para retirada do produto.

A Loja possui seguinte relação:

● Tamanho P de Cupuaçu ( CP ) custa 9 reais e o Açaí ( AC ) custa 11 reais;

● Tamanho M de Cupuaçu ( CP ) custa 14 reais e o Açaí ( AC ) custa 16 reais;

● Tamanho G de Cupuaçu ( CP ) custa 18 reais e o Açaí ( AC ) custa 20 reais;

Elabore um programa em Python que:

A. Deve-se implementar o print com uma mensagem de boas-vindas que apareça o seu nome [EXIGÊNCIA DE CÓDIGO 1 de 8];

B. Deve-se implementar o input do sabor (CP/AC) e o print “Sabor inválido. Tente novamente" se o usuário entra com valor diferente de CP e AC [EXIGÊNCIA DE

CÓDIGO 2 de 8];

C. Deve-se implementar o input do tamanho (P/M/G) e o print “Tamanho inválido. Tente novamente" se o usuário com entra valor diferente de P, M ou G [EXIGÊNCIA

DE CÓDIGO 3 de 8];

D. Deve-se implementar if, elif e/ou else com cada uma das combinações de sabor e tamanho [EXIGÊNCIA DE CÓDIGO 4 de 8];

E. Deve-se implementar um acumulador para somar os valores dos pedidos [EXIGÊNCIA DE CÓDIGO 5 de 8];

F. Deve-se implementar o input com a pergunta: “Deseja pedir mais alguma coisa?”. Se sim repetir a partir do item B , senão encerrar o programa executar o print

do acumulador [EXIGÊNCIA DE CÓDIGO 6 de 8];

G. Deve-se implementar as estruturas de while, break, continue (todas elas) [EXIGÊNCIA DE CÓDIGO 7 de 8];

H. Deve-se inserir comentários relevantes no código [EXIGÊNCIA DE CÓDIGO 8 de 8];

I. Deve-se apresentar na saída de console uma mensagem de boas-vindas com o seu nome [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 4];

J. Deve-se apresentar na saída de console um pedido em que o usuário errou o sabor [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 4];

K. Deve-se apresentar na saída de console um pedido em que o usuário errou o tamanho [EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 4];

L. Deve-se apresentar na saída de console um pedido com duas opções sabores diferentes e com tamanhos diferentes [EXIGÊNCIA DE SAÍDA DE CONSOLE 4 de 4];

EXEMPLO DE SAÍDA DE CONSOLE:

Figura 2: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o sabor ao tamanho. Há uma tentativa de pedido que se erro o sabor e outra que se

errou o tamanho. Há também dois pedidos com sabores e tamanhos.

QUESTÃO 3 de 4 - Conteúdo até aula 05

Enunciado: Você foi contratado para desenvolver um sistema de cobrança de serviços de uma copiadora. Você ficou com a parte de desenvolver a interface com o

funcionário.

A copiadora opera da seguinte maneira:

● Serviço de Digitalização (DIG) o custo por página é de um real e dez centavos;

● Serviço de Impressão Colorida (ICO) o custo por página é de um real;

● Serviço de Impressão Preto e Branco (IPB) o custo por página é de quarenta centavos;

● Serviço de Fotocópia (FOT) o custo por página é de vinte centavos;

● Se número de páginas for menor que 20 retornar o número de página sem desconto;

● Se número de páginas for igual ou maior que 20 e menor que 200 retornar o número de páginas com o desconto é de 15%;

● Se número de páginas for igual ou maior que 200 e menor que 2000 retornar o número de páginas com o desconto é de 20%;

● Se número de páginas for igual ou maior que 2000 e menor que 20000 retornar o número de páginas com o desconto é de 25%;

● Se número de páginas for maior ou igual à 20000 não é aceito pedidos nessa quantidade de páginas;

♦ Para o adicional de encadernação simples (1) é cobrado um valor extra de 15 reais;

♦ Para o adicional de encadernação de capa dura (2) é cobrado um valor extra de 40 reais;

♦ Para o adicional de não querer mais nada (0) é cobrado um valor extra de 0 reais;

O valor final da conta é calculado da seguinte maneira:

total = ( servico * num_pagina) + extra

Elabore um programa em Python que:

A. Deve-se implementar o print com uma mensagem de boas-vindas que apareça o seu nome [EXIGÊNCIA DE CÓDIGO 1 de 7]; B. Deve-se implementar a função escolha_servico() em que : [EXIGÊNCIA DE CÓDIGO 2 de 7]; a. Pergunta o servico desejado; b. Retorna o valor servico com base na escolha do usuário; c. Repete a pergunta do item B.a se digitar uma opção diferente de: dig/ico/ipb/fot; C. Deve-se implementar a função num_pagina() em que : [EXIGÊNCIA DE CÓDIGO 3 de 7]; a. Pergunta o número de páginas ; b. Retorna o número de páginas com desconto seguindo a regra do enunciado (desconto calculado em cima do número de páginas); c. Repete a pergunta do item C.a se digitar um valor acima de 20000 ou valor não numérico (use try/except para não numérico) D. Deve-se implementar a função servico_extra() em que : [EXIGÊNCIA DE CÓDIGO 4 de 7]; a. Pergunta pelo serviço adicional ; b. Retornar o valor de apenas uma das opções de adicional c. Repetir a pergunta item D.a se digitar uma opção diferente de: 1/2/0; E. Deve-se implementar o total a pagar no código principal ( main ), ou seja, não pode estar dentro de função, conforme o enunciado [EXIGÊNCIA DE CÓDIGO 5 de 7]; F. Deve-se implementar try/except [EXIGÊNCIA DE CÓDIGO 6 de 7]; G. Deve-se inserir comentários relevantes no código [EXIGÊNCIA DE CÓDIGO 7 de 7]; H. Deve-se apresentar na saída de console uma mensagem de boas-vindas com o seu nome [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 4]; I. Deve-se apresentar na saída de console um pedido no qual o usuário errou a opção de serviço [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 4]; J. Deve-se apresentar na saída de console um pedido no qual o usuário digitou ultrapassou no número de páginas [FOBDIGEXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 4]; K. Deve-se apresentar na saída de console um pedido com opção de serviço, número de páginas e serviço extra válidos [EXIGÊNCIA DE SAÍDA DE CONSOLE 4 de 4];

Apresentação de Código da Questão 3:

SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 3.

NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO!!

O CÓDIGO DEVE ESTAR IDENTADO!!

SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO (NADA DE IMAGEM NEM PRINT, ZERA A QUESTÃO!).

# QUESTÃO 3 DE 4 - CONTEÚDO ATÉ AULA 05

print("Bem-vindo à copiadora do Fabio!") def taxa_do_servico(): # colocar uma função para definir a taxa do serviço solicitado while True: servico = input("Qual serviço você deseja? (DIG/ICO/IPB/FOT): ") if servico == 'DIG': return 1. elif servico == 'ICO': return 1. elif servico == 'IPB': return 0. elif servico == 'FOT': return 0. else: print("Não temos esse serviço, tente novamente.") def desconto_páginas(): # uma função para número de páginas/desconto com try e except while True: try: paginas = int(input("Quantas páginas? ")) if paginas < 20: return paginas elif paginas < 200: return paginas * 0. elif paginas < 2000: return paginas * 0. elif paginas < 20000: return paginas * 0. else: print("Caramba, isso é bastante coisa! Coloque um número menor por favor.") except ValueError: print("Isso não parece ser um número válido, tente novamente.") def extra_servico(): # uma função para os serviços extras while True: extra = input("Gostaria de adicionar encadernação? (1- Simples, 2- Capa dura, 0- Não): ") if extra == '1': return 15 elif extra == '2': return 40 elif extra == '0': return 0 else: print("Não entendi, escolha uma das opções válidas.") preco_servico = taxa_do_servico() # Solicita ao usuário para escolher o serviço e armazena o preço. páginas_desconto = desconto_páginas() # Solicita o número de páginas e calcula o desconto. preco_extra = extra_servico() # Pergunta se o usuário deseja um serviço extra e armazena o preço. subtotal_servico = preco_servico * páginas_desconto # Calcula o subtotal do serviço sem o serviço extra. total = subtotal_servico + preco_extra # Calcula o total incluindo o serviço extra.

Mostra a quebra de cálculo para o usuário.

print(f"Preço do serviço por página: R$ {preco_servico:.2f}") print(f"Número de páginas com desconto: {páginas_desconto} páginas") print(f"Custo do serviço sem extra: R$ {subtotal_servico:.2f}") if preco_extra == 15: print("Adicional por encadernação simples: R$ 15.00") elif preco_extra == 40: print("Adicional por encadernação de capa dura: R$ 40.00") elif preco_extra == 0: print("Sem serviço adicional extra.") print(f"Total a pagar: R$ {total:.2f}") # Mostra o total para o usuário.

novamente a identação é muito importante, e para que este código pudesse funcionar, foram feitos inúmeros testes, correções e pesquisas para chegar ao funcionamento.

Apresentação de Saída do Console da Questão 3:

SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 3

NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS

SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM (NADA DE TEXTO AQUI! ZERA ESSA PARTE DA QUESTÃO!)

vi. Enquanto o usuário não escolher a opção 4, o menu consultar livros deve se repetir. E. Deve-se implementar uma função chamada remover_livro() em que : [EXIGÊNCIA DE CÓDIGO 5 de 8]; a. Deve-se pergunta pelo id do livro a ser removido; b. Remover o livro da lista_livro ; c. Se o id fornecido não for de um livro da lista, printar “Id inválido” e repetir a pergunta E.a. F. Deve-se implementar uma estrutura de menu no código principal ( main ), ou seja, não pode estar dentro de função, em que: [EXIGÊNCIA DE CÓDIGO 6 de 8]; a. Deve-se pergunta qual opção deseja (1. Cadastrar Livro / 2. Consultar Livro / 3. Remover Livro / 4. Encerrar Programa): i. Se Cadastrar Livro, acrescentar em um id_ global e chamar a função cadastrar_livro(id_ global) ; ii. Se Consultar Livro, chamar função consultar_livro() ; iii. Se Remover Livro, chamar função remover_livro() ; iv. Se Encerrar Programa, sair do menu (e com isso acabar a execução do código); v. Se Entrar com um valor diferente de 1, 2, 3 ou 4, printar “Opção inválida" e repetir a pergunta F.a. vi. Enquanto o usuário não escolher a opção 4, o menu deve se repetir. G. Deve-se implementar uma lista de dicionários (uma lista contento dicionários dentro) [EXIGÊNCIA DE CÓDIGO 7 de 8]; H. Deve-se inserir comentários relevantes no código [EXIGÊNCIA DE CÓDIGO 8 de 8]; I. Deve-se apresentar na saída de console uma mensagem de boas-vindas com o seu nome [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 6]; J. Deve-se apresentar na saída de console um cadastro de 3 livros (sendo 2 deles no mesmo autor) [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 6]; K. Deve-se apresentar na saída de console uma consulta de todos os livros [EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 6]; L. Deve-se apresentar na saída de console uma consulta por código (id) de um dos livros [EXIGÊNCIA DE SAÍDA DE CONSOLE 4 de 6]; M. Deve-se apresentar na saída de console uma consulta por autor em que 2 livros sejam do mesmo autor [EXIGÊNCIA DE SAÍDA DE CONSOLE 5 de 6]; N. Deve-se apresentar na saída de console uma remoção de um dos livros seguida de uma consulta de todos os livros [EXIGÊNCIA DE SAÍDA DE CONSOLE 6 de 6];

EXEMPLO DE SAÍDA DE CONSOLE:

Figura 4.1: Exemplo de saída de console que o aluno deve fazer. É realizado o cadastro de 1 livro.

Figura 4.2: Exemplo de saída de console que o aluno deve fazer. São cadastrados mais dois livros com mesmo autor.

Figura 4.4: Exemplo de saída de console que o aluno deve fazer. Em que se consulta o livro de id número 2 e se faz uma consulta pelo nome do autor (MANZANO).

Figura 4.5: Exemplo de saída de console que o aluno deve fazer. Em que se remove o livro de Id número 2 e depois se faz uma consulta geral.

if opcao_menu == "1": cadastrar_livro(id_global) elif opcao_menu == "2": consultar_livro() elif opcao_menu == "3": remover_livro() elif opcao_menu == "4": print("Encerrando o programa...") break else: print("Opção inválida")

extremamente complicado e complexo este código, em minha opinião, como iniciante. Foram necessárias inúmeras verificações em material de programação

identação e posicionamento das funcões, após muitos erros, foi possível ir acertando o lugar correto.

foi necessário o uso de exemplos aplicados em aula, para conseguir evoluir.

revisei o id 1 para que ficasse com o Sobrenome do Autor correto, pela diferença de uma letra maiúscula e minúscula, daí foi possível a impressão de 2 autores iguais.

Apresentação de Saída do Console da Questão 4 :

SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 4

NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS

SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM (NADA DE TEXTO AQUI! ZERA ESSA PARTE DA QUESTÃO!)