1 / 18

Estruturas de Dados

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

Download Presentation

Estruturas de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estruturas de Dados Algoritmos – Aula 04

  2. Estruturas de Dados • Tópicos • Vetores • Matrizes • Registros • Registro de Conjuntos • Conjuntos de Registros

  3. 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.

  4. 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

  5. Vetores • Manipulação: inteiro: A; VCLASSE [ 7 ] ¬ 6,5; VCLASSE [ 2 ] ¬ 7,8; VCLASSE [ 4 ] ¬ 5,3; leia (A); // supondo que foi informado 6 VCLASSE [ A ] ¬ 9,8; VCLASSE [ A-1 ] ¬ 9,1; leia ( VCLASSE [ A+3 ] ); // supondo que foi informado 4,7 VCLASSE 7,8 5,3 9,1 9,8 6,5 4,7 1 2 3 4 5 6 7 8 9 38 39 40

  6. Vetores Algoritmo 4.1 – Notas acima da média usando variáveis simples iní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.

  7. Vetores Algoritmo 4.2 – Notas acima da média usando vetor iní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.

  8. 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: int SALA [4][5]; Onde: • SALA: Nome da matriz • 4: capacidade da primeira dimensão • 5: capacidade da segunda divisão. • int: Tipo primitivo base da matriz

  9. Matrizes MSALA • Manipulação: 0 1 2 3 IntA, B; SALA [ 1][2] = 5; 7 12 0 SALA [ 2][1]= 6; 10 5 1 SALA [ 0][1 ] = 7; A = 3; 6 11 B = 2; 2 SALA [ A][B ] =8; 9 8 SALA [ A ][B-2 ] = 9; 3 SALA [ A-2 ][B-2 ] = 10; SALA [ B ][ A ] = 11; SALA [ B-2 ][ A ] = 12;

  10. Matrizes • Exemplo: Cartão da Loteria Esportiva

  11. Matrizes Algoritmo 4.3 – Loteria Esportiva, jogo mais marcado int Loteria[14][3]; intI, J, maisMar, nJogo, marLin; maisMar= 0; for(int I = 0; i<14; i++){ marLin=0; for( intJ = 0; j <3; j++){ if(mLoteria[I][J]==1){ marLin = marLin + 1; } } if(marLin> maisMar} { maisMar= marLin; nJogo=I; } } cout << “Jogo mais marcado: " << nJogo << "com " << maisMar;

  12. Matrizes Algoritmo 4.4 – Loteria Esportiva, coluna mais marcada intLoteria [14][ 3]; inteiro I, J, maisMar, nColuna, marCol; maisMar= 0; for(int J=0; J<3; J++){ marCol=0; for(intI=0 ; I<14; I++){ if(mLoteria[ I][J] == 1){ marCol = marCol + 1; } } if(marCol> maisMar){ maisMar= marCol; nColuna= J; } } cout << "Coluna mais marcada: " << nColuna << "com " << maisMar;

  13. Registros • Também denominadas Estruturas compostas heterogêneas • Permitem a manipulação de um conjunto de informações de tipos primitivos diferentes Exemplo: Passagem de ônibus Número: 0001 De: ____________________ Para: _______________________ Data: ____ / ____ / _______ Horário: ________ : _________ Poltrona: ____________ Distância: ____________ km

  14. Registros • Declaração: tiporegPassagem = registro inteiro: 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;

  15. Registro de Conjuntos • Combinação de estruturas heterogêneas com homogêneas • Podem ser obtidas ao incluir num registro outro tipo de dados construído Exemplo: Registro de Estoque com Baixa semanal Nome: _____________________________________________ Código: ___________________ Preço: __________________ Baixa 1 2 3 4 5 6

  16. Registro de Conjuntos • Declaração: tipovDias = vetor [ 1 .. 6 ] de inteiros; tiporegProd = 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;

  17. 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ído Exemplo: Ônibus formado por Passagem Número: 0001 De: ____________________ Para: _______________________ Data: ____ / ____ / _______ Horário: ________ : _________ Poltrona: ____________ Distância: ____________ km 1 2 3 4 44

  18. Conjunto de Registros • Declaração: tiporegPassagem = registro inteiro: Número; caracter: Origem, Destino, Data, Horário; inteiro: Poltrona; real: Distância; fimregistro; TipovetPassagem = 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;

More Related