AP1_-_Matrizes

35
Variáveis Compostas Homogêneas Multidimensionais Estruturas de Dados Algoritmos e Programação 1 Danilo Soares Carneiro Instituto de Informática Universidade Federal de Goiás Engenharia de Computação, 2012/1 Danilo Soares Carneiro Estruturas de Dados

Transcript of AP1_-_Matrizes

Variveis Compostas Homogneas Multidimensionais

Estruturas de DadosAlgoritmos e Programao 1 Danilo Soares CarneiroInstituto de Informtica Universidade Federal de Gois

Engenharia de Computao, 2012/1

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Tpicos

1

Variveis Compostas Homogneas Multidimensionais Matrizes Exemplos Exerccios de Fixao

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Tpicos

1

Variveis Compostas Homogneas Multidimensionais Matrizes Exemplos Exerccios de Fixao

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Conjunto homogneo de dados. Mais de uma dimenso. Estrutura composta multidimensional. Analogia: Edifcio, seus andares e seus apartamentos.

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Matriz Nomearemos essa estrutura de matriz. Precisamos:1 2 3

Denir como esse tipo constitudo. Declarar uma ou mais variveis. Associar o tipo a(s) varivel(is).

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisDeclarao de Matrizes tipo identificador = matriz [LI1..LF1, LI2..LF2] de tipo primitivo; Em que: LI1, LF1, LI2, LF2: limites inicial e nal da matriz nas dimenses 1 e 2 respectivamente. tipo primitivo: qualquer um dos tipos bsicos denidos anteriormente. O nmero de dimenses igual ao nmero de intervalos. O nmero de elementos igual ao produto do nmero de elementos de cada dimenso: (LF1 LI1 + 1) (LF2 LI2 + 1) ... (LFn LIn + 1)Danilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisUma Matriz de 2 Dimenses tipo SALA = matriz [1..4, 1..4] de inteiros; SALA: MSALA; Uma Matriz de 3 Dimenses tipo M = matriz [1..3, 2..4, 3..4] de reais; M: MAT; MSALA tem (4 1 + 1) (4 1 + 1) = 16 elementos MAT tem (3 1 + 1) (4 2 + 1) (4 3 + 1) = 18 elementos

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisUma Matriz de 2 Dimenses tipo SALA = matriz [1..4, 1..4] de inteiros; SALA: MSALA; Uma Matriz de 3 Dimenses tipo M = matriz [1..3, 2..4, 3..4] de reais; M: MAT; MSALA tem (4 1 + 1) (4 1 + 1) = 16 elementos MAT tem (3 1 + 1) (4 2 + 1) (4 3 + 1) = 18 elementos

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisUma Matriz de 2 Dimenses tipo SALA = matriz [1..4, 1..4] de inteiros; SALA: MSALA; Uma Matriz de 3 Dimenses tipo M = matriz [1..3, 2..4, 3..4] de reais; M: MAT; MSALA tem (4 1 + 1) (4 1 + 1) = 16 elementos MAT tem (3 1 + 1) (4 2 + 1) (4 3 + 1) = 18 elementos

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisAcessando um apartamento de um edifcio Imagine um apartamento em um edifcio. Para acess-lo, precisamos saber:1 2 3

O nome do edifcio. O andar a ser acessado. O nmero do apartamento.

Acessando uma posio da matriz Com matrizes acontece o mesmo. Podem existir vrias matrizes. Precisamos ento:1 2 3

Determinar qual matriz contm o dado. Especicar a posio do dado nas dimenses da matriz. Dois ndices: linha e coluna, respectivamente.Danilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisAcessando um apartamento de um edifcio Imagine um apartamento em um edifcio. Para acess-lo, precisamos saber:1 2 3

O nome do edifcio. O andar a ser acessado. O nmero do apartamento.

Acessando uma posio da matriz Com matrizes acontece o mesmo. Podem existir vrias matrizes. Precisamos ento:1 2 3

