A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estruturas de Dados Tópicos Vetores Matrizes Registros

Apresentações semelhantes


Apresentação em tema: "Estruturas de Dados Tópicos Vetores Matrizes Registros"— Transcrição da apresentação:

1 Estruturas de Dados Tópicos Vetores Matrizes Registros
Registro de Conjuntos Conjuntos de Registros

2 Matrizes O que é uma matriz?
Uma estrutura de dados que contém várias variáveis do mesmo tipo Também denominadas Estruturas compostas homogêneas multidimensionais Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo

3 Matrizes Qual a diferença de vetores para matrizes?
Vetores são, na verdade, matrizes de uma única dimensão: Matrizes Vetores 1 3 40 4 6 12 M J K G A C L Z H 1.1 7.5 9.2 8.8 9.0 1.3 5.5 7.9 1 3 4 6 a maria jota

4 Vetores: a quantidade de linhas é sempre 1!
Matrizes As matrizes são, comumente referenciadas através de suas dimensões (quantidade de linhas e colunas) A notação comum é: MxN, onde M é a dimensão vertical (quantidade de linhas) N é dimensão horizontal (quantidade de colunas) Exemplo: 3x3 3x2 2x3 4x1 1x3 Vetores: a quantidade de linhas é sempre 1!

5 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 As colunas variam de 1 até 2 1 2 As linhas variam de 1 até 3 3

6 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 Coluna 1 1 1,1 Para acessar esse elemento, devemos observar qual cruzamento linha x coluna da matriz ele representa 2 3

7 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 Linha 1 Coluna 2 1,1 1,2 1 2 3

8 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 1 Linha 2 Coluna 1 2 3

9 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 2,2 1 Linha 2 Coluna 2 2 3

10 Matrizes Notação Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 2,2 3,1 3,2 1 2 Linha 3 Coluna 2 Linha 3 Coluna 1 3

11 Sintaxe no VisualG Declaração:
<nome_variavel>: vetor [li..lf, ci..cf] de <tipo> Onde: li e lf representam, respectivamente o índice inicial e final das linhas e ci e cf representam, respectivamente o índice inicial e final das colunas

12 Sintaxe no VisualG SALA : vetor [1..4, 1..4] de inteiro;
Declaração - Exemplo: Onde: SALA: Nome da variável criada 1: Limite inicial da primeira e da segunda dimensão 4: Limite final da primeira e da segunda dimensão inteiro: Tipo primitivo base da matriz SALA : vetor [1..4, 1..4] de inteiro;

13 Sintaxe no VisualG Exemplo: Para declarar uma matriz 3x2 de inteiro
algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio ... Linhas: o índice das linhas varia de 1 até 3 Colunas: o índice das colunas varia de 1 até 2

14 Sintaxe no VisualG Preenchendo e acessando uma matriz
As posições das matrizes são identificados pelos índices das linhas e colunas Atribuição direta: Atribuição pelo teclado: <nome_variavel> [<linha>, <coluna>] <- <valor> leia(<nome_variavel> [<linha>, <coluna>])

15 Sintaxe no VisualG Exemplo: 1 2 1 2 3 exMatriz
algoritmo “exemplo_matriz” var inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo exMatriz: vetor [1..3, 1..2] de inteiro 1 2 1 2 3 exMatriz

16 Sintaxe no VisualG Exemplo: 10 1 2 1 2 3 exMatriz
algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 exMatriz

17 Sintaxe no VisualG Exemplo: 1 2 1 2 3 10 7 exMatriz
algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 7 exMatriz

18 Sintaxe no VisualG Exemplo: 1 2 1 2 3 10 7 4 exMatriz
algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 7 4 exMatriz

