Você está na página 1de 2

Disciplina de Introdução à Computação - 2023.

2
Tarefa - Funções e Dicionários
Professor Fernando Antonio Mota Trinta

Questão Única ) Considere um programa em Python que implementa um cadastro de


produtos, seguindo o código abaixo:

def cadastrar_produto(estoque):
# implementação do aluno
def remover_produto(estoque):
# implementação do aluno
def existe_produto(codigo_barra, estoque):
# implementação do aluno
def apresentaProduto(produto):
# implementação do aluno
def mediaPrecoPromocao(estoque):
# implementação do aluno
def listarPromocoesCaros(estoque):
# implementação do aluno
def promoverProdutos(lista_codigo, estoque):
# implementação do aluno

estoque = []

Neste programa, a lista estoque serve para armazenar os produtos de uma loja. Cada
produto é composto das seguinte informações: código de barra (inteiro), nome (string),
preço (float) e promoção (boolean, que indica se o produto está ou não em promoção). No
programa, cada produto é representado por um dicionário com seus respectivos campos.
Pede-se a implementação em python das funções e procedimentos descritos abaixo, onde
as primeiras funções/procedimentos devem ser reaproveitados nas questões subsequentes.

1. Crie uma função chamada existeProduto que recebe como parâmetro um valor
inteiro que representa um código de barras de um produto e a lista de produtos no
estoque e retorna True se existir algum produto armazenado na lista estoque que
possua o código de barras igual ao valor passado no argumento da função. Caso
contrário, a função deve retornar o valor False (1,0 ponto);

2. Crie um procedimento chamado cadastrarProduto que recebe como parâmetro


a lista de produtos cadastrados e que deve realizar o cadastro de um produto na
lista estoque. Deve ser solicitado todos os dados do novo produto, porém não
podem ser cadastrados produtos com o mesmo código de barra. Produtos novos
devem ser cadastrados no final da lista estoque (1,0 ponto)
3. Crie um procedimento chamado removerProduto que recebe como parâmetro a
lista de produtos cadastrados e que deve realizar a remoção de um produto na lista
estoque com base em um número de código de barras informado pelo usuário. Se o
código for de um produto que não existe, o sistema deve informar ao usuário que
não existe o produto no estoque e depois solicitar um novo código. (1,0 ponto)

4. Crie um procedimento chamado apresentaProduto, que recebe como parâmetro


um dicionário que representa o produto, e apresenta os dados do produto. O produto
deve ser apresentado no seguinte formato (1,0 ponto):

Se o produto não estiver em promoção: Se o produto estiver em promoção:

Código: <CODIGO_BARRA> Código: <CODIGO_BARRA>


Nome do Produto: <NOME_PRODUTO> Nome do Produto: <NOME_PRODUTO>
Preço: <PRECO> Produto em promoção por <90% preço original>

5. Crie uma função chamada mediaPrecoPromocao que recebe como parâmetro a


lista de produtos cadastrados e retorna um valor float, indicando o valor médio
dos preços de produtos que estejam em promoção (2,0 pontos).

6. Crie um procedimento chamado listarPromocoesCaros que recebe como


parâmetro a lista de produtos cadastrados e que deve apresentar todos os dados de
produtos em promoção que estejam acima da média de preços dos produtos
promocionais em ordem alfabética dos nomes do produtos (2,0 pontos)

7. Crie um procedimento chamado promoverProdutos que como receba como


parâmetros uma lista de códigos de barra e a lista de produtos cadastrados. A
função deve realizar seu processamento de modo que para cada código de barra
existente na primeira lista, o campo de promoção do produto correspondente na lista
de produtos existentes seja modificado para True, indicando que o mesmo passa a
se encontrar em promoção. A função deve ainda retornar uma lista com os códigos
de barra fornecidos na primeira lista, porém que não possuam produto
correspondente na lista de estoque.(2,0 pontos)

Você também pode gostar