A maior rede de estudos do Brasil

Grátis
13 pág.
Trabalho3_et1

Pré-visualização | Página 1 de 2

3o trabalho de Computação 2
Turma: ET1/ER1
4a e 6a de 8h às 10h
Professora: Bianca Ruivo
Data de entrega: 13/07/2011
Apresentações: 13/07/11 e 15/07/11 de 8h às 10h
Os temas relativos ao trabalho estão descritos abaixo. Cada grupo (de, no 
máximo, 5 alunos) deverá escolher um tema e desenvolver um programa 
orientado a objetos (obrigatoriamente) e utilizando o módulo Tkinter do Python 
(e, também, outros módulos quando necessário) para implementar o tema 
escolhido. Como há mais grupos que temas, o mesmo tema poderá ser usado 
por mais de 1 grupo. No entanto, cada tema deverá ser escolhido no mínimo 1 
vez e no máximo 2 vezes.
Cada grupo deverá entregar o trabalho no dia 13/07 (no horário da aula) 
no seguinte formato: um diretório com o nome T3_Tema?_Nome contendo os 
arquivos T3_?.py e Grupo_T3.txt onde ? representa o número do tema 
escolhido e Nome representa o nome do primeiro integrante do grupo. 
As apresentações dos trabalhos, obrigatórias, serão nos dias 13/07 e 
15/07 de 8h às 10h. Cada grupo terá cerca de 15 minutos para apresentar o 
trabalho. O trabalho valerá 10.00 pontos. O grupo que não apresentar o 
trabalho perderá 2.0 pontos na nota final do mesmo e o grupo que apresentar o 
trabalho poderá receber até 2.0 pontos a mais na nota final do trabalho, pontos 
estes relativos à apresentação.
Abaixo, estão listados os temas a serem escolhidos.
Tema 1 – Sistemas Lineares: 
Escreva um programa que resolva sistemas de equações lineares. O seu 
programa deverá ler as equações na forma a*w ± b*x ± c*y … = d e resolver o 
sistema, apresentando a solução do mesmo em forma de tupla.
O programa deverá verificar se o sistema linear tem o número de 
equações igual ao número de incógnitas (caso contrário, uma mensagem de 
erro deverá ser mostrada ao usuário) e se os valores dos coeficientes a, b, c, 
etc são números inteiros. Não há limite para o número de equações/incógnitas.
Faça o tratamento correto de exceções (utilizando “try/except”) quando 
necessário.
Utilize o módulo “numpy” para resolver o sistema linear. Este módulo pode 
ser encontrado no link http://numpy.scipy.org/ .
Exemplo do funcionamento do programa:
3*w + 4*x = 10
1*w – 2*x = 3
Vetor solução: (3.2, 0.1)
Tema 2 - Biblioteca:
Escreva um programa que modele um sistema de uma biblioteca. O seu 
programa deverá ter controle sobre o cadastro de usuários/livros e empréstimos 
dos livros, conforme abaixo:
Dados para o cadastro de usuários (todos os itens são obrigatórios):
• CPF – 11 caracteres (sem o hífen);
• nome completo – no máximo 20 caracteres;
• endereço – no máximo 30 caracteres;
• telefone residencial – 13 caracteres (com DDD e no formato 
(xx)xxxx-xxxx);
• telefone celular – 13 caracteres (com DDD e no formato (xx)xxxx-
xxxx);
• data de nascimento – 10 caracteres (no formato dd/mm/yyyy);
• sexo (feminino ou masculino);
• e-mail – no máximo 30 caracteres.
Dados para o cadastro de livros (todos os itens são obrigatórios):
• nome do livro – no máximo 30 caracteres;
• identificador do livro – número inteiro positivo (gerado pelo 
programa) começando com 1 e incrementando de 1 
automaticamente;
• autor – no máximo 20 caracteres;
• editora – no máximo 10 caracteres;
• ano de publicação – 4 caracteres;
• número de exemplares – no máximo 10;
• variável que representa se o livro está emprestado ou não.
Empréstimos dos livros (todos os itens são obrigatórios):
• identificador do livro;
• CPF da pessoa que pegou o livro emprestado;
• data de empréstimo do livro – 10 caracteres (no formato 
dd/mm/yyyy);
• data de devolução do livro – 10 caracteres (no formato dd/mm/yyyy);
Todos os dados descritos acima deverão ser armazenados no formato de 
arquivo .txt. Os dados dos livros deverão ser gravados no arquivo “livros.txt”, os 
dados dos usuários no arquivo “usuarios.txt” e os dados dos empréstimos no 
arquivo “emprestimos.txt”.
O seu programa deverá ter algumas telas, de acordo com a especificação 
abaixo:
• tela para cadastro de usuários;
• tela para cadastro de livros;
• tela para empréstimos dos livros;
• tela para listar CPF e nome dos usuários cadastrados e as opções 
de alterar dados cadastrais e remover usuários. Esta tela também 
deverá mostrar os livros (pelo identificador) que estão emprestados 
para cada usuário. Ao clicar no identificador do livro, os dados 
completos do mesmo deverão aparecer numa nova janela;
• tela para listar identificador, nome e autor dos livros cadastrados 
com opção de alterar ou remover dados do livro. Esta tela também 
deverá mostrar se o livro está emprestado (e para quem, mostrando 
o CPF do usuário) e a data de devolução do mesmo.
O seu programa deverá fazer o tratamento correto de exceções (utilizando 
“try/except” e “raise”) de forma a:
• não aceitar letras nos campos de telefone (residencial e celular), 
CPF;
• validar a data de nascimento digitada;
• o campo e-mail deverá conter, obrigatoriamente, o “@”;
• não aceitar letras nos campos ano de publicação do livro e número 
de exemplares;
• validar a data de empréstimo e a data de devolução do livro.
Tema 3 – Calculadora notação polonesa reversa:
Escreva um programa que modele uma calculadora com notação 
polonesa reversa. A calculadora deverá realizar as operações de soma, 
subtração, multiplicação e divisão.
Exemplo da notação polonesa reversa:
• 3 + 5 => 3 5 + => resposta: 8
• 8 – 3 => 8 3 - => resposta: 5
• (1 + 7) / 2 => 1 7 + 2 / => resposta: 4
• ((0 * 2) – (2 * 2)) / (1 * 4) => 0 2 * 2 2 * - 1 4 * / => resposta: -1
• 35 + 4 => 35 4 + => resposta: 39
O seu programa deverá mostrar os botões contendo os algarismos de 0 a 
9, além dos símbolos “+”, “-”, “*”, “/” e “=”. Além disto, deverá ter um botão para 
limpar o que foi digitado.
Faça o tratamento correto de exceções (utilizando “try/except”) de forma 
não aceitar letras na expressão a ser calculada (aceitar somente os dígitos de 0 
a 9, +, -, *, /, ( e )).
Tema 4 – Sistema hoteleiro:
Escreva um programa que modele um sistema de controle de hóspedes e 
quartos de um hotel, conforme abaixo:
Dados para o cadastro de hóspedes (todos os itens são obrigatórios):
• CPF – 11 caracteres (sem o hifen);
• nome completo – no máximo 20 caracteres;
• endereço – no máximo 30 caracteres;
• cidade – no máximo 30 caracteres;
• estado – 2 caracteres;
• telefone residencial – 13 caracteres (com DDD e no formato 
(xx)xxxx-xxxx);
• telefone celular – 13 caracteres (com DDD e no formato (xx)xxxx-
xxxx);
• data de nascimento – 10 caracteres (no formato dd/mm/yyyy);
• sexo (feminino ou masculino); 
• e-mail – no máximo 30 caracteres;
• data de entrada no hotel – 10 caracteres (no formato dd/mm/yyyy);
• data de saída do hotel – 10 caracteres (no formato dd/mm/yyyy).
Dados para o cadastro de quartos:
• número do quarto – inteiro positivo >= 100 e <= 400;
• tipo do quarto (solteiro simples, solteiro duplo, casal, triplo ou 
quádruplo);
• preço da diária;
• itens: TV, frigobar, ar condicionado – opcionais.
Controle dos quartos:
• número do quarto;
• CPFs dos ocupantes do quarto – 11 caracteres (sem o hifen);
• variável que indique se o quarto está ocupado ou não.
Todos os dados descritos acima deverão ser armazenados no formato de 
arquivo .txt. Os dados dos hóspedes deverão ser gravados no arquivo 
“hospedes.txt”, os dados dos quartos no arquivo “quartos.txt” e os dados dos 
controles dos hóspedes e quartos no arquivo “controles.txt”.
O seu programa deverá ter algumas telas, de acordo com a especificação 
abaixo:
• tela para cadastro de hóspedes;
• tela para cadastro de quartos;
• tela para controle dos quartos – no momento do “check-in” do 
hóspede, o programa deverá associar o número do quarto ao CPF 
do hóspede e marcar o quarto como ocupado. No momento do 
“check-out” do hóspede, o programa deverá calcular o valor total 
das diárias, apresentar este valor e marcar o quarto em questão 
como desocupado;
• tela para listar CPF e nome dos hóspedes cadastrados e a opção de 
alterar dados cadastrais dos hóspedes. Esta tela também deverá 
mostrar

Crie agora seu perfil grátis para visualizar sem restrições.