Lista de Código (disponível durante o teste prático)
1 - Introducao ao Java
- Tipos e Variaveis - Tipos basicos, conversoes e casting, limites
- Instrucoes Condicionais - if else, switch
- Instrucoes de Ciclo - for, while, do while, break, continue
- Uma primeira classe - classe Point para pontos a 2 dimensoes (num plano), metodos, comparacoes entre objectos e variaveis estaticas
- Strings - Criacao, caracteres, tamanho, comparacao, substrings, conversao para array
- Arrays - criacao, OutOfBounds, inicializacao, impressao, soma, multiplicacao de matriz por array
- Input/Output - uso de Scanner a partir de string, teclado ou ficheiro, escrita formatada
2 - Sobre Programacao Estruturada
- [ED004] Jogo do Galo - um exemplo de resolucao estruturada e com generalizacao da verificacao de uma linha
3 - Tipos Abstractos de Dados (TADs)
- TAD Vector - Um vector em R2 (ex: operacoes: somar, subtrair, multiplicar, magnitude)
- TAD IntSet - Um conjunto de numeros inteiros (ex. operacoes: adicionar, remover, verificar inclusao)
- Progressoes - Um exemplo de heranca em Java com uma classe representando uma programacao e diversas subclasses (progressoes aritmeticas, geometricas e de Fibonacci)
4 - Listas Ligadas, Pilhas e Filas
- SinglyLinkedList - lista ligada simples (ex operacoes: tamanho, adicionar no inicio e no fim, retirar no inicio e no fim)
- CircularLinkedList - lista ligada circular (ex operacoes: tamanho, adicionar no inicio e no fim, retirar no inicio e no fim, rodar elementos)
- DoublyLinkedList - lista duplamente ligada (ex operacoes: tamanho, adicionar no inicio e no fim, retirar no inicio e no fim)
- TAD MyStack - Uma pilha (colecao LIFO: ultimo a entrar e o primeiro a sair)
- TAD MyQueue - Uma fila (colecao FIFO: primeiro a entrar e o primeiro a sair)
- TAD MyDeque - Generalizacao de fila (possivel inserir e remover no inicio e no final da fila)
6 - Recursividade
- TestMax - 3 versoes para descobrir o maximo de um intervalo de um array (uma iterativa e duas recursivas)
- TestMergeSort - uma implementacao do Merge Sort
- TestReverse - Invertendo um array
- TestFloodFill - Fazendo "flood fill" de uma matriz
- TestSets - Gerando todos os subconjuntos de um array
- TestPerm - Gerando todas as permutacoes de um array
7 - Arvores Binarias
- BTree - Arvore binaria simples (ex. metodos: numero de nos, altura, contains; impressoes preorder, inorder, postorder, em largura)