Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PROJETO INTEGRADO 
 
 
 GABARITO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ARQUITETURA DE DADOS 
 
 
PROJETO INTEGRADO 
 
PROJETO INTEGRADO 
 
 
Prezado aluno, 
Seja bem-vindo a este semestre! 
A proposta de Projeto Integrado é possibilitar a aprendizagem interdisciplinar dos conteúdos 
desenvolvidos nas disciplinas desse semestre. 
 
ORIENTAÇÕES DO PROJETO INTEGRADO 
1. O trabalho será realizado individualmente. 
2. Importante: Você deverá postar o trabalho finalizado no AVA, o que deverá ser feito na pasta 
específica da disciplina Projeto Integrado obedecendo ao prazo limite de postagem, conforme 
disposto no AVA. Não existe prorrogação para a postagem da atividade. 
3. Deve conter, depois de pronto, capa e folha de rosto padrão da Instituição, sendo organizado 
no que tange à sua apresentação visual (tipos e tamanhos de fontes, alinhamento do texto, 
espaçamentos, adentramento de parágrafos, apresentação correta de citações e referências, 
entre outros elementos importantes), conforme modelo disponível no AVA. 
4. A produção textual é um trabalho original e, portanto, não poderá haver trabalhos idênticos 
aos de outros alunos ou com reprodução de materiais extraídos da internet. Os trabalhos 
plagiados serão invalidados, sendo os alunos reprovados na atividade. Lembre-se de que a 
prática do plágio constitui crime, com pena prevista em lei (Lei n.º 9.610), e deve ser evitada 
no âmbito acadêmico. 
5. Importante: O trabalho deve ser enviado em formato Word. Não serão aceitos, sob nenhuma 
hipótese, trabalhos enviados em PDF. 
 
A seguir, apresentamos a você alguns dos critérios avaliativos que nortearão a análise 
do Tutor a Distância para atribuir o conceito à produção textual: 
 
• Normalização correta do trabalho, com atendimento ao número de páginas solicitadas. 
• Apresentação de estrutura condizente com a proposta apresentada (com introdução, 
desenvolvimento e conclusão). 
• Uso de linguagem acadêmica adequada, com clareza e correção, atendendo à norma padrão. 
• Atendimento à proposta, contemplando todos os itens solicitados, com objetividade, 
criatividade, originalidade e autenticidade. 
• Fundamentação teórica do trabalho, com as devidas referências dos autores eventualmente 
citados. 
 
Lembre-se de que seu Tutor a Distância está à disposição para lhe atender em suas 
dúvidas e, também, para repassar orientações sempre que você precisar. Aproveite esta 
oportunidade para realizar um trabalho com a qualidade acadêmica de nível universitário. 
  
http://www.planalto.gov.br/ccivil_03/leis/L9610.htm
PROJETO INTEGRADO 
 
 
 
 
2. Leitura proposta 
Para atingir os objetivos deste projeto integrado, você deverá seguir as instruções voltadas à 
elaboração do trabalho disponibilizadas ao longo do semestre, sob a orientação do Tutor a 
Distância. 
ATIVIDADES 
 
Olá! Você é um programador recém-formado e um usuário assíduo da biblioteca do seu bairro. Sendo 
assim, pensou em uma forma de digitalizar todo o sistema e ajudar a biblioteca a crescer e se 
organizar melhor! Portanto, após muitas conversas com os responsáveis pela biblioteca e todo o 
levantamento de requisitos necessários para iniciar o seu projeto, sua tarefa é: Desenvolver um 
sistema de gerenciamento de biblioteca que permita a catalogação, empréstimo e devolução de 
livros. 
Este sistema deve atender aos seguintes requisitos: 
• Cadastro de Livros: Permitir o cadastro de livros no sistema, incluindo informações como 
título, autor, ano de publicação, e número de cópias disponíveis. 
• Cadastro de Usuários: Possibilitar o cadastro de usuários da biblioteca, incluindo informações 
como nome, número de identificação, e contato. 
• Empréstimo de Livros: Permitir que um usuário solicite o empréstimo de um livro disponível 
na biblioteca. 
o Verificar a disponibilidade do livro antes de confirmar o empréstimo. 
o Atualizar o número de cópias disponíveis após o empréstimo. 
• Devolução de Livros: Permitir que um usuário devolva um livro previamente emprestado. 
o Atualizar o número de cópias disponíveis após a devolução. 
• Consulta de Livros: 
o Implementar uma funcionalidade que permita a consulta de livros por título, autor ou 
ano de publicação. 
• Relatórios: Gerar relatórios que exibam a lista de livros disponíveis, livros emprestados, 
usuários cadastrados, etc. 
 
