Estruturas de Dados

18
ESTRUTURAS DE DADOS Algoritmos – Aula 04

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

Page 1: Estruturas de Dados

ESTRUTURAS DE DADOSAlgoritmos – Aula 04

Page 2: Estruturas de Dados

Estruturas de Dados Tópicos

Vetores Matrizes Registros Registro de Conjuntos Conjuntos de Registros

Page 3: Estruturas de Dados

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.

Page 4: Estruturas de Dados

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

Page 5: Estruturas de Dados

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

Page 6: Estruturas de Dados

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

Page 7: Estruturas de Dados

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

Page 8: Estruturas de Dados

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

Page 9: Estruturas de Dados

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;

Page 10: Estruturas de Dados

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

Page 11: Estruturas de Dados

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

Page 12: Estruturas de Dados

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

Page 13: Estruturas de Dados

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

Page 14: Estruturas de Dados

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;

Page 15: Estruturas de Dados

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

Page 16: Estruturas de Dados

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;

Page 17: Estruturas de Dados

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

Page 18: Estruturas de Dados

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;