Você está na página 1de 19

rof Slonlse Comes

ulsclpllna LsLruLura de uados


varlvels ComposLas
MulLldlmenslonals
Manaus 2011
MaLrlz
2
s esLruLuras mulLldlmenslonals homogneas so
denomlnadas de
V Matr|zes
ossul mals de um lndlce de endereamenLo
V um veLor (array) de duas dlmenses
nalogla numero do andar e aparLamenLo
MaLrlz ueclarao
3
ueclarao da varlvel (em ascal)
V llllobo represenLa o llmlLe lnlclal da llnha da maLrlz
V lfllobo represenLa o llmlLe flnal da llnha da maLrlz
V lColuna represenLa o llmlLe lnlclal da coluna da maLrlz
V lfllobo represenLa o llmlLe flnal da coluna da maLrlz
',7
nomeMatriz1 ,77, iinha..1inha,
iColuna..1Coluna , 41 tipoPrimitivo;
',7
nomeMatriz1 ,77, iinha..1inha,
iColuna..1Coluna , 41 tipoPrimitivo;
',7
nomeMatriz1, nomeMatriz2
,77, iinha..1inha,
iColuna..1Coluna , 41 tipoPrimitivo;
',7
nomeMatriz1, nomeMatriz2
,77, iinha..1inha,
iColuna..1Coluna , 41 tipoPrimitivo;
MaLrlz Lxemplo de ueclarao
4
Lxemplo um maLrlz 3x4 de numeros reals
Var
matriz: array 1..3, 1..4, of real;
Var
matriz: array 1..3, 1..4, of real;
1 78 03 1 24
2 94 32 16 73
3 83 73 20 03
1 2 3 4
lndlces
MaLrlz LnLrada de uados
S
sslm como em veLores para lelLura ou lmpresso
de dados uLlllzase uma esLruLura de repeLlo
(ot lot wbll)
LsLruLura (em ascal)
FJR i := 1 TJ qtdLinhas DJ
FJR j:= 1 TJ qtdColunas DJ
BEGIN
WRITELN(`Digite o valor');
READLN (nomeMatriz ou i, j,);
END;
FJR i := 1 TJ qtdLinhas DJ
FJR j:= 1 TJ qtdColunas DJ
BEGIN
WRITELN(`Digite o valor');
READLN (nomeMatriz ou i, j,);
END;
i,j, i,j,
MaLrlz Salda de uados
6
LsLruLura (em ascal)
Lxemplo
FJR i := 1 TJ qtdLinhas DJ
FJR j:= 1 TJ qtdColunas DJ
BEGIN
WRITELN(nomeMatriz i, j,);
END;
FJR i := 1 TJ qtdLinhas DJ
FJR j:= 1 TJ qtdColunas DJ
BEGIN
WRITELN(nomeMatriz i, j,);
END;
MaLrlz
1
2
3
4
MaLrlz
1
2
3
4
MaLrlz Salda de uados
7
ara lmpresso em formaLo Labulado
Lxemplo
FJR i := 1 TJ qtdLinhas DJ
Begin
FJR j:=1 TJ qtdColunas DJ
write(nomeMatrizi,j,:2);
writeln;
End;
FJR i := 1 TJ qtdLinhas DJ
Begin
FJR j:=1 TJ qtdColunas DJ
write(nomeMatrizi,j,:2);
writeln;
End;
:2 deflne o Lamanho
do campo em 2
:2 deflne o Lamanho
do campo em 2
MaLrlz
1 2
3 4
MaLrlz
1 2
3 4
verlflcando se enLenderam
8
;ual o conLeudo da maLrlz @t 3 x 4 aps a
execuo do algorlLmo a segulr?
...
j := 2;
For i := 1 to 3 do
Begin
Teste i,j,:= 'i';
Teste i,j+2,:= 'i';
Teste i,j-1,:= 'S';
Teste i,j+1,:= 's';
End;
...
...
j := 2;
For i := 1 to 3 do
Begin
Teste i,j,:= 'i';
Teste i,j+2,:= 'i';
Teste i,j-1,:= 'S';
Teste i,j+1,:= 's';
End;
...
1 2 3 4
1 s l s l
2 S l s l
3 s l s l
verlflcando se enLenderam
9
...
j := 2;
For i := 1 to 3 do
Begin
Teste i,j, := 'i';
Teste i,j+2, := 'i';
Teste i,j-1, := 'S';
Teste i,j+1, := 's';
End;
...
...
j := 2;
For i := 1 to 3 do
Begin
Teste i,j, := 'i';
Teste i,j+2, := 'i';
Teste i,j-1, := 'S';
Teste i,j+1, := 's';
End;
...
1
2
3
[
1 2 3 4
2
l
1
2
[
| l
S l s
verlflcando se enLenderam
10
;ual o conLeudo da maLrlz @t aps a execuo
do algorlLmo a segulr?
...
For i := 1 to 3 do
For j := 1 to 3 do
Begin
If i=j then
Teste2 i,j,:= `D';
Else
Teste2 i,j,:= `-';
End;
...
...
For i := 1 to 3 do
For j := 1 to 3 do
Begin
If i=j then
Teste2 i,j,:= `D';
Else
Teste2 i,j,:= `-';
End;
...
1 2 3
1 u
2 u
3 u
MaLrlz dlagonal
C num de llnha e lgual
ao da coluna
Lxerclclo 1
11
Crle um programa que receba nove numeros lnLelros
para preencher uma maLrlz 3x3 (consldere que no
sero lnformados valores dupllcados)
ps crlada a maLrlz o usurlo dlglLar um numero
lnLelro e o programa reLornar uma mensagem
lnformando se o numero enconLrase na maLrlz ou
no
Lxerclclo 2
12
Crle um programa que armazene o nome e 4 noLas
de 3 alunos e lmprlma uma llsLagem conLendo
nome as 4 noLas cada aluno
V Cbserve que esse exerclclo e semelhanLe ao 2 exerclclo
que flzemos sobre veLores
V nesse exerclclo use a esLruLura de maLrlzes e se for
preclso use veLores
embrando a verso em veLor
13
!eanderson ulz Maurlclo Crlando 8alssa
7 623 73 823 623
1 2 3 4 3
70 73 60 63 90
70 30 90 10 33
nomes
noLa1
noLa2
medla
Lxerclclo 2 8esoluo
14
70 73 60 63
40 30 90 10
03 63 7 10
13 00 00 00
90 93 10 83
noLas
lulano
8elLrano
Clclano
Zezlnho
Marlazlnha
alunos
Lxerclclo 2 8esoluo
1S
13 73 60 93 70
00 30 90 10 10
00 63 70 10 80
00 00 83 10 63
noLas
alunos
lulano 8elLrano Clclano Zezlnho Marlazlnha
1 2 3 4 3
1 2 3 4 3
1
2
3
4
Lxerclclo 3
16
Crle uma agenda em pascal que cadasLre o nome
emall LwlLLer e slLe de 10 pessoas Lsse programa
dever lmprlmlr os dados cadasLrados no flnal
nome Lmall 1wlLLer SlLe
1
2
3
4
3
Lxerclclo 3
17
uesenvolva em pascal um programa que
V ela duas maLrlzes ( e 8) do Llpo 3 x 3
V Calcule em uma ouLra maLrlz (8) a mulLlpllcao das
duas maLrlzes anLerlores
V Cu se[a A * 8
8ecorra maLemLlca para segulr o meLodo da
mulLlpllcao de maLrlzes
Lxerclclo 3 nllse do roblema
18
Segulndo o meLodo da mulLlpllcao de maLrlzes
poderlamos escrever as segulnLes expresses
V 8
11
(
11
* 8
11
) + (
12
* 8
21
) + (
13
* 8
31
)
V 8
12
(
11
* 8
12
) + (
12
* 8
22
) + (
13
* 8
32
)
V 8
13
(
11
* 8
13
) + (
12
* 8
23
) + (
13
* 8
33
)
V 8
21
(
21
* 8
11
) + (
22
* 8
21
) + (
23
* 8
31
)
V 8
22
(
21
* 8
12
) + (
22
* 8
21
) + (
23
* 8
32
)
Lxerclclo 3 nllse do roblema
19
ercebese que ao calcular qualquer elemenLo 8l [
V C lndlce de llnha se repeLe na maLrlz
V C lndlce da coluna se repeLe na maLrlz
V coluna e lgual a llnha de 8 e repeLese 3 vezes
Se crlamos um Lercelro lndlce podemos
V 8 l [ l k * 8 k [
V Somando o resulLado da mulLlpllcao aclma em 3
momenLos ou se[a conforme a varlao de

Você também pode gostar