Estruturas de Dados

Post on 23-Feb-2016

35 views 0 download

description

Estruturas de Dados. Algoritmos – Aula 04. Estruturas de Dados. Tópicos Vetores Matrizes Registros Registro de Conjuntos Conjuntos de Registros. Estruturas de Dados. - PowerPoint PPT Presentation

Transcript of Estruturas de Dados

ESTRUTURAS DE DADOSAlgoritmos – Aula 04

Estruturas de Dados Tópicos

Vetores Matrizes Registros Registro de Conjuntos Conjuntos de Registros

Estruturas de Dados Os tipos primitivos (inteiro, real, caracter e

lógico) não são suficientes para representar todos os tipos de informação.

Particularmente quando temos mais de uma informação relacionada. Ex: Lista dos nomes dos alunos de uma sala, endereço de alguém etc.

Utilizaremos os tipos primitivos para construir outras estruturas de dados mais complexas.

Vetores Também denominados Estruturas compostas

homogêneas unidimensionais Permitem a manipulação de um conjunto de

informações de um mesmo tipo primitivo Declaração :

tipo CLASSE = vetor [1 .. 40] de reais;CLASSE: VCLASSE;Onde: CLASSE: Nome do tipo que está sendo construído 1: Limite inicial do vetor 40: Limite final do vetor reais: Tipo primitivo base do vetor VCLASSE: Nome da variável criada cf o tipo construído

Vetores Manipulação:

1 2 3 4 5 6 7 8 9 38 39 40

inteiro: A;VCLASSE [ 7 ] ¬ 6,5;

6,57,8 5,3

VCLASSE

VCLASSE [ 2 ] ¬ 7,8;VCLASSE [ 4 ] ¬ 5,3;leia (A); // supondo que foi informado 6VCLASSE [ A ] ¬ 9,8;VCLASSE [ A-1 ] ¬ 9,1;leia ( VCLASSE [ A+3 ] ); // supondo que foi informado 4,7

9,89,1 4,7

Vetoresinício

inteiro: NotaAcima;real: A, B, C, D, E, F, G, H, I, J, Média;NotaAcima ¬ 0;leia (A,B,C,D,E,F,G,H,I,J);Média ¬ (A + B + C + D + E + F + G + H + I + J)/10;se (A > Média)

então NotaAcima ¬ NotaAcima + 1;fimse;se (B > Média)

então NotaAcima ¬ NotaAcima + 1;fimse;. . .se (J > Média)

então NotaAcima ¬ NotaAcima + 1;fimse;escreva (NotaAcima);

fim.

Algoritmo 4.1 – Notas acima da média usando variáveis simples

Vetoresinício

tipo Classe = vetor [1 .. 10] de reais;Classe: VClasse;inteiro: NotaAcima, X;real: Soma, Média;Soma ¬ 0;NotaAcima ¬ 0;para X de 1 até 10 passo 1 faça

leia ( VClasse[X] );Soma ¬ Soma + VClasse[X];

fimpara;Média ¬ Soma / 10;para X de 1 até 10 passo 1 faça

se ( VClasse[X] > Média )então NotaAcima ¬ NotaAcima + 1;

fimse;fimpara;escreva (NotaAcima);

fim.

Algoritmo 4.2 – Notas acima da média usando vetor

Matrizes Também denominadas Estruturas compostas

homogêneas multidimensionais Permitem a manipulação de um conjunto de

informações de um mesmo tipo primitivo Declaração:

tipo SALA = matriz [1 .. 4, 1 .. 4] de inteiros;SALA: MSALA;Onde: SALA: Nome do tipo que está sendo construído 1: Limite inicial da primeira e da segunda dimensão 4: Limite final da primeira e da segunda dimensão inteiros: Tipo primitivo base da matriz MSALA: Nome da variável criada cf o tipo construído

Matrizes Manipulação:

1 2 3 4inteiro : A, B;MSALA [ 2, 3 ] ¬ 5;

MSALA

MSALA [ 3, 2 ] ¬ 6;MSALA [ 1, 2 ] ¬ 7;A ¬ 4;

MSALA [ A, B ] ¬ 8;MSALA [ A, B-2 ] ¬ 9;MSALA [ A-2, B-2 ] ¬ 10;

1

2

3

4

5

6

7

89

10

11

12

MSALA [ B, A ] ¬ 11;MSALA [ B-2, A ] ¬ 12;

B ¬ 3;

