Você está na página 1de 4

Operaes com matrizes Manipulao dos ndices de uma matriz.

A manipulao dos ndices de uma mtria consiste em uma das maneiras de variar uma matriz (seja vetor ou n dimensional) utilizando-se como ferramenta a lei de formao da matriz. Lembrando que na matriz do tipo vetor temos uma dimenso descrita pela varivel I e no caso do exemplo da matriz bidimensional temos endereo indexado referenciado por dois ndices I e J. Exemplos a) Matriz do tipo vetor Registro 1 2 3 4 5 6 7 8 RENDIMENTO R$ 1560,00 R$ 1480,00 R$ 2300,00 R$ 2450,00 R$ 1700,00 R$ 1340,00 R$ 2300,00 R$ 2450,00 b) Matriz do tipo bidimensional Nome Endereo bairro Telefone 1 2 3 4 5 6 7 8 Linhas de registro

Representada pela instruo: REND[I]

Representada pela instruo: CAD[I,J]

Onde a varivel I corresponde ao Onde as variveis I e J correspondem ao endereo do dado indexado no vetor endereo I linha e J coluna do dado indexado na RE D. matriz CAD.

Obs: A matriz do tipo vetor exemplo (a) pode ser descrito em uma tabela do tipo coluna ou linha diferentemente da matriz do tipo bidimensional, exemplo (b), que somente por ser descrita como uma tabela de dupla entrada.

Exemplo Dada uma matriz A do tipo vetor com 20 elementos numricos reais, deseja-se construir uma nova matriz do mesmo tipo, obedecendo-se a seguinte lei de formao; Se o valor do ndice da matriz for impar deve-se multiplicar o dado armazenado por cinco, se o ndice da matriz for par deve-se dividir o dado armazenado por 2. Ao final do processo deve-se apresentar o contedo da nova matriz.

Entendimento. 1. 2. 3. 4. 5. 6. 7. 8. Iniciar o contador do ndice da matriz de origem (matriz A) Ler os valores associados aos ndices da matriz A. Iniciar o contador para construo da matriz final (matriz B) Verificar se os ndices so pares se sim executar ao 5 se no executar ao 6. Multiplicar o dado armazenado na varivel indexada por cinco Dividir o dado armazenado na varivel indexada por dois Iniciar o contador para construo da matriz final (matriz B) Escrever a matriz B e finalizar o programa.
entrada Sada procedimentos

DIAGRAMA DE BLOCOS
incio

CODIFICAO
programa CONSTRUO_DE_MATRIZ_B var I, R: inteiro A,B: conjunto [1..20] de real incio para I de 1 at 20 passo 1 faa leia A[I] fim_para para I de 1 at 20 passo 1 faa RI 2*(I div 2) se (R <> 0) ento B[I]A[I]*5 seno B[I]A[I]/2 fim_se fim_para para I de 1 at 20 passo 1 faa escreva B[I] fim_para fim

I 1, 20, 1

A[I]

I 1, 20, 1 RI 2 N (I div 2) S

R<>0

B[I]A[I] /2

B[I]A[I]

B[I] fim

Obs: Os mesmos procedimentos so realizados em uma matriz bidimensional, apenas duplicando os procedimentos de leitura e escrita em virtude da dimenso da matriz. Manipulao de elementos de uma matriz.

Outra forma de manipular as matrizes e operando os elementos que compe uma matriz, seja utilizando-se de operaes fundamentais como da combinao de elementos entre matrizes sejam ora por elementos correspondentes ora por elementos que atendam algum requisito de sua lei de formao. Exemplo Escrever um programa que leia os elementos de duas matrizes A e B do mesmos tipo e dimenses (3 linhas e 24 colunas) e construa uma terceira matriz (C) somando os elementos correspondentes das matrizes A e B. Entendimento. 1. 2. 3. 4. 5. 6. 7. 8. Iniciar os contadores dos ndices I e J da matriz de origem (matriz A) Ler os valores associados aos ndices da matriz A. Iniciar os contadores dos ndices I e J da matriz de origem (matriz B) Ler os valores associados aos ndices da matriz B. Iniciar o contador para construo da matriz final (matriz C) Proceder a adio dos elementos que compe as matrizes A e B. Proceder com a construo da matriz final (C). Apresentar a matriz final (C). DIAGRAMA DE BLOCOS
incio A I 1, 3, 1 I 1, 3, 1 J 1, 24, 1 J 1, 24, 1 C[I,J]A[I,J]+B[I,J] A[I,J]

Sada

procedimentos

entrada

I 1, 3, 1 I 1, 3, 1 J 1, 24, 1 J 1, 24, 1 C[I,J]

B[I,J]

fim

CODIFICAO
programa ADIO_DE_MATRIZES var I, J: inteiro A, B, C: conjunto [1..3,1..24] de real incio para I de 1 at 3 passo 1 faa para J de 1 at 24 passo 1 faa leia A[I,J] fim_para fim_para para I de 1 at 3 passo 1 faa para J de 1 at 24 passo 1 faa leia B[I,J] fim_para fim_para para I de 1 at 3 passo 1 faa para J de 1 at 24 passo 1 faa C[I,J]A[I,J]+B[I,J] fim_para fim_para para I de 1 at 3 passo 1 faa para J de 1 at 24 passo 1 faa escreva C[I,J] fim_para fim_para fim