Determinar qual matriz contm o dado. Especicar a posio do dado nas dimenses da matriz. Dois ndices: linha e coluna, respectivamente.Danilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisMatriz MSALA 1 1 2 3 4 Onde: 1, 2, 3, 4: ndices das linhas. 1, 2, 3, 4: ndices das colunas. : MSALA[2,3] 2 3 4

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Matriz MSALA Observando a matriz MSALA, percebemos que: Uma matriz um vetor de vetores. Para percorrer um vetor, o inserimos em um nico lao de repetio e variamos seu ndice. Para percorrer uma matriz, a quantidade de laos de repetio igual ao nmero de dimenses da matriz. Vejamos a matriz de dimenso 3 MAT.

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisMatriz MAT 2 1 2 3 3 Onde: Verde: ndices das linhas (dimenso 1). Vermelho: ndices das colunas (dimenso 2). Azul: ndices da dimenso 3. : MAT[2,3,4]Danilo Soares Carneiro Estruturas de Dados

3

4 1 2 3

2

3

4

4

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Matrizes com mais de duas dimenses So difceis de manipular, visualizar e representar. Matrizes bidimensionais so mais utilizadas, devido a sua relao direta com muitas aplicaes, por exemplo, tabelas.Danilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Tpicos

1

Variveis Compostas Homogneas Multidimensionais Matrizes Exemplos Exerccios de Fixao

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Exemplo 1: Loteria Esportiva Digamos que, dado um carto preenchido, desejamos saber qual o jogo que possui mais marcaes, ou seja, qual dos 14 jogos possui tries ou, se este no existir, duas marcaes. Como cada jogo est disposto em trs parties, temos de avaliar se cada uma delas possui ou no uma marcao (x) e, em seguida, avaliar o prximo jogo do mesmo modo.

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Exemplo 1: Loteria Esportiva (Continuao) Resumindo, para cada linha percorremos todas as colunas e vericamos se a mesma est marcada. Para percorrer a matriz dessa forma, devemos: Fixar a linha. Variar a coluna.

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisAlgoritmo 1: Loteria esportiva, jogo mais marcado1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

inicio / / d e f i n i c a o do t i p o c o n s t r u i d o m a t r i z tipo Loteria = matriz [ 1 . . 1 4 , 1 . . 3 ] de caracteres ; / / d e c l a r a c a o da v a r i a v e l composta do t i p o m a t r i z d e f i n i d o Loteria : mLoteria ; / / d e c l a r a c a o das v a r i a v e i s s i m p l e s inteiro : I , / / i n d i c e para l i n h a J , / / i n d i c e para coluna maisMarcado , / / maior numero de marcadores encontrado numJogo , / / numero do j o g o com mais marcacoes marcacoesLinha ; / / numero de marcacoes em uma linha maisMarcado < 0 ;Danilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas MultidimensionaisAlgoritmo 2: Loteria esportiva, jogo mais marcado1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

para I de 1 ate 14 passo 1 faca marcacoesLinha < 0 ; para J de 1 ate 3 passo 1 faca se ( mLoteria [ I , J ] = " x " ) entao marcacoesLinha < marcacaoesLinha + 1 ; fimse fimpara se ( marcacoesLinha > maisMarcado ) entao inicio maisMarcado < marcacoesLinha ; numJogo < I ; fim fimse fimpara escreva ( " Jogo mais marcado : " , numJogo ) ; escreva ( " Quantidade de marcacaoes " , maisMarcado ) ; fimDanilo Soares Carneiro Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Exemplo 1: Loteria Esportiva (Continuao) E se quisermos descobrir qual foi a coluna mais marcada?

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Exemplo 2 Construa um algoritmo que efetue a leitura, a soma e a impresso do resultado entre duas matrizes inteiras que comportem 25 elementos.

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Algoritmo 3: Soma de duas matrizes1 2 3 4 5 6 7 8 9 10

inicio / / d e f i n i c a o do t i p o c o n s t r u i d o m a t r i z tipo M = matriz [ 1 . . 5 , 1 . . 5 ] de inteiros ; / / d e c l a r a c a o da v a r i a v e l composta do t i p o m a t r i z d e f i n i d o M : MA , MB , MR ; / / d e c l a r a c a o das v a r i a v e i s s i m p l e s inteiro : I , / / i n d i c e para l i n h a J ; / / i n d i c e para coluna

Danilo Soares Carneiro

Estruturas de Dados

Variveis Compostas Homogneas Multidimensionais

Matrizes Exemplos Exerccios de Fixao

Variveis Compostas Multidimensionais

Algoritmo 4: Soma de duas matrizes1 2 3 4 5 6 7 8 9 10

/ / l e i t u r a e soma dos v a l o r e s enquanto ( I