Laboratorio de Programacao II (EC) - sem. 2003/2
Eduardo Augusto Bezerra
- Material sobre programacao orientada a objetos
- Aulas do prof. Leandro Becker: aula
introdutoria, introducao
ao C++, classes
em detalhes.
- Notas de aula "Classes e Objetos em C++" (versao
em PDF, versao
para o Open Office)
- Curso de C++ por Frigeri, Copstein e Pereira (versao
em PDF)
- Notas de aula de um curso de C++ do NCE/UFRJ (versao
em PDF)
- Aplicacao exemplo: Classe SystemUser
(ler antes o arquivo README.txt)
- Aplicacao exemplo: Classe Racional
(solucao)
- Aplicacao exemplo de heranca: Sistema Bank Account (account.h,
account.cpp,
testAccount.cpp,
accounts.txt)
- Exemplo/exercicio de heranca:
ex_heranca.cpp,
mmamals.cpp, e
vmammals.cpp
- Notas
de aula: heranca, heranca multipla, classes virtuais, funcoes
virtuais, funcoes friend, classes abstratas, sobrecarga de funcoes,
sobrecarga de operadores, polimorfismo, template, GUI.
- Material sobre listas encadeadas (listas, filas, pilhas)
- Trabalhos dos alunos
(alguns dos que seguiram o solicitado no enunciado e os criterios de avaliacao - e tambem a estrategia KISS de programacao!)
- Enunciados dos trabalhos
(o MOSS e' utilizado na avaliacao como ferramenta auxiliar para identificacao de trabalhos copiados).
- Sistema de reserva de lugares em um cinema. (Revisao de Lapro I). Implementar um sistema
para reserva de lugares em um cinema utilizando uma matriz para modelar a sala de cinema,
onde cada posicao da matriz representa um lugar que podera' estar livre ou ocupado. Para
cada reserva, armazenar nas posicoes da matriz o nome e a identidade do cliente. Utilizar
o conceito de ponteiros de forma que cada posicao da matriz possua um ponteiro para o
registro que armazenara' os dados do cliente. Nao e' permitida a utilizacao de variaveis
globais.
Data da entrega: Quarta, 20/08/2003 (entregas encerradas)
O trabalho sera' avaliado de acordo com o descrito na secao "Avaliacao" encontrada no
final dessa pagina.
- Simulacao de linha de producao. A definicao do trabalho encontra-se na
pagina do Prof. Leandro Becker.
Data da entrega: Quarta, 24/09/2003 (entregas encerradas).
O trabalho sera' avaliado de acordo com o descrito na secao "Avaliacao" encontrada no
final dessa pagina.
- Sistema para controle de acesso utilizando terminais remotos. Uma organizacao possui um sistema de controle de acesso com niveis de usuarios. Para ingressar em um recinto o usuario precisa identificar-se em um terminal de leitura de impressoes digitais. O sistema realiza a verificacao e libera ou nao o acesso dependendo do nivel atribuido a ele, e do nivel do setor em questao. O sistema apresenta no display do terminal o nome do usuario, o nivel do usuario, o nivel do recinto e as mensagens "Liberado" ou "Nao liberado". Escrever um programa em C++ utilizando o paradigma de OO para implementar esse sistema. O programa devera possuir os seguintes modulos: operacoes no cadastro de usuarios (inclusao, exclusao, alteracao, pesquisa); operacoes de consulta ao cadastros; e operacoes para leitura da digital e liberacao do ponto de acesso. Obs. 2 e 3 serao executados nos terminais de leitura/liberacao, e 1 sera executado no servidor. Datas de entrega: 19/11/2003.
- ULA de 1 bit. Implementar um programa em C++ utilizando conceitos de OO vistos na disciplina
(polimorfismo, tratamento de excessoes, sobrecarga de operadores, ...), que permita acessar a ULA de 1 bit
da disciplina de circuitos digitais. Utilizar a porta paralela, no Linux, para acesso a ULA externa.
O programa devera possuir um modulo de simulacao, onde as funcoes da ULA sao executadas em software,
e um modulo real onde as funcoes da ULA sao realizadas no hardware externo. Utilizar as dicas
em ParPort.cpp
para acesso a porta paralela. Dicas sobre o cabo e pinos a serem utilizados podem ser encontradas no arquivo:
semana_academica_2003.pdf.
Grupos de no maximo 3 alunos. Data de entrega: 03/12/2003.
Siga esse link para as fotos das primeiras apresentacoes!
-
Sistema de gerencia de emails. Grupos de no maximo 3 alunos. Motivacao para
implementacao do trabalho seguindo o modelo de classes definido: a P2 sera' baseada
nesse modelo e em conceitos utilizados na implementacao; e diminuicao no risco de perder
pontos devido a modelagem inapropriada do sistema.
Data de entrega: 17/11/2003, 01/12/2003 e 03/12/2003.
- Avaliacao
- Documentacao do codigo fonte: incluir comentarios em todo o
programa, e no inicio do programa incluir informacoes basicas, tais
como nome do autor, data da criacao, data da ultima alteracao,
instituicao, curso, descricao do programa, sistema
operacional, compilador utilizado e dica de como compilar.
- O codigo fonte precisa estar com a indentacao adequada.
- Escolher nomes adequados para os simbolos utilizados no
programa (variaveis, funcoes, ... ).
- Fazer demonstracao do programa funcionando, e explicar as
estrategias de programacao durante exame do codigo fonte por parte do
professor.
- Provas do semestre
- Prova P1 01/10/2003:
- Prova P2 24/11/2003:
- Prova P4 26/11/2003.
- Prova G2 08/12/2003.