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