Você está na página 1de 16

Algoritmos e

Estruturas de Dados I
Matrizes
Profa. Márcia Cristina Moraes
Profa.Milene Selbach Silveira

Material para estudo:


Forbellone, A. e Eberspächer, H. (2005)
 capítulo 4 (conceitos de variáveis compostas homogêneas
e EXERCÍCIOS)
Variáveis Compostas
Multidimensionais
 É um conjunto de dados referenciados por
um nome e que necessita de mais de um
índice para ter seus elementos
individualizados
 As variáveis compostas multidimensionais
podem possuir várias dimensões e a mais
comum é a variável bidimensional (2
dimensões)
 Quando se tem duas dimensões as variáveis
são chamadas de matrizes
Variáveis Compostas
Bidimensionais - Matrizes
 Nas variáveis compostas bidimensionais o
primeiro índice indica a linha e o segundo a
coluna

tabela[0][2]
tabela 0 1 2
referencia o elemento
0 23 55 44 que está na linha 0 e
na coluna 2, ou seja, o
1 12 33 60 elemento 44.
41 5 14 Qual o elemento
2
referenciado por
tabela[2][1]?
Matrizes

 Utilizando-se a variável i e j como índice


de tabela pode-se ter acesso a qualquer
um dos valores armazenados, através da
notação tabela[i][j]
 seja o valor de i = 2 e j = 1 em um
determinado instante, tabela[i][j] tabela
seria substituída por tabela[2][1], 0 1 2
cujo valor é 5 0 23 55 44

1 12 33 60
41 5 14
2
Declaração de Matrizes
 tipo: NomeMatriz[tamLinha][tamColuna]
 NomeMatriz: identificador da variável
 tamLinha: quantidade de linhas
 tamColuna: quantidade de colunas
 Tipo: qualquer tipo conhecido
 Exemplos
▪ inteiro: mat1[2][2]
▪ real: mat2[4][7]
▪ inteiro: tabela[3][3]
Exemplo 1
 Fazer um algoritmo que declara uma matriz
mat[5][2] de inteiros e inicializa todas as
posições da matriz com o valor 1.
Algoritmo Inicializa_Matriz
inteiro: mat [5][2], i, j
Início
Para i de 0 até 4
Início
Para j de 0 até 1
Início
mat[i][j]  1
Fim_para_j
Fim_para_i
Fim
Exemplo 2
 Modifique o algoritmo anterior para que a matriz seja
inicializada com valores informados pelo usuário. Após
a inicialização deve ser impresso o conteúdo da matriz.
Algoritmo Inicializa_Matriz
inteiro: mat [5][2], i, j
Início
Para i de 0 até 4
Início
Para j de 0 até 1
Início
Leia(mat[i][j])
Fim
Fim
Para i de 0 até 4
Início
Para j de 0 até 1
Início
Escreva(“Elemento da linha[”, i, “][“, j, “] =”, mat[i][j])
Fim
Fim
Fim
Exercício 1
 Escrever um algoritmo que leia uma
matriz[3][3] de inteiros e calcule e escreva
a soma de todos os elementos da matriz.
Exercício 2
 Escrever um algoritmo que leia uma
matriz[3][3] de inteiros e calcule e escreva
a soma dos elementos da coluna 2 da matriz.
Exercício 3
 Escrever um algoritmo que leia uma
matriz[5][5] e efetue as somas indicadas,
escrevendo-as:
a) soma dos elementos da linha 3
b) soma dos elementos da coluna 4
c) soma dos elementos da diagonal principal
d) soma dos elementos da diagonal secundária
e) soma dos elementos de toda a matriz
Exercício 4
 Escreva um algoritmo que declara uma
matriz[5][5] de inteiros e um vetor[5] de inteiros.
O algoritmo deve ler os valores necessários para
inicializar a matriz e, feito isto, inicializar cada uma das
posições do vetor com a soma dos elementos de cada
coluna da matriz. Ao final, escrever o conteúdo final
do vetor.
1 2 3 4 5
Por exemplo, considerando 1 2 3 4 5
a matriz[5][5] ao lado: 1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

O vetor gerado teria os seguintes valores:


5 10 15 20 25
Matrizes
com Funções e Procedimentos
Passagem de Matrizes Por
Valor
Procedimento Inicializa_matriz(inteiro: mat[][], taml, tamc)
inteiro: i, j
Início
Para i de 0 até taml-1 Para chamar o
Início procedimento no algoritmo
Para j de 0 até tamc-1 principal seria:
Início
Inicializa_matriz(m,6,6)
mat[i][j]  1
Fim Para o exemplo de m ser
Fim uma matriz com 6 linhas e
Para i de 0 até taml-1 6 colunas.
Início
Para j de 0 até tamc-1
Início
Escreva(“Elemento da matriz[”, i, “][“, j, “] =”, mat[i][j])
Fim
Fim
Fim
Passagem de Matrizes Por
Referência
Procedimento Inicializa_matriz(inteiro: ref mat[][], taml, tamc)
inteiro: i, j
Início
Para i de 0 até taml-1 Para chamar o
Início procedimento no algoritmo
Para j de 0 até tamc-1 principal seria:
Início
Inicializa_matriz(m,6,6)
mat[i][j]  1
Fim Para o exemplo de m ser
Fim uma matriz com 6 linhas e
Para i de 0 até taml-1 6 colunas.
Início
Para j de 0 até tamc-1
Início
Escreva(“Elemento da matriz[”, i, “][“, j, “] =”, mat[i][j])
Fim
Fim
Fim
Exercício 5

 Fazer um algoritmo que declara uma


matriz[4][4] e chama um procedimento que
inicializa todas as colunas das linhas pares
com 0 e todas as colunas das linhas ímpares
com 1. A matriz deve retornar modificada
para o algoritmo principal. Escrever a matriz
no algoritmo principal.
Bibliografia
 Orth, Afonso Inácio. Algoritmos e
Programação. Editora AIO. 2001.
 Forbellone, A. e Eberspacher, H. Lógica
de Programação: A Construção de
Algoritmos e Estruturas de Dados.
Makron Books, São Paulo, 3ª edição.
2005.

Você também pode gostar