19 Matrizes - Manipulação
VAR SALA : vetor [1..4, 1..4] de inteiro; A, B : inteiro; Início SALA 7 12 1 SALA [ 2, 3 ] ¬ 5; 10 5 2 SALA [ 3, 2 ] ¬ 6; 6 11 SALA [ 1, 2 ] ¬ 7; 3 A ¬ 4; B ¬ 3; 9 8 4 SALA [ A, B ] ¬ 8; SALA [ A, B-2 ] ¬ 9; SALA [ A-2, B-2 ] ¬ 10; SALA [ B, A ] ¬ 11; SALA [ B-2, A ] ¬ 12;

20 Sintaxe no VisualG Preenchendo uma matriz
Se quisermos atribuir valores a todas as posições da matriz, podemos fazer: algoritmo “preencher_matrizes” var numeros: vetor[1..3, ] de inteiro i: inteiro inicio para i de 1 ate 3 faca //fazer o laço para as linhas a posicao ", i, ", escreva("Digite leia(numeros[i, escreva("Digite leia(numeros[i, valor para 1]) 2]) 1:") a posicao ", i, ", 2:") fimpara fimalgoritmo

21 Sintaxe no VisualG Preenchendo uma matriz
Se quisermos atribuir valores a todas as posições da matriz, podemos fazer:

22 Sintaxe no VisualG Preenchendo uma matriz
Entretanto, à medida que a quantidade de elementos da matriz aumenta, fica complicado fazermos manualmente para todas as posições. O melhor caminho é utilizar laços de repetição!

23 Sintaxe no VisualG Preenchendo uma matriz
Podemos criar um laço de repetição para variar pelas linhas, por exemplo:

24 Sintaxe no VisualG Preenchendo uma matriz
E podemos ainda incluir um laço de repetição para variar pelas colunas também, por exemplo:

25 Sintaxe no VisualG Preenchendo uma matriz Saída:

26 Sintaxe no VisualG Exibindo o conteúdo de uma matriz: ... escreva(“O
valor que está na posição [1,1] é: ”, numeros[1,1]) [1,2] numeros[1,2]) [2,1] numeros[2,1]) [2,2] numeros[2,2]) [3,1] numeros[3,1]) [3,2] numeros[3,2]) fimalgoritmo

27 Sintaxe no VisualG Exibindo o conteúdo de uma matriz Exemplo:
Ou podemos utilizar um laço de repetição para facilitar a exibição dos valores de uma matriz Criando um laço para percorrer as linhas: Exemplo:

28 Sintaxe no VisualG Exibindo o conteúdo de uma matriz
E podemos ainda incluir um laço de repetição para variar pelas colunas também, por exemplo:

29 Matrizes

30 Matrizes Exemplo: Cartão da Loteria Esportiva Jg Coluna 1 Ept Coluna 2
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

31 Matrizes Algoritmo 4.3 – Loteria Esportiva, jogo mais marcado var
loteria : vetor [1..14, 1..3] de caractere; I,J,maisMar,nJogo,marLin : inteiro; inicio maisMar <- 0; para I de 1 ate 14 faca marLin <- 0; para J de 1 ate 3 faca se loteria[ I, J] = “x” entao marLin <- marLin + 1; fimse; fimpara; se marLin > maisMar entao maisMar <- marLin; nJogo <- I; escreva (“Jogo mais marcado: “, nJogo, “com “, maisMar) fimalgoritmo

32 Matrizes Algoritmo 4.4 – Loteria Esportiva, coluna mais marcada var
loteria : vetor [1..14, 1..3] de caractere; I,J,maisMar,nColuna,marCol : inteiro; inicio maisMar <- 0; para J de 1 ate 3 faca marCol <- 0; para I de 1 ate 14 faca se loteria[ I, J] = “x”; então marCol <- marCol + 1; fimse; fimpara; se marCol > maisMar entao maisMar <- marCol; nColuna <- J; escreva (“Coluna mais marcada: “, nColuna, “ com “, maisMar) fimalgoritmo


Carregar ppt "Estruturas de Dados Tópicos Vetores Matrizes Registros"

Apresentações semelhantes


Anúncios Google