Buscar

Aula 7 - Matrizes_EXIBIR

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

VETORES E MATRIZES
1
MATRIZES
O que é uma matriz?
Uma estrutura de dados que contém várias variáveis do mesmo tipo
Qual a diferença de vetores para matrizes?
Vetores são, na verdade, matrizes de uma única dimensão:
	1	3	4	6
Vetores
	a	maria	jota
Matrizes
	1	3
	40	4
	6	12
	M	J	K
	G	A	C
	L	Z	H
	1.1	7.5	9.2	8.8
	9.0	1.3	5.5	7.9
2
MATRIZES
			
			
			
		
		
		
			
			
	
	
	
	
As matrizes são, comumente referenciadas através de
suas dimensões (quantidade de linhas e colunas)
A notação comum é: MxN, onde
M é a dimensão vertical (quantidade de linhas)
N é dimensão horizontal (quantidade de colunas)
Exemplo:
3x3	3x2	2x3	4x1	1x3
Vetores: a quantidade de linhas é sempre 1!
3
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
		1	2
	1		
	2		
	3		
As linhas variam de 1
até 3
As colunas variam de 1
até 2
4
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
Para acessar esse elemento, devemos observar qual cruzamento linha x coluna da matriz ele representa
		1	2
	1	1,1	
	2		
	3		
Linha 1
Coluna 1
5
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
Linha 1
Coluna 2
		1	2
	1	1,1	1,2
	2		
	3		
6
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
Linha 2
Coluna 1
		1	2
	1	1,1	1,2
	2	2,1	
	3		
7
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
Linha 2
Coluna 2
		1	2
	1	1,1	1,2
	2	2,1	2,2
	3		
8
MATRIZES
Notação
Como referenciar um elemento específico da matriz?
Exemplo: Matriz 3x2 (três linhas e duas colunas)
Linha 3
Coluna 2
		1	2
	1	1,1	1,2
	2	2,1	2,2
	3	3,1	3,2
Linha 3
Coluna 1
9
Declaração:
Onde:
li e lf representam, respectivamente o índice inicial e final das linhas e
ci e cf representam, respectivamente o índice
inicial e final das colunas
SINTAXE NO VISUALG
<nome_variavel>: vetor [li..lf, ci..cf] de <tipo>
10
Exemplo:
Para declarar uma matriz 3x2 de inteiro
SINTAXE NO VISUALG
algoritmo “exemplo_matriz”
var
exMatriz: vetor [1..3, 1..2] de inteiro
inicio
...
Linhas: o índice das linhas varia de 1 até 3
Colunas: o índice das colunas varia de 1 até 2
11
SINTAXE NO VISUALG
Preenchendo e acessando uma matriz
As posições das matrizes são identificados pelos índices das linhas e colunas
Atribuição
<nome_variavel> [<linha>, <coluna>]  <valor>
<nome_variavel> [<linha>, <coluna>] := <valor> leia(<nome_variavel> [<linha>, <coluna>])
12
SINTAXE NO VISUALG
exMatriz: vetor [1..3, 1..2] de inteiro
algoritmo “exemplo_matriz”
var
inicio
exMatriz[1,1]  10
leia(exMatriz[1,2])
exMatriz[3,1] := 4 fimalgoritmo
Exemplo:
		1	2
	1		
	2		
	3		
exMatriz
13
SINTAXE NO VISUALG
algoritmo “exemplo_matriz”
var
exMatriz: vetor [1..3, 1..2] de inteiro
inicio
exMatriz[1,1]  10
leia(exMatriz[1,2])
exMatriz[3,1] := 4 fimalgoritmo
Exemplo:
exMatriz
		1	2
	1	10	
	2		
	3		
14
SINTAXE NO VISUALG
algoritmo “exemplo_matriz”
var
exMatriz: vetor [1..3, 1..2] de inteiro
inicio
exMatriz[1,1]  10
leia(exMatriz[1,2])
exMatriz[3,1] := 4 fimalgoritmo
Exemplo:
exMatriz
		1	2
	1	10	7
	2		
	3		
15
SINTAXE NO VISUALG
algoritmo “exemplo_matriz”
var
exMatriz: vetor [1..3, 1..2] de inteiro
inicio
exMatriz[1,1]  10
leia(exMatriz[1,2])
exMatriz[3,1] := 4 fimalgoritmo
Exemplo:
exMatriz
		1	2
	1	10	7
	2		
	3	4	