Matrizes Exemplo: Cartão da Loteria Esportiva

Jg Coluna 1 Ept Coluna 21 Santos Corinthians

2 Flamengo Fluminense

3 Palmeiras São Paulo

4 Vasco Botafogo

5 Portuguesa XV de jaú

6 São Caetano XV de Piracicaba

7 Grêmio Internacional

8 Havaí Figueirense

9 Coritiba Atlético-PR

10 Paysandú Juventude

11 Atlético-MG Cruzeiro

12 Brasiliense Ponte Preta

13 Fortaleza Goiás

14 Esportivo Londrina

Matrizesinício

tipo Loteria = vetor [1 .. 14, 1 .. 3] de caracteres;Loteria: mLoteria;inteiro: I, J, maisMar, nJogo, marLin;maisMar ¬ 0;para I de 1 até 14 faça

marLin ¬ 0;para J de 1 até 3 faça

se mLoteria[ I, J] =‘x’;então marLin ¬ marLin + 1;

fimse;fimpara;se marLin > maisMar então

maisMar ¬ marLin;nJogo ¬ I;

fimse;fimpara;escreva (“Jogo mais marcado: “, nJogo, “com “, maisMar);

fim.

Algoritmo 4.3 – Loteria Esportiva, jogo mais marcado

Matrizesinício

tipo Loteria = vetor [1 .. 14, 1 .. 3] de caracteres;Loteria: mLoteria;inteiro: I, J, maisMar, nColuna, marCol;maisMar ¬ 0;para J de 1 até 3 faça

marCol ¬ 0;para I de 1 até 14 faça

se mLoteria[ I, J] =‘x’;então marCol ¬ marCol + 1;

fimse;fimpara;se marCol > maisMar então

maisMar ¬ marCol;nColuna ¬ J;

fimse;fimpara;escreva (“Coluna mais marcada: “, nColuna, “com “, maisMar);

fim.

Algoritmo 4.4 – Loteria Esportiva, coluna mais marcada

Registros Também denominadas Estruturas compostas

heterogêneas Permitem a manipulação de um conjunto de

informações de tipos primitivos diferentesExemplo: Passagem de ônibus

Número: 0001

De: ____________________ Para: _______________________

Data: ____ / ____ / _______ Horário: ________ : _________

Poltrona: ____________ Distância: ____________ km

Registros Declaração:

tipo regPassagem = registrointeiro: Número;caracter: Origem, Destino, Data, Horário;inteiro: Poltrona;real: Distância; fimregistro;

regPassagem: Passagem;Manipulação:

leia (Passagem);escreva (Passagem);leia (Passagem.Origem);escreva (Passagem.Destino);Passagem.Distância ¬ 500;

Registro de Conjuntos Combinação de estruturas heterogêneas com

homogêneas Podem ser obtidas ao incluir num registro outro tipo

de dados construídoExemplo: Registro de Estoque com Baixa semanal

Nome: _____________________________________________

Código: ___________________ Preço: __________________

Baixa

1 2 3 4 5 6

Registro de Conjuntos Declaração:

tipo vDias = vetor [ 1 .. 6 ] de inteiros;tipo regProd = registro

caracter: Nome; inteiro: Código; real: Preço; vDias: Baixa; fimregistro;

regProduto: Produto;Manipulação:

escreva (Produto.Nome);escreva (Produto.Código);escreva (Produto.Preço);escreva (Produto.Baixa [ 1 ]);Produto.Baixa [ 4 ] ¬ 500;

Conjunto de Registros Combinação de estruturas homogêneas com

heterogêneas Podem ser obtidas ao formar um conjunto com outro

tipo de dados construídoExemplo: Ônibus formado por Passagem

Número: 0001

De: ____________________ Para: _______________________

Data: ____ / ____ / _______ Horário: ________ : _________

Poltrona: ____________ Distância: ____________ km

1

2

3

4

44

Conjunto de Registros Declaração:

tipo regPassagem = registrointeiro: Número;caracter: Origem, Destino, Data, Horário;inteiro: Poltrona;real: Distância; fimregistro;

Tipo vetPassagem = vetor [ 1 .. 44 ] de regPassagem;vetPassagem: Ônibus;Manipulação:

leia (Passagem [ 7 ]);escreva (Passagem [ 4 ]);leia (Passagem [12].Origem);escreva (Passagem [21].Destino);Passagem [34].Distância ¬ 500;