Instruções: 
PROJETO INTEGRADO 
 
 
• Implementar as funcionalidades utilizando os princípios de programação orientada a objetos 
(POO) (quando aplicável). 
• Utilize Python como linguagem de programação. 
• Garantir tratamento de erros e exceções, como livros não encontrados, tentativas de 
empréstimo de livros indisponíveis etc. 
• Criar uma interface de usuário simples, como um menu de console, para interação com o 
sistema. 
• O código deve estar organizado e comentado. 
• Utilize boas práticas de programação. 
• Considere a modularização do código para facilitar a manutenção e futuras expansões do 
sistema. 
• Teste exaustivamente as funcionalidades do sistema para garantir seu correto 
funcionamento. 
 
GABARITO: 
 
Prezado(a) Tutor(a), 
O código abaixo apresenta uma sugestão de implementação de acordo com os requisitos da 
atividade. Para auxiliá-lo(a), segue um checklist com os componentes que deve observar na 
implementação do código pelo aluno: 
 
• Desenvolveu utilizando Classes. 
• Utilizou funções de “input” e funções “print”, isto é, funções de inclusão de valores e funções que 
exibem o resultado (Métodos de acesso Getters e Setters). 
• Criou um menu no console para escolha das funcionalidades. 
• Utilizou estruturas lógicas, condicionais e de repetição (if, else, for, etc). 
• Implementou as funcionalidades para empréstimo, devolução, consulta e relatório. 
 
Código de exemplo: 
class Livro: 
 def __init__(self, titulo, autor, ano, copias_disponiveis): 
 self.titulo = titulo 
 self.autor = autor 
 self.ano = ano 
PROJETO INTEGRADO 
 
 
 self.copias_disponiveis = copias_disponiveis 
 
class Usuario: 
 def __init__(self, nome, identificacao, contato): 
 self.nome = nome 
 self.identificacao = identificacao 
 self.contato = contato 
 
class Biblioteca: 
 def __init__(self): 
 self.livros = [] 
 self.usuarios = [] 
 
 def cadastrar_livro(self, livro): 
 self.livros.append(livro) 
 
 def cadastrar_usuario(self, usuario): 
 self.usuarios.append(usuario) 
 
 def emprestar_livro(self, livro, usuario): 
 if livro in self.livros and livro.copias_disponiveis > 0: 
 livro.copias_disponiveis -= 1 
 print(f"{livro.titulo} emprestado para {usuario.nome}.") 
 else: 
 print("Livro não disponível para empréstimo.") 
 
 def devolver_livro(self, livro, usuario): 
 if livro in self.livros: 
 livro.copias_disponiveis += 1 
 print(f"{livro.titulo} devolvido por {usuario.nome}.") 
 else: 
 print("Livro não encontrado.") 
