Estruturas de Dados Estrutura Organizao e Tratamento de

  • Slides: 15
Download presentation
Estruturas de Dados Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Estruturas de Dados Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Estruturas de Dados • Simples • Inteiros, Reais, Valores Lógicos, Alfanuméricos • Complexos –

Estruturas de Dados • Simples • Inteiros, Reais, Valores Lógicos, Alfanuméricos • Complexos – Comprimento Fixo • Vectores/Matrizes – Comprimento Variável • Listas – Lineares » Pilhas, Filas, Ficheiros – Não Lineares » Árvores Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Simples • Inteiros – Guardam valores sem casa decimais • Integer, Byte, Long. Int

Simples • Inteiros – Guardam valores sem casa decimais • Integer, Byte, Long. Int / Int, Short Int • Decimal, Hexadecimal • Reais – Valores com partes fraccionárias • Real / Double, Float Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Simples • Valores Lógicos – podem assumir os valores lógicos verdadeiro ou Falso, codificados

Simples • Valores Lógicos – podem assumir os valores lógicos verdadeiro ou Falso, codificados com 1 e 0 • Boolean • Alfanuméricos – Conjuntos de caracteres ou cadeias de caracteres • 1 byte por caractere • Char, String / Char Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Complexos • Comprimento Fixo – Vectores/Matrizes • Comprimento Variável – Listas • Lineares –

Complexos • Comprimento Fixo – Vectores/Matrizes • Comprimento Variável – Listas • Lineares – Pilhas, Filas, Ficheiros • Não Lineares – Árvores Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Comprimento Fixo • Vectores/Matrizes – Uma Matriz é uma estrutura de dados que agrupa

Comprimento Fixo • Vectores/Matrizes – Uma Matriz é uma estrutura de dados que agrupa informação em linhas e colunas – Uma Matriz pode ser Multidimensional ou Unidimensional (Vector) • Array [Indice] of Variável Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Comprimento Variável • Listas – Lineares • Pilhas, Filas, Ficheiros – Não Lineares •

Comprimento Variável • Listas – Lineares • Pilhas, Filas, Ficheiros – Não Lineares • Árvores Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Listas Lineares • Ficheiros – Estrutura de dados que guarda a informação em memória

Listas Lineares • Ficheiros – Estrutura de dados que guarda a informação em memória secundária. Type Empregado=Record Numero : Integer; Nome : String; Salario : Real; End; Var Tab. Func : Empregado; Ar. Cad : File of Empregado; Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Listas Lineares • Pilhas, Filas (Apontadores, Pointers) – Também chamadas apontadores ou ponteiros, são

Listas Lineares • Pilhas, Filas (Apontadores, Pointers) – Também chamadas apontadores ou ponteiros, são dados que contém endereços para outros dados. • Este tipo de variáveis não são estáticas (forma e tamanho pré-determinado, em que existem durante todo o tempo de execução do bloco onde foram declaradas). • São as denominadas variáveis dinâmicas. Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Listas Lineares Cabeça Dados Próx. Estrutura Organização e Tratamento de Dados - 12º ano

Listas Lineares Cabeça Dados Próx. Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Apontadores (Pointers) • Notação em PASCAL – Ponteiro para um Inteiro: VAR P_INT: ^INTEGER;

Apontadores (Pointers) • Notação em PASCAL – Ponteiro para um Inteiro: VAR P_INT: ^INTEGER; – P_INT é um endereço – Se X é uma variável normal – P_INT^ é o valor inteiro contido no endereço apontado por P_INT^ – ^X é o endereço da variável X Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Apontadores (Pointers) VAR X, Y: INTEGER; P_INT: ^INTEGER; {variável tipo pointer de inteiros} PTR:

Apontadores (Pointers) VAR X, Y: INTEGER; P_INT: ^INTEGER; {variável tipo pointer de inteiros} PTR: ^REAL; {variável tipo pointer de reais} BEGIN X: =13; {X recebe o valor 13} P_INT^: =X; {P_INT recebe o valor da variável X, apontando para ela} Y: =P_INT^; {Y recebe o conteúdo da posição de memória apontada por P_INT} WRITELN(X, ‘ = ‘, P_INT^, ‘ = ‘, Y); {13 = 13} PTR^: =Y; {PTR recebe o valor da variável Y, apontando para ela} PTR^: =28; {Y é alterada, pois PTR aponta para a posição de memória de Y} WRITELN(X, ‘ = ‘, PTR^, ‘ = ‘, Y); {13 = 28 = 13} END; Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Não Lineares • Árvores – Uma árvore binária é composta por nós. – Cada

Não Lineares • Árvores – Uma árvore binária é composta por nós. – Cada nó tem ramificações (uma para valores superiores, outra para valores inferiores). – Cada nó inclui um campo chave e dois apontadores para os nós correspondentes a cada uma das ramificações. Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Árvores • O primeiro elemento é colocado no topo da árvore. • A partir

Árvores • O primeiro elemento é colocado no topo da árvore. • A partir daí cria-se uma ramificação para a esquerda, para os elementos de valor superior, e uma ramificação para a direita para os elementos de valor inferior. Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Árvores • Suponhamos que procuramos o valor C 1 - C é inferior a

Árvores • Suponhamos que procuramos o valor C 1 - C é inferior a F(Topo), seguir pela direita. 2 - C é superior a B, seguir pela esquerda. 3 - Encontrámos C. a pesquisa está terminada. F B R V P Estrutura Organização e Tratamento de Dados - 12º ano C A Luís Ceia