Você está na página 1de 21

Estruturas de dados Homogêneas –

Vetores e matrizes
Introdução

• Até agora estudamos técnicas que nos


permitem resolver uma série de problemas.
Entretanto, devido ao fato de podermos
armazenar um único valor em uma variável
simples, podemos correr o risco de não
conseguirmos resolver certos problemas.
Variáveis compostas homogêneas

• Variáveis compostas homogêneas correspondem a


posições de memória, identificadas por um
mesmo nome, individualizadas por índices e cujo
conteúdo é de mesmo tipo.

• Este tipo de estrutura de dados recebe diversos


nomes, como: variáveis indexadas, variáveis
compostas, arranjos, vetores, matrizes ou arrays.
Vetores ou matrizes de uma
dimensão
• Exemplo:
– O conjunto de 10 notas de alunos de uma
disciplina pode constituir uma variável
composta. Ao conjunto associa-se o
identificador NOTA que passará a identificar
não uma única posição de memória, mas 10.
– A referência ao conteúdo do n-ésimo elemento
do conjunto será indicada pela notação
NOTA[n], onde n é um número inteiro ou uma
variável numérica contendo um valor inteiro.
Vetores ou matrizes de uma
dimensão
• Supondo-se que em um dado instante a variável composta
NOTA contivesse os seguintes valores.

• NOTA[3] estaria referenciando o terceiro elemento do


conjunto cujo conteúdo é 90.
• É possível, também, a utilização de uma forma de acesso
genérico, através de uma variável que contenha um valor
inteiro.
Vetores ou matrizes de uma
dimensão
• No mesmo conjunto NOTA, esboçado no exemplo
anterior, utilizando-se da variável I, tem-se a possibilidade
de acesso a qualquer uma das notas armazenadas.

• A uma referência à NOTA [I], antes de ser consultada a


variável composta NOTA, I seria substituído pelo seu
conteúdo no dado instante. Neste caso, está-se
referenciando ao elemento do conjunto que tem o índice 6
associado, ou seja, a nota 91.
Vetores ou matrizes de uma
dimensão
• Declarando vetores:
– A declaração de vetores é feita de forma
parecida com a declaração de variáveis simples.

– Entretanto deve-se indicar, entre colchetes, o


tamanho deste vetor.
Vetores ou matrizes de uma
dimensão
• Exemplo:
var
NOTA[1:10]:real
• Onde:
– NOTA é o nome da variável;
– [1:10] é o tamanho do vetor. 1 é o limite inicial e 10 o
limite final e
– real é o tipo de dados que será armazenado no vetor.
Usando vetores

• Para usarmos os vetores, após sua


declaração, devemos usar o seu
nome[índice], onde o índice pode ser uma
constante ou o valor de uma variável, como
visto anteriormente.
Exemplo

• Escrever um programa que armazene as


notas de dez alunos de uma determinada
turma:
• algoritmo:
– declarar as variáveis
– Armazenar os dados
– Imprimir os dados armazenados.
Exemplo
programa VetNotas
var
INDICE : inteiro {índice do vetor}
NOTA[1:10] : real
inicio
para INDICE de 1 até 10 passo 1 faça
escreva “entre com a ”, INDICE, “ nota”
leia NOTA[INDICE]
fim_para
para INDICE de 1 até 10 passo 1 faça
escreva NOTA[INDICE]
fim_para
fim
Matrizes de duas dimensões ou
bidimensional
• As matrizes bidimensionais necessitam de
dois índices para individualização de seus
elementos.
• O primeiro índice representa o número da
linha e o segundo, o número da coluna.
Matrizes de duas dimensões

• Exemplo:
– A variável MATRIZ é constituída por nove
elementos dispostos em três linhas de três
colunas cada:
Matriz
Matrizes de duas dimensões

• MATRIZ[2 , 2] referencia o elemento da


segunda linha e segunda coluna, cujo
conteúdo é 14;
• MATRIZ[2 , 3] referenda o elemento da
segunda linha e terceira coluna, cujo
conteúdo é 37.
Matrizes de duas dimensões

• Declarando matrizes bidimensionais.


– A declaração de matrizes é feita de forma
parecida com a declaração de vetores.

– Entretanto deve-se indicar, entre colchetes, o


tamanho da linha e coluna.
Matrizes de duas dimensões

• Exemplo:
var
MATRIZ[1 : 2, 1 : 3 ] : real
• Onde:
– MATRIZ é o nome da variável;
– [1 : 2, 1 : 3] é o tamanho da matriz. 1 : 2 indica o
número de linhas e 1 : 3 indica o número de colunas da
matriz.
– real é o tipo de dados que será armazenado no vetor.
Usando vetores

• Para usarmos as matrizes, após sua


declaração, devemos usar o seu
nome[ilinha, icoluna], onde ilinha é o índice
que indica a linha da matriz e icoluna é o
índice que indica a coluna da matriz.
• Como no caso de vetores, ilinha e icoluna
podem ser constantes ou variáveis.
Exemplo

• Escrever um programa que armazene dados


em uma matriz 3x2.

• algoritmo:
– declarar uma matriz 3x2
– armazenar os dados na matriz
Exemplo
programa Mat
var
LIN : inteiro {índice da linha}
COL : inteiro {índice da coluna}
MAT[1 : 3, 1 : 2] : real
inicio
para LIN de 1 até 3 passo 1 faça
para COL de 1 até 2 passo 1 faça
escreva “entre com um valor”
leia MAT[LIN, COL]
fim_para
fim_para
fim
Exemplo
programa Mat
var
LIN : inteiro {índice da linha}
COL : inteiro {índice da coluna}
MAT[1 : 3, 1 : 2] : real
inicio
LIN  1
enquanto(LIN <= 3) faça
COL  1
enquanto(COL <= 2) faça
escreva “entre com um valor”
leia MAT[LIN, COL]
COL  COL + 1
fim_enquanto
LIN  LIN + 1
fim_enquanto
fim
Matrizes multidimensionais

• O conceito de matrizes bidimensionais é


estendido para as matrizes de n
dimensões.
• Exemplo:
– MAT[1 : 3, 1 : 5,1 : 2] será uma matriz
tridimensional contendo 3 linhas, 5 colunas e 2
filas.

Você também pode gostar