Aprovei.net← Todos os roteiros

UNINTER Linguagem de Programação e Algoritmos

Linguagem de Programação e Algoritmos

Programa em Python - Sistema de Descontos

Atividade Prática

O roteiro como a instituição entrega

1 de 5 páginas

Página 1 do roteiro

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 maiores por unidade as informações abaixo:

  • Se quantidade for menor que 200 o desconto será de 0%;
  • Se quantidade for igual ou maior que 200 e menor que 1000 o desconto será de 5%;
  • Se quantidade for igual ou maior que 1000 e menor que 2000 o desconto será de 10%;
  • Se quantidade for igual ou maior que 2000 o desconto será de 15%;

Elabore um programa em Python que:

  • Realizar o print uma mensagem de boas-vindas que apareça o seu nome;
  • Deve-se entrar com o valor unitário e quantidade do produto [EXIGÊNCIA DE CÓDIGO 1 de 4];
  • Deve-se retornar o valor total sem desconto e o valor total com desconto [EXIGÊNCIA DE CÓDIGO 2 de 4];
  • Deve-se utilizar as estruturas if, elif e else (todas elas) [EXIGÊNCIA DE CÓDIGO 3 de 4];
  • Deve-se fazer comentários no código [EXIGÊNCIA DE CÓDIGO 4 de 4];
  • Deve-se colocar na apresentação de saída de console um pedido recebendo desconto [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 1];

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 (deve ser maior que 200) e apresenta o valor final sem o desconto e com o desconto.

Código da Questão 1:

#CENTRO UNIVERSITÁRIO UNINTER

# ATIVIDADE PRÁTICA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

# Exercício 1

# A. Mensagem de boas-vindas

nome = "SeuNome"
print(f"Bem-vindo a Loja do , {nome}!")

# B. Entrada do valor unitário e quantidade valor_unitario = float(input("Digite o valor unitário do produto: "))

quantidade = int(input("Digite a quantidade do produto: "))

# C. Cálculo do valor total sem desconto valor_total_sem_desconto = valor_unitario * quantidade

# D. Cálculo do desconto

if quantidade < 200:
desconto = 0

elif quantidade < 1000:

desconto = 0.05

elif quantidade < 2000:

desconto = 0.1
else:
desconto = 0.15

# Cálculo do valor total com desconto valor_total_com_desconto = valor_total_sem_desconto * (1 - desconto)

# E. Comentários no código

# Aqui estamos solicitando ao usuário que insira o valor unitário e a quantidade do produto.

# F. Saída de console com pedido de desconto

print(f"O valor total sem desconto é: R${valor_total_sem_desconto:.2f}")
print(f"Você tem direito a um desconto de {desconto * 100:.2f}%")
print(f"O valor total com desconto é: R${valor_total_com_desconto:.2f}")

Saída do Console da Questão 1:

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 sorveteria. Você ficou com a parte de desenvolver a interface do cliente para retirada do produto.

A Sorveteria possui seguinte relação:

  • 1 bola de sorvete no sabor tradicional (tr) custa 6 reais, no sabor premium (pr) 7 reais e no especial (es) 8 reais;
  • 2 bolas de sorvete no sabor tradicional (tr) custam 11 reais, no sabor premium (pr) 13 reais e no especial (es) 15 reais;
  • 3 bolas de sorvete no sabor tradicional (tr) custam 15 reais, no sabor premium (pr) 18 reais e no especial (es) 21 reais;

