Número | Datas | Assunto | Comentário |
---|---|---|---|
1 |
20-02-2001 |
Apresentação da ficha da disciplina. Introdução à programação estruturada em C++, focando diferenças em relação ao C. |
parte-1.pdf |
2 |
22-02-2001 |
Entrada e saída de dados e manipulação de ficheiros com "streams"; o tipo de dados "bool"; pontos de declaração de variáveis; declaração de variáveis com "const"; coerção de tipos; referências e passagem de argumentos por referência; argumentos por omissão; nomes de funções "overloaded". |
-- |
3 |
01-03-2001 |
"Templates" de funções; funções "inline"; utilização de variáveis locais com alocação estática; revisão de apontadores e relação entre apontadores e "arrays". |
-- |
4 |
06-03-2001 |
Alocação e libertação de memória com new e delete; aplicação a "arrays" dinâmicos; relação entre apontadores e "strings". |
-- |
5 |
08-03-2001 |
Análise de algoritmos: noção de complexidade temporal e espacial; notação de O grande. Algoritmo de pesquisa sequencial. |
parte-2.pdf |
6 |
13-03-2001 |
Algoritmos de pesquisa binária, ordenação por inserção e ordenação por partição. |
parte-3.pdf |
7 |
15-03-2001 |
Algoritmos de ordenação por partição (conclusão). |
-- |
8 |
20-03-2001 |
Introdução à programação orientada por objectos em C++: conceito de programação orientada por objectos; conceito de classe e conceito de objecto em C++; membros-função; restrições de acesso a membros. |
-- |
9 |
22-03-2001 |
Não houve aulas na FEUP. |
-- |
10 |
27-03-2001 |
Construtores e destrutores; objectos e membros constantes; inicializadores de membros; composição de classes; o apontador this; membros estáticos. |
-- |
11 |
29-03-2001 |
Funções e classes "friend"; construtor de cópia; criação e destruição de objectos com new e delete. Classes derivadas e herança. |
-- |
12 |
03-04-2001 |
Funções virtuais e polimorfismo. Funções virtuais puras e classes abstractas. Classes de interface e classes de implementação. |
-- |
13 |
05-04-2001 |
Overloading de operadores. "Templates" de classes. Tratamento de excepções. |
-- |
14 |
19-04-2001 |
Listas Lineares: o tipo de dados abstracto; representação em array. | listas.pdf |
15 |
24-04-2001 |
Listas Lineares: representação ligada em cadeia; listas circulares e listas duplamente ligadas. |
-- |
16 |
26-04-2001 |
Listas Lineares: representação por endereçamento indirecto; representação por simulação de apontadores. |
-- |
17 |
03-05-2001 |
Pilhas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia; exemplo de aplicação. | pilhas.pdf |
18 |
15-05-2001 |
Filas: tipo de dados abstracto; implementação baseada em array; implementação baseada em cadeia. Exemplo de aplicação de filas. |
filas.pdf |
19 |
17-05-2001 |
Árvores: definições; árvores binárias; representação de árvores baseada em fórmula; representação ligada; percorrer a árvore em profundidade (pré-order, em-ordem e pós-ordem) e em largura. |
trees.pdf |
20 |
22-05-2001 |
Tipo de dados abstracto BinaryTree. Classe C++ BinaryTree para implementar uma árvore binária; percorrer a
árvore em profundidade e em largura. |
-- |
21 |
24-05-2001 |
Filas de prioridade: tipo de dados abstracto MaxPriorityQueue; utilização de Heaps; representação em array de Heaps
e algoritmos associados; implementação em C++ da classe MaxHeap. |
heaps.pdf |
22 |
29-05-2001 |
Hashing: dicionários, tabelas de dispersão ("hash"), implementação em C++ da classe HashTable; aplicação à compressão de ficheiros segundo o algoritmo LZW. |
hash.pdf |
23 |
31-05-2001 |
Discussão e resolução de exame exemplo: exame realizado em 16/6/2000. |
exame de 16/6/2000 |
24 |
05-06-2001 |
Discussão e resolução de exame exemplo: exame realizado em 18/6/1999. |
exame de 18/6/1999 |
25 |
07-06-2001 |
Discussão e resolução de exame exemplo: exame realizado em 10/7/2000 |
exame de 10/7/2000 |