Você está na página 1de 12

Instituto Federal de Mato Grosso do Sul

Campus Aquidauana
Tecnlogo em Sistemas para Internet

Aula 16: Tipos de Dados


Complexos: Matrizes
Disciplina: Algoritmos

*material elaborado pelo Prof Vincius Maeda

Apresentao
Variveis Compostas Homogneas
Multidimensionais
Definio
Declarao
Manipulao
Exemplos
Exerccios

Definio
Imagine o exemplo do prdio de uma
determinada empresa, cujo o mesmo possui um
nmero finito de andares;
Suponha que em cada andar, possua dois
departamentos separados por uma parede;
Para exemplificar, veja a figura a seguir.

Definio
Departamento da Direo e Finanas
Departamento de RH e Treinamento
Departamento de P&D e TI
Departamento Comercial Atacado e Varejo
Departamento de Logstica e Recepo

Prdio da empresa Norte


4

Definio
A partir do exemplo anterior, podemos imaginar
que os departamentos so uma segmentao
direta do prdio e assim formado por uma
estrutura composta multidimensional;
As variveis compostas homogneas
multidimensionais so chamadas de matrizes;
Tambm podem ser consideradas como vetores
de duas dimenses.
5

Declarao (Portugol)
A declarao (criao) de uma matriz no algoritmo se d da
seguinte forma;
nome_da_variavel : vetor [ Li1 .. Lf1, Li2..Lf2 ] de tipo primitivo

Onde,
Li1: representa o limite inicial do vetor da 1 dimenso
Lf1: representa o limite final do vetor da 1 dimenso
Li2: representa o limite inicial do vetor da 2 dimenso
Lf3: representa o limite final do vetor da 2 dimenso
tipo primitivo: representa qualquer um dos tipos bsicos de
dados
6

Declarao (Portugol)
Uma matriz para armazenar as
4 mdias de uma sala com 30
alunos, pode ser declarado da
seguinte forma;

matNota: vetor [1..30,1..4] de


real
A figura ao lado representa a
matriz declarada
anteriormente e com alguns
dados:

8,5

6,5

7,0

8,0

7,0

7,0

7,0

6,5

10

9,0

9,0

10

5,5

7,0

7,5

6,0

6,0

7,5

7,5

8,0

4,5

7,0

8,0

7,5

6,5

7,0

6,5

8,0

8,0

8,0

7,0

8,0

29

9,0

7,0

8,0

8,0

30

7,5

8,0

7,0

7,5

...

Manipulao (Portugol)
Para manipular uma matriz,
devemos especificar o nome
dela e dentro dos colchetes o
nmero das posies
(ndices) da linha e coluna
respectivamente;
O ndice dever ser um
nmero inteiro.
matNota[8,3]

8,5

6,5

7,0

8,0

7,0

7,0

7,0

6,5

10

9,0

9,0

10

5,5

7,0

7,5

6,0

6,0

7,5

7,5

8,0

4,5

7,0

8,0

7,5

6,5

7,0

6,5

8,0

8,0

8,0

7,0

8,0

29

9,0

7,0

8,0

8,0

30

7,5

8,0

7,0

7,5

...

Manipulao (Portugol)
Por exemplo, para inserir um valor na linha 4 e coluna 2 da
matriz, seria da seguinte forma:
matNota[4,2] <- 8,5
Outro exemplo, se desejarmos que o usurio insira um
valor na linha 10 e coluna 1, deveria ser da seguinte forma:
leia(matNota[10,1])
Outro exemplo, se desejarmos mostrar o contedo que
est armazenado na linha 13 e coluna 4 da matriz,
faramos da seguinte forma;
escreva(matNota[13,4])
9

Exemplo
Para entender melhor, aplicaremos um exemplo
com um algoritmo.
O prximo algoritmo busca saber a mdia de
cada aluno de uma classe com 30 alunos sendo
que cada aluno possui 4 notas. Ao final deve ser
mostrado se ele est aprovado ou no.

10

Exemplo Mdia da Classe


(Portugol)
algoritmo "MediaClasse"
var
matNota: vetor[1..30, 1..4] de real
soma, media: real
i, j: inteiro
inicio
para i de 1 ate 30 faca
para j de 1 ate 4 faca
escreva("Informe a ", j, " nota do ", i, " aluno: ")
leia(matNota[i,j])
fimpara
fimpara
para i de 1 ate 30 faca
soma <- 0
para j de 1 ate 4 faca
soma <- soma + matNota[i,j]
fimpara
media <- soma / 4
se (media >= 7) entao
escreval("O ", i, " aluno est aprovado. ")
senao
escreval("O ", i, " aluno est reprovado. ")
fimse
fimpara
fimalgoritmo

11

Exerccios
1. Escreva um algoritmo que leia duas matriz de
5x5 e mostre a somatria numa terceira matriz;
2. Leia uma matriz 10 x 10 e escreva a localizao
(linha e a coluna) do maior valor;
3. Declare uma matriz 5 x 5. Preencha com 1 a
diagonal principal e com 0 os demais elementos.
Escreva ao final a matriz obtida.

12

Você também pode gostar