Você está na página 1de 17

Estruturas de

Dados
Aula 4

1
Estruturas
de dados
• Composta por dados homogêneos
– Quando uma estrutura é composta pelo mesmo tipo de
dados
• Composta por dados heterogêneos
– Conjunto em que os elementos não são do mesmo tipo
de dados

2
Matrizes

• O que é uma matriz?


– Uma estrutura de dados que contém variáveis
• Qual a diferença de vetores para matrizes?
– Vetores são, na verdade, são matrizes de uma única
dimensão

3
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 horizontal (quantidade de linhas)
– N é dimensão vertical (quantidade de colunas)
• Exemplo:

4
SINTAXE NO VISUALG
• Declaração:
nome_variavel: vetor [Li..Lf, Ci..Cf] de tipo_dado
• Onde:
– Li e Lf representam, respectivamente o índice inicial e
final das linhas
– Ci e Cf representam, respectivamente o índice inicial e
final das colunas

5
SINTAXE NO VISUALG
• Exemplo:
– Para declarar uma matriz 3x2 de inteiro

6
SINTAXE NO VISUALG
• Preenchendo e acessando uma matriz
– As posições das matrizes são identificados pelos
índices das linhas e colunas
• Atribuição
nome_variavel [linha, coluna] <- valor
nome_variavel [linha, coluna] := valor
• Leitura
leia(nome_variavel [linha, coluna])
• Escrita
escreva(nome_variavel [linha, coluna]) 7
Exemplo
algoritmo “exemplo_matriz_2x2”
var
exMatriz: vetor [1..2, 1..2] de inteiro
inicio
exMatriz[1,1] <- 10
exMatriz[1,2] := 4
leia(exMatriz[2,1])
leia(exMatriz[2,2])
escreval(exMatriz[1,1])
escreval(exMatriz[1,2])
escreval(exMatriz[2,1])
escreval(exMatriz[2,2])
8
fimalgoritmo
SINTAXE NO VISUALG
• Preenchendo uma matriz
– Se quisermos atribuir valores em todas as posições da matriz, podemos fazer:

9
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!

10
SINTAXE NO VISUALG
• Preenchendo uma matriz (única dimensão)
– Podemos criar um laço de repetição para variar as linhas,
por exemplo:

11
SINTAXE NO VISUALG
• Exibindo o conteúdo de uma matriz (única dimensão)
– 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:

12
SINTAXE NO VISUALG
• Preenchendo uma matriz (várias dimensões)
– Podemos ainda incluir um laço de repetição para variar
as colunas também, por exemplo:

13
SINTAXE NO VISUALG
• Exibindo o conteúdo de uma matriz (várias dimensões)
– 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 e as colunas:
• Exemplo:

14
Exemplo
• Criar um programa que leia uma matriz 3x3 e exiba a
matriz preenchida:

15
Exercício:
• Elabore um programa que, dados dois vetores
inteiros de 10 posições, efetue a soma entre os
elementos das posições correspondentes, mostrando
um terceiro vetor resultante.

16
algoritmo "semnome"
var
v1: vetor[1..1,1..10] de inteiro
v2: vetor[1..1,1..10] de inteiro
vSoma: vetor[1..1,1..10] de inteiro
j: inteiro
inicio
para j de 1 ate 10 faca
escreva("Vetor 1 [ 1,",j," ]: ")
leia(v1[1,j])
fimpara
para j de 1 ate 10 faca
escreva("Vetor 2 [ 1,",j," ]: ")
leia(v2[1,j])
fimpara
para j de 1 ate 10 faca
vSoma[1,j] <- v1[1,j] + v2[1,j]
fimpara
escreva("Vetor Soma: [")
para j de 1 ate 10 faca
escreva(vSoma[1,j])
fimpara
escreva(" ]")
17
fimalgoritmo

Você também pode gostar