Elabore um programa em Python que:

  • Realizar o print uma mensagem de boas-vindas que apareça o seu nome;
  • Deve-se entrar com o sabor (tr/pr/es) e o número de bolas de sorvete desejado (1/2/3) [EXIGÊNCIA DE CÓDIGO 1 de 6];
  • Deve-se executar o print da mensagem de “Quantidade de Bolas de Sorvete Inválida". Se o usuário entrar com a quantidade de bolas de sorvete diferente de 1,2 e 3 repetir a partir do item B [EXIGÊNCIA DE CÓDIGO 2 de 6];
  • Deve-se executar o print da mensagem de “Sabor de Sorvete Inválido" se o usuário entrar com um sabor diferente de tr (tradicional), pr (premium) e es (especial). Printar: e repetir a partir do item B; [EXIGÊNCIA DE CÓDIGO 3 de 6];
  • Deve-se perguntar se o cliente quer pedir mais alguma coisa. Se sim repetir a partir do item B, senão encerrar o programa printando o valor total [EXIGÊNCIA DE CÓDIGO 4 de 6];
  • Deve-se utilizar as estruturas de while, break, continue (todas elas) [EXIGÊNCIA DE CÓDIGO 5 de 6];
  • Deve-se fazer comentários no código [EXIGÊNCIA DE CÓDIGO 6 de 6];
  • Deve-se colocar na apresentação de saída de console um pedido no qual o usuário errou ao digitar o sabor do sorvete [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3];
  • Deve-se colocar na apresentação de saída de console um pedido no qual o usuário errou ao digitar o número de bolas de sorvete [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3];
  • Deve-se colocar na apresentação de saída de console um pedido com duas opções sabores diferentes com quantidade de bolas diferentes [EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3];

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 do sorvete (tradicional, premium ou especial) a nº de bolas de sorvete (1,2 ou 3). Há uma tentativa de pedido que se erro o sabor do sorvete e outra que se errou o nº de bolas de sorvete. Há também um pedido com 2 sorvetes com diferentes quantidades de bola de sorvete e sabores diferentes.

Código da Questão 2:

#CENTRO UNIVERSITÁRIO UNINTER

# ATIVIDADE PRÁTICA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

# Exercício 2

# A. Mensagem de boas-vindas nome = "Dídimo Sousa Lopes"

print(f"Bem-vindo ao app de vendas da Sorveteria, {nome}!")

# Loop principal

while True:

# B. Entrada do sabor e quantidade de bolas sabor = input("Digite o sabor do sorvete (tr - tradicional, pr - premium, es - especial): ")

quantidade_bolas_str = input("Digite o número de bolas de sorvete desejado (1/2/3): ")

# Verificação do sabor do sorvete

if sabor not in ['tr', 'pr', 'es']:
print("Sabor de Sorvete Inválido. Por favor, insira um sabor válido.")

continue

# Verificação do formato da quantidade de bolas

if not quantidade_bolas_str.isdigit():
print("Quantidade de Bolas de Sorvete Inválida. Por favor, insira um número válido.")

continue quantidade_bolas = int(quantidade_bolas_str)

# Verificação da quantidade de bolas de sorvete

if quantidade_bolas not in [1, 2, 3]:
print("Quantidade de Bolas de Sorvete Inválida. Por favor, insira um número válido.")

continue

# Cálculo do preço

if quantidade_bolas == 1:
if sabor == 'tr':
preco = 6
elif sabor == 'pr':
preco = 7
else:
preco = 8
elif quantidade_bolas == 2:
if sabor == 'tr':
preco = 11
elif sabor == 'pr':
preco = 13
else:
preco = 15
else:
if sabor == 'tr':
preco = 15
elif sabor == 'pr':
preco = 18
else:
preco = 21

# E. Pergunta sobre novo pedido adicionar_mais = input("Deseja pedir mais alguma coisa? (s/n): ")

if adicionar_mais.lower() == 'n':

break

# F. Saída com o valor total

print(f"Total a pagar: R${preco:.2f}")

Saída do Console da Questão 2:

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

Enunciado: Você foi contratado para desenvolver um sistema de cobrança de banho para um petshop. Você ficou com a parte de desenvolver a interface com o funcionário.

O petshop opera da seguinte maneira:

  • Para cães com peso menor que 3 kg o valor base é de 40 reais;
  • Para cães com peso igual ou maior que 3 kg e menor que 10 kg o valor base é de 50 reais;
  • Para cães com peso igual ou maior que 10 kg e menor que 30kg o valor base é de 60 reais;
  • Para cães com peso igual ou maior que 30 kg e menor que 50kg o valor base é de 70 reais;
Para cães com pelo curto (c) o multiplicador é 1;
Para cães com pelo médio (m) o multiplicador é 1.5;
Para cães com pelo longo (l) o multiplicador é 2;
  • Para o adicional de cortar unhas (1) do cachorro é cobrado um valor extra de 10 reais;
  • Para o adicional de escovar os dentes (2) do cachorro é cobrado um valor extra de 12 reais;
  • Para o adicional de limpar as orelhas (3) do cachorro é cobrado um valor extra de 15 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 = base * multiplicador + extra