PROJETO INTEGRADO 
 
 
 
 def consultar_livros(self, parametro, valor): 
 if parametro == "titulo": 
 return [livro for livro in self.livros if livro.titulo.lower() == valor.lower()] 
 elif parametro == "autor": 
 return [livro for livro in self.livros if livro.autor.lower() == valor.lower()] 
 elif parametro == "ano": 
 return [livro for livro in self.livros if livro.ano == int(valor)] 
 else: 
 return [] 
 
 def gerar_relatorio(self): 
 print("\n--- Relatório ---") 
 print("Livros Disponíveis:") 
 for livro in self.livros: 
 print(f"{livro.titulo} - {livro.copias_disponiveis} cópias disponíveis") 
 
 print("\nLivros Emprestados:") 
 for livro in self.livros: 
 emprestados = livro.copias_disponiveis - livro.copias_disponiveis 
 print(f"{livro.titulo}- {emprestados} cópias emprestadas") 
 
 print("\nUsuários Cadastrados:") 
 for usuario in self.usuarios: 
 print(f"{usuario.nome} - ID: {usuario.identificacao}") 
 
# Função principal para interação com o usuário 
def menu(): 
 biblioteca = Biblioteca() 
 
 while True: 
 print("\n--- Menu ---") 
PROJETO INTEGRADO 
 
 
 print("1. Cadastrar Livro") 
 print("2. Cadastrar Usuário") 
 print("3. Emprestar Livro") 
 print("4. Devolver Livro") 
 print("5. Consultar Livros") 
 print("6. Gerar Relatório") 
 print("0. Sair") 
 
 escolha = input("Escolha uma opção: ") 
 
 if escolha == "1": 
 titulo = input("Título do livro: ") 
 autor = input("Autor do livro: ") 
 ano = int(input("Ano de publicação: ")) 
 copias = int(input("Número de cópias disponíveis: ")) 
 livro = Livro(titulo, autor, ano, copias) 
 biblioteca.cadastrar_livro(livro) 
 
 elif escolha == "2": 
 nome = input("Nome do usuário: ") 
 identificacao = input("Número de identificação: ") 
 contato = input("Contato do usuário: ") 
 usuario = Usuario(nome, identificacao, contato) 
 biblioteca.cadastrar_usuario(usuario) 
 
 elif escolha == "3": 
 titulo_emprestimo = input("Título do livro para empréstimo: ") 
 usuario_emprestimo = input("Nome do usuário que está pegando emprestado: ") 
 livro_emprestimo = biblioteca.consultar_livros("titulo", titulo_emprestimo) 
 usuario_emprestimo = [usuario for usuario in biblioteca.usuarios if usuario.nome.lower() 
== usuario_emprestimo.lower()] 
 
PROJETO INTEGRADO 
 
 
 if livro_emprestimo and usuario_emprestimo: 
 biblioteca.emprestar_livro(livro_emprestimo[0], usuario_emprestimo[0]) 
 else: 
 print("Livro ou usuário não encontrado.") 
 
 elif escolha == "4": 
 titulo_devolucao = input("Título do livro para devolução: ") 
 usuario_devolucao = input("Nome do usuário que está devolvendo: ") 
 livro_devolucao = biblioteca.consultar_livros("titulo", titulo_devolucao) 
 usuario_devolucao = [usuario for usuario in biblioteca.usuarios if usuario.nome.lower() 
== usuario_devolucao.lower()] 
 
 if livro_devolucao and usuario_devolucao: 
 biblioteca.devolver_livro(livro_devolucao[0], usuario_devolucao[0]) 
 else: 
 print("Livro ou usuário não encontrado.") 
 
 elif escolha == "5": 
 parametro_consulta = input("Parâmetro de consulta (titulo, autor, ano): ") 
 valor_consulta = input("Valor da consulta: ") 
 resultados = biblioteca.consultar_livros(parametro_consulta, valor_consulta) 
 
 print("\nResultados da Consulta:") 
 for livro in resultados: 
 print(f"{livro.titulo} - {livro.autor}") 
 
 elif escolha == "6": 
 biblioteca.gerar_relatorio() 
 
 elif escolha == "0": 
 print("Saindo do programa.") 
 break 
PROJETO INTEGRADO 
 
 
 
 else: 
 print("Opção inválida. Tente novamente.") 
 
if __name__ == "__main__": 
 menu() 
 
 
 
Bons estudos!!! 
Docentes do curso

Mais conteúdos dessa disciplina