Laboratorio de Programacao II
(EC)
Eduardo Augusto
Bezerra
sem.
2003/1
IV Forum Internacional de Software Livre, a partir de quinta (5, 6 e 7 de Junho) no centro de eventos da PUCRS.
Oportunidade unica para trocar ideias com celebridades nacionais e internacionais na area!
Visitar: http://www.softwarelivre.org/forum2003/
- Material sobre ponteiros (notas
de aula e exemplos)
- 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)
- Vetor de ponteiros (enunciado
e programa
exemplo)
- Sistema de cadastro de usuarios (enunciado
e programa
exemplo)
- Simulacao
de agencia bancaria. Data da entrega: entregas encerradas.
- Sistema
para escalonamento de tarefas para o braco robo. Data da entrega:
entregas encerradas.
Download dos arquivos da classe Robot: Robot.h,
Robot.cpp,
RobotLinux.h
e RobotLinux.cpp.
Usar o programa de teste test.cpp
como exemplo de utilizacao da classe Robot. Dicas
de como utilizar threads, para os que quiserem ir alem.
- Polimorfismo I - . Nao serao descontados pontos dos que nao entregarem.
Implementar as classes
CBox.cpp,
CCone.cpp e
CCylinder.cpp
para completar o sistema composto pela classe base
CShape3d.cpp
e pelo programa de teste
testCShape3d.cpp.
. Data de entrega: a ser definida.
- Polimorfismo II - . Nao serao descontados pontos dos que nao entregarem.
Implementar um programa em C++ composto por modulos de software e por pelo menos um modulo de hardware. O
modulo de hardware pode ser a ULA implementada na disciplina de circuitos digitais. Seria necessario
implementar uma classe, polimorfica, em C++ que permita o programa executar tanto a funcao em software
quanto a funcao implementada em hardware. A aplicacao poderia possuir uma classe base representando uma
ULA com diversas operacoes, sendo que umas duas ou tres dessas operacoes poderiam ser executadas
tanto em hardware quanto em software. A porta paralela do computador poderia ser utilizada para
comunicacao com o hardware. Conversar com o professor da disciplina para maiores informacoes.
. Data de entrega: a ser definida.
- 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.