Elabore um programa em Python que:

  • Realizar o print uma mensagem de boas-vindas que apareça o seu nome;
  • Deve-se criar uma função chamada cachorro_peso() em que: [EXIGÊNCIA DE CÓDIGO 1 de 6];
  • Pergunta o peso do cachorro;
  • Retorna o valor base com base no peso;
  • Repete a pergunta do item B.a se peso for igual ou acima 50kg;
  • Repete a pergunta do item B.a se digitar um valor não numérico;
  • Deve-se criar uma função chamada cachorro_pelo() em que: [EXIGÊNCIA DE CÓDIGO 2 de 6];
  • Pergunta o pelo do cachorro;
  • Retorna o multiplicador com base nos itens descritos no enunciado;
  • Repete a pergunta do item C.a se digitar uma opção diferente de: c/m/l;
  • Deve-se criar uma função chamada cachorro_extra() em que: [EXIGÊNCIA DE CÓDIGO 3 de 6];
  • Pergunta pelo serviço adicional;
  • Acumular o valor extra de cada adicional;
  • Repetir a pergunta item D.a enquanto não se digitar opção de: "não querer mais nada (0)";
  • Quando digitar o adicional não querer mais nada (0) retornar o valor extra;
  • Deve-se calcular o total a pagar na parte do main conforme descrito no enunciado [EXIGÊNCIA DE CÓDIGO 4 de 6];
  • Deve-se utilizar try/except [EXIGÊNCIA DE CÓDIGO 5 de 6];
  • Deve-se fazer comentários no código [EXIGÊNCIA DE CÓDIGO 6 de 6];
  • Deve-se colocar na apresentação de saída de console um pedido no qual o usuário digitou um valor não numérico para o peso [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3];
  • Deve-se colocar na apresentação de console um pedido no qual o usuário digitou um valor acima 50 para o peso [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3];
  • Deve-se colocar na apresentação de console um pedido no qual o peso e o tipo de pelo sejam válidos e com mais 2 extras [EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3];

EXEMPLO DE SAÍDA DE CONSOLE:

Figura 3: Exemplo de saída de console que o aluno deve fazer. Em que se perguntar o peso do cachorro o tipo de pelo (c, m ou l). Há um pedido que inicialmente o usuário digitou um valor não numérico (a) e depois um valor acima de 50 (70). Na sequência, o usuário digitou um valor de peso válido, de tipo de peso válido e 2 adicionais.

Código da Questão 3:

#CENTRO UNIVERSITÁRIO UNINTER

# ATIVIDADE PRÁTICA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

# Exercício 3

# A. Mensagem de boas-vindas nome = "Dídimo Sousa Lopes"

print(f"Bem-vindo ao sistema de cobrança do Petshop, {nome}!")

# Função para obter o valor base com base no peso

def cachorro_peso():
while True:

try:

peso = float(input("Digite o peso do cachorro em kg: "))

if peso < 3:
return 40

elif peso < 10:

return 50

elif peso < 30:

return 60

elif peso < 50:

return 70
else:
print("Peso do cachorro acima de 50kg. Por favor, insira um valor válido.")

except ValueError:

print("Valor não numérico para o peso. Por favor, insira um valor válido.")

# Função para obter o multiplicador com base no tipo de pelo

def cachorro_pelo():
while True:

pelo = input("Digite o tipo de pelo do cachorro (c - curto, m - médio, l - longo): ")

if pelo == 'c':
return 1
elif pelo == 'm':
return 1.5
elif pelo == 'l':
return 2
else:
print("Tipo de pelo inválido. Por favor, insira uma opção válida (c/m/l).")

# Função para obter os serviços adicionais

def cachorro_extra():
extra = 0
while True:

adicional = input("Escolha o serviço adicional (1 - cortar unhas, 2 - escovar dentes, 3 - limpar orelhas, 0 - não querer mais nada): ")

if adicional == '1':
extra += 10
elif adicional == '2':
extra += 12
elif adicional == '3':
extra += 15
elif adicional == '0':
return extra
else:
print("Opção de serviço adicional inválida. Por favor, escolha uma opção válida.")

