A maior rede de estudos do Brasil

Grátis
13 pág.
Trabalho3_et1

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

o número do quarto ocupado por cada hóspede;
• tela para listar os números dos quartos e se estão ocupados ou não. 
Quando eu clicar no número do quarto o programa deverá uma 
janela com todos os itens do quarto.
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 e número do quarto;
• validar a data de nascimento, de entrada e saída do hóspede do 
hotel;
• o campo e-mail deverá conter, obrigatoriamente, o “@”;
Tema 5 – Sistema de cursos de informática:
Escreva um programa que modele um sistema de controle de cursos de 
informática, conforme abaixo:
Dados para o cadastro de alunos (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.
Ao final do cadastro de um aluno, o programa deverá gerar, 
automaticamente, um número de matrícula para o mesmo. O número de 
matrícula deverá ser inteiro positivo maior ou igual a 1000 e menor ou igual a 
5000.
Dados para o cadastro de cursos (todos os itens são obrigatórios):
• identificador do curso – número inteiro positivo gerado pelo 
programa (começando com 1 e incrementando de 1 
automaticamente);
• nome do curso – máximo de 30 caracteres;
• número mínimo de alunos para que o curso ocorra;
• data de início do curso no formato dd/mm/yyyy;
• duração do curso (em horas).
Controle de inscrição dos alunos nos cursos:
Para cada curso o programa deverá receber o número de matrícula 
dos alunos que desejam se inscrever no curso e incrementar o número de 
alunos inscritos no curso. Atenção! Cada aluno poderá se inscrever em, no 
máximo, 5 cursos!
Todos os dados descritos acima deverão ser armazenados no formato de 
arquivo .txt. Os dados dos alunos deverão ser gravados no arquivo “alunos.txt”, 
os dados dos cursos no arquivo “cursos.txt” e os dados dos controles de 
inscrição dos alunos nos cursos no arquivo “controles.txt”.
O seu programa deverá ter algumas telas, de acordo com a especificação 
abaixo:
• tela para cadastro de alunos;
• tela para cadastro de cursos;
• tela para controle de inscrição dos alunos nos cursos – nesta tela, 
será possível fazer a inscrição dos alunos nos cursos, lembrando 
que cada aluno só poderá se inscrever em, no máximo, 5 cursos;
• tela para listar nome e matrícula dos alunos cadastrados e a opção 
de alterar dados cadastrais dos alunos. Esta tela também deverá 
mostrar os cursos que os alunos estão inscritos (pelo identificador 
do curso).
• Tela para listar os cursos cadastrados (pelo identificador) e as 
matrículas dos alunos inscritos, bem como o total de alunos no 
curso. Quando eu clicar no identificador do curso, o programa 
deverá abrir uma janela mostrando todos os dados referentes 
aquele curso.
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, número mínimo de alunos no curso e duração do curso;
• validar a data de nascimento do aluno e a data de início do curso;
• o campo e-mail deverá conter, obrigatoriamente, o “@”;
Tema 6 - Polinômios:
Escreva um programa que realize as operações de soma, subtração, 
multiplicação e divisão entre 2 polinômios, além de obter as raízes dos 
mesmos. O programa deverá ler 2 polinômios do usuário de acordo com o 
formato abaixo:
Polinômio 1 (p1): 1*x^2 + 2*x – 3 (representa x2 + 2x - 3)
Polinômio 2 (p2): 2*x^2 - 2*x + 4 (representa 2x2 – 2x + 4)
E apresentar os resultados das operações no formato abaixo:
Soma (p1 + p2): 3x2 + 1
Subtração (p1 – p2): -1x2 + 4x - 7
Multiplicação (p1 * p2): 2x4 + 2x3 – 6x2 + 14x - 12
Divisão (p1 / p2): Quociente: ½ e Resto: 3x - 5
Raízes de p1: -3 e -1
Raízes de p2: Nao há raízes reais
O programa deverá aceitar polinômios de qualquer grau sendo que o grau 
do 1o polinômio deverá ser maior ou igual ao grau do 2o polinômio. O programa 
deverá ser capaz de ler os polinômios no formato a*x^? ± b*x^? ± …. ± z onde 
a, b,..., z são números inteiros e ? são núméros inteiros positivos distintos e 
decrescentes.
Utilize o módulo “numpy” para realizar as operações com os polinômios. 
Este módulo pode ser encontrado no link http://numpy.scipy.org/ .
Faça o tratamento correto de exceções (utilizando “try/except”) conforme 
necessário.
Tema 7 - Matriz:
Escreva um programa que realize as seguintes operações sobre uma 
matriz A (de qualquer dimensão porém quadrada) escolhida pelo usuário:
• multiplicação de A por um escalar k inteiro positivo (a ser informado 
pelo usuário);
• inversa de A;
• determinante de A;
• potenciação de A (matriz A elevada a algum número inteiro positivo j 
que será informado pelo usuário);
• mostrar os elementos da diagonal principal de A.
 As operações descritas acima (bem como a forma de carregar a matriz 
para o programa) deverão ser acionadas em itens de um menu superior a ser 
criado na janela principal do programa.
O programa deverá ter 2 opções para leitura da matriz: por arquivo texto 
ou por digitação manual dos seus elementos (neste caso, o programa deverá 
pedir a dimensão da matriz e posteriormente, seus elementos).
Caso o usuário escolha carregar a matriz através de um arquivo texto, o 
programa poderá assumir que o mesmo estará no formato abaixo (elementos 
da matriz linha a linha, separados por um espaço em branco):
Exemplo de arquivo “matriz.txt”:
1 2 3
4 5 6
7 8 9
Faça o tratamento de exceções (utilizando “try/except”) de forma a aceitar 
somente números para os valores de “k” e “j” e para os elementos da matriz, 
caso ela tenha sido digitada manualmente. Além disso, verifique se o arquivo 
informado pelo usuário existe (caso a matriz seja carregada por meio de 
arquivo), informando um erro caso o mesmo não exista.
Utilize o módulo “numpy” para realizar as operações com a matriz. Este 
módulo pode ser encontrado no link http://numpy.scipy.org/ .
Tema 8 - Arquivos:
Escreva um programa que leia um diretório informado pelo usuário e 
realize as seguintes operações:
• liste todos os arquivos “.txt” contidos no diretório;
• permita ao usuário escolher 2 arquivos .txt no diretório para que o 
programa crie um 3o arquivo .txt (com nome a ser informado pelo 
usuário) com o conteúdo dos 2 arquivos selecionados;
• permita ao usuário criar um novo arquivo .txt (com nome a ser 
informado por ele) no diretório;
• permita ao usuário escolher um arquivo .txt do diretório e alterar o 
seu conteúdo.
• Permita a compressão de arquivos .txt (criação de um arquivo .zip 
com nome a ser informado) escolhidos pelo usuário.
 As operações descritas acima deverão ser acionadas em itens de um 
menu superior a ser criado na janela principal do programa.
Faça o tratamento correto de exceções (utilizando “try/except”) de forma a
verificar se o diretório informado existe.
Para trabalhar com o diretório e arquivos .txt utilize os módulos “os” e 
“os.path”. Para “zipar” os arquivos selecionados pelo usuário utilize o módulo 
“zipfile”.

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