terça-feira, 30 de setembro de 2014

Matrizes

Matrizes são arranjos ordenados que ao contrário dos vetores podem ter n dimensões, sendo que estas dimensões lhes dão o nome n-dimensional . Uma matriz de duas dimensões será chamada bi-dimensional, uma de três dimensões tri-dimensional e assim consecutivamente. Funciona praticamente da mesma forma que um vetor exceto que utilizaremos o número n de índices para acessar um dado que queremos. Para efeitos de estudo por enquanto nos limitaremos somente às matrizes bidimensionais (duas dimensões linha X colunas). Assim se possuimos uma matriz bidimensional de duas linhas e duas colunas:

3 | 4

5 | 6


Consideramos que para acessarmos o valor 3, localizamos o índice por sua linha (1) e coluna (1) , deste modo seu índice é (1,1). O valor quatro por exemplo será (1, 2).

Declaração e inicialização de um matriz

A declaração de uma matriz em português estruturado pode ser da seguinte forma:
tipo Nome_Matriz [tamanho_linha][tamanho_coluna]
Assim temos como exemplo de declarações:
inteiro matriz [10][10]
real media [3][3]
Em uma matriz como o inteiro matriz que criamos acima é criado espaço para 100 elementos (10x10).Criaremos abaixo um algoritmo em que o usuário digita 100 elementos e estes aparecem na tela.
inteiro matriz [10][10]
inteiro i , j (i será o índice linha e j o índice coluna)
para (início: i=0 fim i<10 alteraçãoi+1 )
para (início: j=0 fim j<10 alteraçãoj+1 )
exibe Escreva um número
recebe matriz [i][j]
fecha_para
fecha_para
para (início: i=0 fim i<10 alteraçãoi+1 )
para (início: j=0 fim j<10 alteraçãoj+1 )
exibe Estes são os números digitados:
exibe matriz [i][j]
fecha_para
fecha_para

Operações com matrizes
Soma e subtração entre matrizes
inteiro matriz_A [1,,2,1,,[2]
inteiro matriz_B [2][2]
inteiro matriz_soma [2][2]
para (início: i=0 fim i<2 alteraçãoi+1 )
para (início: j=0 fim j<10 alteraçãoj+1 )
matriz_soma[i][j]= matriz_A [i][j]+ matriz_B [i][j]
fim_para
fim_para

Multiplicação por um escalar
inteiro escalar
inteiro matriz_A [2][2]
inteiro matriz_multiplicação [2][2]
para (início: i=0 fim i<2 alteraçãoi+1 )
para (início: j=0 fim j<2 alteraçãoj+1 )
matriz_multiplicação[i][j]= escalar * matriz_A [i][j]
fim_para
fim_para

Multiplicação entre matrizes
inteiro matriz_A [2][2]
inteiro matriz_B [2][2]
inteiro matriz_multiplicacao [2][2]
para (início: i=0 fim i<2 alteraçãoi+1 )
para (início: j=0 fim j<2 alteraçãoj+1 )
para (início: k=0 fim k<2 alteraçãok+1 )
matriz_multiplicacao[i][j]= matriz_multiplicacao [i][j]+ matriz_A [i][k]*matriz_B[k][j]
fim_para
fim_para

Calcular a diagonal e a transposta
inteiro matriz_A [2][2]
inteiro diagonal=0
para (início: i=0 fim i<2 alteraçãoi+1 )
para (início: j=0 fim j<10 alteraçãoj+1 )
se (i=j)
diagonal= diagonal+ matriz_A [i][j]
fim_se
fim_para
fim_para
inteiro matriz_A [2][2]
inteiro inversa=0
inteiro maximo=2
para (início: i=0 fim i<2 alteraçãoi+1 )
para (início: j=0 fim j<2 alteraçãoj+1 )
se (i+j=(maximo*2)-1)
inversa= inversa + matriz_A [i][j]
fim_se
fim_para
fim_para



http://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/Vetores_e_Matrizes

Nenhum comentário:

Postar um comentário