# B. Obter o valor base com base no peso

valor_base = cachorro_peso()

# C. Obter o multiplicador com base no tipo de pelo

multiplicador = cachorro_pelo()

# D. Obter os serviços adicionais valor_extra = cachorro_extra()

# E. Calcular o total a pagar total = valor_base * multiplicador + valor_extra

# F. Saída com o valor total

print(f"Total a pagar: R${total:.2f}")

Saída do Console da Questão 3:

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

Enunciado: Você e sua equipe de programadores foram contratados por pequena empresa para desenvolver o software de gerencialme de pessoas. Este software deve ter o seguinte menu e opções:

  • Cadastrar Colaborador
  • Consultar Colaborador
  • Consultar Todos
  • Consultar por Id;
  • Consultar por Setor;
  • Retornar ao menu;
  • Remover Colaborador
  • Encerrar Programa

Elabore um programa em Python que:

  • Realizar o print uma mensagem de boas-vindas que apareça o seu nome;
  • Deve-se criar uma lista vazia com o nome de lista_colaboradores e a variável id_global com valor inicial igual a 0 [EXIGÊNCIA DE CÓDIGO 1 de 7];
  • Deve-se criar uma função chamada cadastrar_colaborador(id) em que: [EXIGÊNCIA DE CÓDIGO 2 de 7];
  • Pergunta nome, setor, pagamento do colaborador;
  • Armazena o id (este é fornecido via parâmetro da função), nome, setor, salário dentro de um dicionário;
  • Copiar o dicionário dentro para dentro da da lista_colaboradores;
  • Deve-se criar uma função chamada consultar_colaborador() em que: [EXIGÊNCIA DE CÓDIGO 3 de 7];
  • Deve-se pergunta qual opção deseja (1. Consultar Todos / 2. Consultar por Id / 3. Consultar por Setor / 4. Retornar ao menu) e realizar o print “Opção inválida" se entrar com valor diferente de 1, 2, 3 ou 4:
  • Se Consultar Todos, apresentar todos os colaboradores com todos os seus dados cadastrados;
  • Se Consultar por Id, apresentar o colaborador específico com todos os seus dados cadastrados;
  • Se Consultar por Setor, apresentar todos os colaboradores do setor específico com todos os seus dados cadastrados;
  • Se Retornar ao menu, deve-se retornar ao menu principal
  • Deve-se criar uma função chamada remover_colaborador() em que: [EXIGÊNCIA DE CÓDIGO 4 de 7];
  • Deve-se pergunta pelo id do colaborador a ser removido;
  • Remover o colaborador da lista_colaboradores;
  • Deve-se criar uma estrutura de menu no main em que: [EXIGÊNCIA DE CÓDIGO 5 de 7];
  • Deve-se pergunta qual opção deseja (1. Cadastrar Colaborador / 2. Consultar Colaborador / 3. Remover Colaborador / 4. Encerrar Programa) e realizar o print “Opção inválida" se entrar com valor diferente de 1, 2, 3 ou 4 :
  • Se Cadastrar Colaborador, acrescentar em um a variavel id_ global e chamar a função cadastrar_colaborador(id_ global);
  • Se Consultar Colaborador, chamar função consultar_colaborador();
  • Se Remover Colaborador, chamar função remover_colaborador();
  • Se Encerrar Programa, sair do menu (e com isso acabar a execução do código);
  • Deve-se utilizar lista de dicionários (uma lista contento dicionários dentro) [EXIGÊNCIA DE CÓDIGO 6 de 7];
  • Deve-se fazer comentários no código [EXIGÊNCIA DE CÓDIGO 7 de 7];
  • Deve-se colocar na apresentação de saída de console o cadastro de 3 colaboradores (sendo 2 deles no mesmo setor) [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 4];
  • Deve-se colocar na apresentação de saída de console a consulta de todos os colaboradores [EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de ];
  • Deve-se colocar na apresentação de saída de console a consulta por código de um dos colaboradores [EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 4];
  • Deve-se colocar na apresentação de saída de console a consulta por setor em que 2 colaboradores façam parte [EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 4];
  • Deve-se colocar na apresentação de saída de console a remoção de um dos colaboradores e na sequência a consulta de todos os colaboradores [EXIGÊNCIA DE SAÍDA DE CONSOLE 4 de 4];

