Trabalho3_et1
13 pág.

Trabalho3_et1


DisciplinaComputação II152 materiais465 seguidores
Pré-visualização2 páginas
o número do quarto ocupado por cada hóspede;
\u2022 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 
\u201ctry/except\u201d e \u201craise\u201d) de forma a:
\u2022 não aceitar letras nos campos de telefone (residencial e celular), 
CPF e número do quarto;
\u2022 validar a data de nascimento, de entrada e saída do hóspede do 
hotel;
\u2022 o campo e-mail deverá conter, obrigatoriamente, o \u201c@\u201d;
Tema 5 \u2013 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):
\u2022 CPF \u2013 11 caracteres (sem o hifen);
\u2022 nome completo \u2013 no máximo 20 caracteres;
\u2022 endereço \u2013 no máximo 30 caracteres;
\u2022 cidade \u2013 no máximo 30 caracteres;
\u2022 estado \u2013 2 caracteres;
\u2022 telefone residencial \u2013 13 caracteres (com DDD e no formato 
(xx)xxxx-xxxx);
\u2022 telefone celular \u2013 13 caracteres (com DDD e no formato (xx)xxxx-
xxxx);
\u2022 data de nascimento \u2013 10 caracteres (no formato dd/mm/yyyy);
\u2022 sexo (feminino ou masculino); 
\u2022 e-mail \u2013 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):
\u2022 identificador do curso \u2013 número inteiro positivo gerado pelo 
programa (começando com 1 e incrementando de 1 
automaticamente);
\u2022 nome do curso \u2013 máximo de 30 caracteres;
\u2022 número mínimo de alunos para que o curso ocorra;
\u2022 data de início do curso no formato dd/mm/yyyy;
\u2022 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 \u201calunos.txt\u201d, 
os dados dos cursos no arquivo \u201ccursos.txt\u201d e os dados dos controles de 
inscrição dos alunos nos cursos no arquivo \u201ccontroles.txt\u201d.
O seu programa deverá ter algumas telas, de acordo com a especificação 
abaixo:
\u2022 tela para cadastro de alunos;
\u2022 tela para cadastro de cursos;
\u2022 tela para controle de inscrição dos alunos nos cursos \u2013 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;
\u2022 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).
\u2022 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 
\u201ctry/except\u201d e \u201craise\u201d) de forma a:
\u2022 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;
\u2022 validar a data de nascimento do aluno e a data de início do curso;
\u2022 o campo e-mail deverá conter, obrigatoriamente, o \u201c@\u201d;
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 \u2013 3 (representa x2 + 2x - 3)
Polinômio 2 (p2): 2*x^2 - 2*x + 4 (representa 2x2 \u2013 2x + 4)
E apresentar os resultados das operações no formato abaixo:
Soma (p1 + p2): 3x2 + 1
Subtração (p1 \u2013 p2): -1x2 + 4x - 7
Multiplicação (p1 * p2): 2x4 + 2x3 \u2013 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^? ± \u2026. ± 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 \u201cnumpy\u201d 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 \u201ctry/except\u201d) 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:
\u2022 multiplicação de A por um escalar k inteiro positivo (a ser informado 
pelo usuário);
\u2022 inversa de A;
\u2022 determinante de A;
\u2022 potenciação de A (matriz A elevada a algum número inteiro positivo j 
que será informado pelo usuário);
\u2022 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 \u201cmatriz.txt\u201d:
1 2 3
4 5 6
7 8 9
Faça o tratamento de exceções (utilizando \u201ctry/except\u201d) de forma a aceitar 
somente números para os valores de \u201ck\u201d e \u201cj\u201d 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 \u201cnumpy\u201d 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:
\u2022 liste todos os arquivos \u201c.txt\u201d contidos no diretório;
\u2022 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;
\u2022 permita ao usuário criar um novo arquivo .txt (com nome a ser 
informado por ele) no diretório;
\u2022 permita ao usuário escolher um arquivo .txt do diretório e alterar o 
seu conteúdo.
\u2022 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 \u201ctry/except\u201d) de forma a
verificar se o diretório informado existe.
Para trabalhar com o diretório e arquivos .txt utilize os módulos \u201cos\u201d e 
\u201cos.path\u201d. Para \u201czipar\u201d os arquivos selecionados pelo usuário utilize o módulo 
\u201czipfile\u201d.