Professor: Sakauê Metodológia: Apresentação de conceitos das estruturas de dados Bibliografia: Algoritmos em Linguagem C Algoritmos
Data | Dia da Semana | Número de Aulas | Atividade |
---|---|---|---|
Agosto | 10 aulas | ||
15/08 | Quinta-feira | 1 aula | Estudar Listas Encadeadas |
16/08 | Sexta-feira | 1 aula | Estudar Listas Encadeadas |
19/08 | Segunda-feira | 2 aulas | Estudar Listas Encadeadas |
22/08 | Quinta-feira | 1 aula | Estudar Listas Encadeadas |
23/08 | Sexta-feira | 1 aula | Apresentar Listas Encadeadas |
26/08 | Segunda-feira | 2 aulas | Estudar Pilha Sem Cabeça |
29/08 | Quinta-feira | 1 aula | Estudar Pilha Sem Cabeça |
30/08 | Sexta-feira | 1 aula | Estudar Pilha Sem Cabeça |
Setembro | 14 aulas | ||
02/09 | Segunda-feira | 2 aulas | Estudar Pilha Sem Cabeça |
05/09 | Quinta-feira | 1 aula | Estudar Pilha Sem Cabeça |
06/09 | Sexta-feira | 1 aula | Apresentar Pilha Sem Cabeça |
09/09 | Segunda-feira | 2 aulas | Estudar Filas Sem Cabeça |
12/09 | Quinta-feira | 1 aula | Estudar Filas Sem Cabeça |
13/09 | Sexta-feira | 1 aula | Estudar Filas Sem Cabeça |
16/09 | Segunda-feira | 2 aulas | Estudar Filas Sem Cabeça |
19/09 | Quinta-feira | 1 aula | Apresentar Filas Sem Cabeça |
20/09 | Sexta-feira | 1 aula | Estudar Árvores Inserção |
23/09 | Segunda-feira | 2 aulas | Estudar Árvores Inserção |
26/09 | Quinta-feira | 1 aula | Estudar Árvores Inserção |
27/09 | Sexta-feira | 1 aula | Estudar Árvores Inserção |
Outubro | 18 aulas | ||
01/10 | Segunda-feira | 2 aulas | Estudar Árvores Inserção |
03/10 | Quinta-feira | 1 aula | Apresentar Árvores Inserção |
04/10 | Sexta-feira | 1 aula | Estudar Árvores Percorrimento |
07/10 | Segunda-feira | 2 aulas | Estudar Árvores Percorrimento |
10/10 | Quinta-feira | 1 aula | Estudar Árvores Percorrimento |
11/10 | Sexta-feira | 1 aula | Apresentar Árvores Percorrimento |
14/10 | Segunda-feira | 2 aulas | Estudar Árvores Remoção |
17/10 | Quinta-feira | 1 aula | Estudar Árvores Remoção |
18/10 | Sexta-feira | 1 aula | Apresentar Árvores Remoção |
21/10 | Segunda-feira | 2 aulas | Estudar Ordenação Select |
24/10 | Quinta-feira | 1 aula | Estudar Ordenação Select |
25/10 | Sexta-feira | 1 aula | Apresentar Ordenação Select |
28/10 | Segunda-feira | 2 aulas | Estudar Ordenação Insert |
01/11 | Sexta-feira | 1 aula | Estudar Ordenação Insert |
04/11 | Segunda-feira | 2 aulas | Estudar Ordenação Insert |
07/11 | Quinta-feira | 1 aula | Apresentar Ordenação Insert |
08/11 | Sexta-feira | 1 aula | Estudar Ordenação Merge |
11/11 | Segunda-feira | 2 aulas | Estudar Ordenação Merge |
14/11 | Quinta-feira | 1 aula | Estudar Ordenação Merge |
18/11 | Segunda-feira | 2 aulas | Apresentar Ordenação Quick |
21/11 | Quinta-feira | 1 aula | Estudar Ordenação Quick |
22/11 | Sexta-feira | 1 aula | Apresentar Ordenação Quick |
25/11 | Segunda-feira | 2 aulas | Estudar Ordenação Shell |
28/11 | Quinta-feira | 1 aula | Estudar Ordenação Shell |
29/11 | Sexta-feira | 1 aula | Apresentar Ordenação Shell |
Feito exercício dos primos, que consiste em verificar se um número é primo ou não aqui.
Falou muito sobre silogismos. Legal para entender bem básicamente o que é lógica e um pensamento encadeado coerente.
Os dados manipulados pelos algoritmos podem ser dos seguintes tipos: inteiro, real caracter ou lógico. Verificamos que para guardar os dados precisamos de identificadores, que servem de rótulo para dados variáveis ou constantes, e que para usá-los é necessária a declaração, na qal associamos o identificador a um tipo primitivo válido.
As expressões aritméticas, lógicas e relacionais, sendo que as duas últimas devem resultados em valor lógico (true or false). Assim como os operadores relacionais, aritméticos (mod, div, pot rad) e lógicos (e, ou, não). Concluímos o capítulo conhecimentos os comandos de entrada e saída de dados, bem como os conceitos de blocos.
Temos já resumos sobre algoritmos de seleção. Basicamente a manipulação de condicionais a blocos de código.
Um dos exercícios propostos é a transformações de certas estruturas redundantes de if e else em estrutura de seleção composta ou seleção encadeada, que nesse último caso, existe categorias como homogêneas e heterogênas.
Estruturas de repetição podem ser feito com enquanto determinada condição for verdadeira, ou com número específicos de repetições. Esses são critérios de parada de loop. Em uma operação com números indetermináveis de iterações, um bom critério de parada é o "se enquanto". É comum que a estrutura de repetição utilize uma variável acumulativa, que guarda resultados a cada iteração para resultado final.
Neste capítulo vimos que o fluxo de execução de algoritmo segue uma estrutura sequencial, significa ser executado passo a passo, sequencialmente. Vimos a estrutura de seleção, que permite que uma ação seja ou não executada, dependendo do valor resultante da inspeção de uma condição. A seleção pode ser simples, quando contém apenas a cláusula então, ou composta, quando contém então e senão. QUando é encadeada, pode ser homogêna ou heterogêna. Verificamos que seleções encadeadas homogênas são muito comuns, por isso especificamos a seleção de múltipla escolha, que apresenta casos que são avaliados. POr último, a estrutura de repetição, que permite que trechos de algoritmos sejam repetidos conforme certos critérios de parada. Verificando que podemos construir laços de repetição de três maneira.
- Repetição com teste no início - enquanto
- Repetição com teste final - repita
- Repetição com variável de controle - para
Observamos que enquanto o laço pode não ser executado, pois a condição está no ínicio, que no repita o laço é executado pelo menos uma vez, pois a condição está no final, e que o para é necessário um número finito e determinado de iterações, pois é preciso conhecer o valor final da variável de controle do laço.
Estruturas de dados existem, porque apenas os tipos primitivos não são capazes de expressar algumas formas complexas de manipulação de informação. Portanto, é preciso construir novos tipos. Os tipos construídos são uma composição de tipos primitivos, uma estrutura de dados.
As compostas homogênas são do mesmo tipo primitivo dentro de uma estrutura. Essas podem ser estrutura unidimensional, vetores. Esses são postos entre colchetes []
identificador = vetor [ LI - limite inicial do vetor, LF - limite final do vetor ] de tipo primitivo.
Para acesso de item, usa-se o nome do identificador, seu simbolo de representação [], e o índice (uma constante) que indica onde o item se encontra.
O Acessos a lista são O(1), pois a indicação do índice permite que o programa procura apenas naquela posição em específica