Grátis
13 pág.

Denunciar
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”.