Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouClara Isabel Godoi Barreto Alterado mais de 6 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.