16
SINTAXE NO VISUALG
para as linhas
a posicao ”, i, “, 1”:)
a posicao ”, i, “, 2”:)
algoritmo “preencher_matrizes”
var
numeros: vetor[1..3, 1..2] de inteiro
i: inteiro
inicio
para i de 1 ate 3 faca //fazer o laço
escreva(“Digite leia(numeros[i, escreva(“Digite leia(numeros[i,
valor para 1])
valor para 2])
fimpara fimalgoritmo
Preenchendo uma matriz
Se quisermos atribuir valores a todas as posições da matriz, podemos fazer:
17
SINTAXE NO VISUALG
Preenchendo uma matriz
Se quisermos atribuir valores a todas as posições da matriz, podemos fazer:
18
SINTAXE NO VISUALG
Preenchendo uma matriz
Entretanto, à medida que a quantidade de elementos da matriz aumenta, fica complicado fazermos manualmente para todas as posições.
O melhor caminho é utilizar laços de repetição!
19
SINTAXE NO VISUALG
Preenchendo uma matriz
Podemos criar um laço de repetição para variar pelas linhas, por exemplo:
20
SINTAXE NO VISUALG
Preenchendo uma matriz
E podemos ainda incluir	um laço de repetição para variar pelas colunas também, por exemplo:
21
SINTAXE NO VISUALG
Preenchendo uma matriz
Saída:
22
SINTAXE NO VISUALG
...
	escreva(“O	valor	que	está	na	posição	[1,1]	é:	”,	numeros[1,1])
	escreva(“O	valor	que	está	na	posição	[1,2]	é:	”,	numeros[1,2])
	escreva(“O	valor	que	está	na	posição	[2,1]	é:	”,	numeros[2,1])
	escreva(“O	valor	que	está	na	posição	[2,2]	é:	”,	numeros[2,2])
	escreva(“O	valor	que	está	na	posição	[3,1]	é:	”,	numeros[3,1])
	escreva(“O	valor	que	está	na	posição	[3,2]	é:	”,	numeros[3,2])
fimalgoritmo
Exibindo o conteúdo de uma matriz:
23
SINTAXE NO VISUALG
Exibindo o conteúdo de uma matriz
Ou podemos utilizar um laço de repetição para facilitar a exibição dos valores de uma matriz
Criando um laço para percorrer as linhas:
Exemplo:
24
SINTAXE NO VISUALG
Exibindo o conteúdo de uma matriz
E podemos ainda incluir	um laço de repetição para variar pelas colunas também, por exemplo:
25
EXEMPLO 1
Criar um algoritmo que leia uma matriz 3x3 e exiba
a matriz preenchida:
26
EXEMPLO 1
Criar um algoritmo que leia uma matriz 3x3 e exiba
a matriz preenchida:
27
EXEMPLO 1
Saída:
28
EXEMPLO 2
Criar um algoritmo que leia uma matrizes 3x3. Em seguida, exiba a soma dos elementos de cada uma das linhas. Ex:
	1	2	2
	3	2	3
	4	1	1
Soma Linha 1 = 5
Soma Linha 2 = 8
Soma Linha 3 = 6
29
EXEMPLO 2
Resolução:
30
EXEMPLO 2
Saída:
31
EXEMPLO 3
Escreva um algoritmo que leia uma matriz 4x3. Em seguida, receba um novo valor do usuário e verifique se este valor se encontra na matriz. Caso o valor se encontre na matriz, escreva a mensagem “O valor se encontra na matriz”. Caso contrário, escreva a mensagem “O valor NÃO se encontra na matriz”.
32
EXEMPLO 3
33
EXEMPLO 3
Saída:
34
Para quem Matriz e Vetor?
Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema:
-> Você precisa criar um algoritmo que lê o nome e as 4 notas de 50 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Conseguiu imaginar quantas variáveis você vai precisar?
-> Vamos fazer uma conta rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 = ) 200 variáveis para armazenar as 4 notas de cada aluno e por fim, 50 variáveis para armazenar as médias de cada aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar para ler todos os dados do usuário, calcular as médias e apresentar os resultados.
35
Resumo (Matrizes e Vetores)
Vetor (array uni-dimensional) é uma variável que armazena várias variáveis do mesmo tipo. No problema apresentado anteriormente, nós podemos utilizar um vetor de 50 posições para armazenar os nomes dos 50 alunos.
Matriz (array multi-dimensional) é um vetor de vetores. No nosso problema, imagine uma matriz para armazenar as 4 notas de cada um dos 50 alunos. Ou seja, um vetor de 50 posições, e em cada posição do vetor, há outro vetor com 4 posições. Isso é uma matriz.
36
Resumo (Matrizes e Vetores)
37
EXERCÍCIOS
Crie um algoritmo que leia uma matriz	5x5. Em seguida, conte quantos números pares existem na matriz.
Crie um algoritmo que leia uma matriz3x3 e calcule a soma dos valores das colunas da matriz. Ex:
	1	2	2
	3	2	3
	4	1	1
Soma Coluna 1 = 8
Soma Coluna 2 = 5
Soma Coluna 3 = 6
38
EXERCÍCIOS
Crie um algoritmo que calcule a média dos elementos de uma matriz 5x2.
Crie um algoritmo informe qual o maior e qual o menor elemento existente em uma matriz 6x3.
Crie um algoritmo que leia uma matriz 3x3 e crie uma segunda matriz que inverta as linhas e colunas da primeira matriz. Ex:
	1	2	3
	4	5	6
	7	8	9
	1	4	7
	2	5	8
	3	6	9
Matriz
Matriz Invertida
39
EXERCÍCIOS
	1	2
	3	2
	4	1
	5	5
	1	2
	2	4
	5	3
	7	7
	4	4
	1	9
	3	6
	8	5
	11	8
	9	9
	2	11
6. Crie um algoritmo que leia duas matrizes 2x5 e crie uma terceira matriz também 2x5 com o valor da soma dos elementos de mesmo índice. Ex:
Matriz1 +	Matriz2 =	Matriz3
40
EXERCÍCIOS
7. Uma cooperativa de agricultores coletou a temperatura mínima diária de 05 locais de uma região ao longo do mês de maio de 2017. Digitar esses valores (números reais). Valores válidos: entre –10 e 40. Mostrar para cada um dos 05 locais: as temperaturas fornecidas, a temperatura mínima, a máxima e a média das temperaturas do local. Mostrar também a temperatura mínima geral, a máxima geral e a média geral da região. 
41
EXERCÍCIOS
8.No final do semestre, um professor está preparando os conceitos de uma turma com 20 alunos. Foram realizadas duas provas e um trabalho extra-classe, com notas entre 0 e 10, podendo ter decimais. Cada uma das provas vale 40% e o trabalho 20% da nota final. Fornecer: as 3 notas, a nota final e o conceito de cada um dos alunos da turma. Fornecer também a média de cada uma das provas e do trabalho.
Tabela para conversão da nota final em conceito:
Se NF >= 9,0                        conceito A
Se NF < 9,0 e MF >= 7,5       conceito B
Se NF < 7,5 e MF >= 6,0       conceito C
Se NF < 6,0 e MF >= 3,0       conceito R (prova de recuperação)
Se NF < 3,0                           conceito D
42
EXERCÍCIOS
7.	Crie	um	algoritmo	que	calcule	a	soma
dos	valores	da
diagonal	principal	de	uma	matriz	5x5.	Veja	a	diagonal principal da matriz destacada no exemplo abaixo:
SOMA = 10
	1	2	5	1	4
	3	2	4	2	3
	4	1	2	3	7
	5	5	2	4	9
	1	2	4	5	1
43
EXERCÍCIOS
8. Crie um algoritmo que verifique se uma matriz é triangular superior. Uma matriz é triangular superior se todos os elementos abaixo da diagonal principal são iguais a 0.
	1	2	5	1	4
	0	2	4	2	3
	0	0	2	3	7
	0	0	0	4	9
	0	0	0	0	1
44
EXERCÍCIOS
9. Crie um algoritmo que verifique se uma matriz é triangular inferior. Uma matriz é triangular inferior se todos os elementos abaixo da diagonal principal são iguais a 0.
	1	0	0	0	0
	3	2	0	0	0
	4	1	2	0	0
	5	5	2	4	0
	1	2	4	5	1
45
VETORES E MATRIZES
46

Outros materiais