EXEMPLO DE SAÍDA DE CONSOLE:

Figura 4.1: Exemplo de saída de console que o aluno deve fazer. Em que se cadastra 3 colaboradores, sendo 2 num setorX e outro no setorY.

Figura 4.2: Exemplo de saída de console que o aluno deve fazer. Em que se consulta todos os colaboradores.

Figura 4.3: Exemplo de saída de console que o aluno deve fazer. Em que se consulta o colaborador de id 2.

Figura 4.4: Exemplo de saída de console que o aluno deve fazer. Em que se consulta os colaboradores do setor setorX.

Figura 4.5: Exemplo de saída de console que o aluno deve fazer. Em que se removeu o colaborador de id 2 e na sequência, consultou-se todos os colaboradores.

Código da Questão 4:

#CENTRO UNIVERSITÁRIO UNINTER

# ATIVIDADE PRÁTICA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

# Exercício 4

# A. Mensagem de boas-vindas nome = "Dídimo Sousa Lopes"

print(f"Bem-vindo ao software de gerenciamento de pessoas, {nome}!")

# B. Inicialização das variáveis

lista_colaboradores = []
id_global = 0

# C. Função para cadastrar um novo colaborador

def cadastrar_colaborador(id):
nome = input("Digite o nome do colaborador: ")

setor = input("Digite o setor do colaborador: ")

salario = float(input("Digite o salário do colaborador: "))

colaborador = {

"id": id,

"nome": nome,

"setor": setor,

"salario": salario lista_colaboradores.append(colaborador)

# D. Função para consultar colaboradores

def consultar_colaborador():

opcao = input("Escolha uma opção:\n1. Consultar Todos\n2. Consultar por Id\n3. Consultar por Setor\n4. Retornar ao menu\n")

if opcao == '1':
for colaborador in lista_colaboradores:
print(colaborador)
elif opcao == '2':

id_consulta = int(input("Digite o ID do colaborador a ser consultado: "))

for colaborador in lista_colaboradores:
if colaborador["id"] == id_consulta:
print(colaborador)

break

elif opcao == '3':

setor_consulta = input("Digite o setor a ser consultado: ")

for colaborador in lista_colaboradores:
if colaborador["setor"] == setor_consulta:
print(colaborador)
elif opcao == '4':
return
else:
print("Opção inválida.")

# E. Função para remover um colaborador

def remover_colaborador():

id_remover = int(input("Digite o ID do colaborador a ser removido: "))

for colaborador in lista_colaboradores:
if colaborador["id"] == id_remover:

lista_colaboradores.remove(colaborador)

print("Colaborador removido.")

break

# F. Estrutura de menu no main

while True:

opcao_menu = input("Escolha uma opção:\n1. Cadastrar Colaborador\n2. Consultar Colaborador\n3. Remover Colaborador\n4. Encerrar Programa\n")

if opcao_menu == '1':
id_global += 1
cadastrar_colaborador(id_global)
elif opcao_menu == '2':
consultar_colaborador()
elif opcao_menu == '3':
remover_colaborador()
elif opcao_menu == '4':

break

else:
print("Opção inválida.")

# G. Utilização de lista de dicionários

# H. Comentários no código

# I. Cadastro de colaboradores

cadastrar_colaborador(id_global)
cadastrar_colaborador(id_global)
cadastrar_colaborador(id_global)

# J. Consulta de todos os colaboradores

consultar_colaborador()

# K. Consulta por código de um colaborador

consultar_colaborador()

# L. Consulta por setor

consultar_colaborador()

# M. Remoção e consulta de todos os colaboradores

remover_colaborador()
consultar_colaborador()

Saída do Console da Questão 4:

Sobre este texto

Transcrição do roteiro entregue pela instituição, com a estrutura preservada. Nenhum dado de professor, aluno ou contato aparece aqui — foram removidos antes da publicação. O texto está no ar para que você saiba o que a atividade pede antes de começar; ele não contém resolução.

Pedir orçamento no WhatsApp