Buscar

Matrizes: Estrutura de Dados Homogênea

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 4 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

Disciplina: Lógica de Programação
Professor: Anderson Theobaldo
Aula: 15
Objetivo:
Aprender a trabalhar com estrutura de dados homogênea.
Conteúdo:
Matriz
Estruturas de Dados Homogêneas (Matriz)
Introdução
Matriz é um vetor com mais de uma dimensão.
Imagine uma tabela de 10 linhas e 5 colunas; cada intersecção entre a linha e a coluna terá um endereço (ex.: linha 3, coluna 2) e nesse endereço será armazenado um dado do tipo definido pela matriz.
Assim como no vetor, a matriz terá sempre dados de um mesmo tipo; e o número de elementos que ele poderá armazenar é limitado na declaração da variável do tipo matriz.
Observe, que tanto no vetor quanto na matriz, um espaço é alocado na memória para o armazenamento de todos os elementos da estrutura, independente do usuário utilizar ou não todos os elementos.
Agora, você verá como funciona a declaração de uma matriz, a leitura e a escrita de dados neste tipo de estrutura.
Uma matriz 10X5 (50 elementos) do tipo inteiro:
MX= 
Uma matriz 5X5 (25 elementos) do tipo caractere:
MY =
Uma matriz 3X3 (9 elementos) do tipo caractere:
MZ =
Declaração de matrizes
VARIÁVEIS
MX: ARRANJO [1..10 , 1..5] DE INTEIRO
MY: ARRANJO [1..5 , 1..5] DE CARACTERE
MZ: ARRANJO [0..2 , 0..2] DE CARACTERE
Atribuições
As atribuições de valores em uma matriz é semelhante à atribuição de valores a um vetor, com a diferença de que no índice deverá conter dois números separados por uma vírgula, sendo o primeiro referente à linha e o segundo referente à coluna do elemento.
Você sabe como deve ser solicitado ao usuário o valor dos 50 números inteiros da matriz MX? Observe o exemplo a seguir:
PARA i ← 1 ATÉ 10 FAÇA
	PARA j ← 1 ATÉ 5 FAÇA
		ESCREVA(“Digite o valor do elemento ”, i, “X”, j, “da matriz”)
		LEIA(MX[i,j])
FIMPARA
FIMPARA
Leitura
Vamos imprimir todos os dados da matriz MZ na tela do computador.
PARA i ← 0 ATÉ 2 FAÇA
	PARA j ← 0 ATÉ 2 FAÇA
		ESCREVA(MZ[i,j])
	FIMPARA
	ESCREVA {para pular uma linha}
FIMPARA
Exemplo 1:
Algoritmo para armazenar a temperatura dos últimos dez dias e depois calcular a média das temperaturas armazenadas:
ALGORITIMO “EX01”
VAR
	acct, media	: REAL
	i	: INTEIRO
temp	: ARRANJO[1..10] DE REAL
INÍCIO
	PARA i ← 1 ATÉ 10 FAÇA {armazenamento das dez temperaturas}
		ESCREVA(“Digite a temperatura:”)
		LEIA(temp[i])
	FIMPARA
	{cálculo da média das dez temperaturas armazenadas}
Acct ← 0
	PARA i ← 1 ATÉ 10 FAÇA
		acct ← acct + temp[i]
		media ← acct / 10
		ESCREVA (“A média das temperaturas armazenadas é :”, media)
	FIMPARA
FIMALGORITMO
Exemplo 2:
Este algoritmo escreve 15 números inteiros dentro de um vetor de 15 elementos e depois:
Copia todo o seu conteúdo para um segundo vetor (vet2). 
Copia os elementos na ordem inversa para um terceiro vetor (vet3). 
Copia os números negativos para um quarto vetor vet(4).
ALGORITMO “EX02
VAR
	i,j	: INTEIRO
	vet1, vet2, vet3, vet4 : ARRANJO[1..15] DE INTEIRO
INÍCIO
	PARA i ← 1 ATÉ 15 FAÇA {armazenamento dos valores no vetor1}
		ESCREVA(“Digite a temperatura:”)
		LEIA(vet1[i])
	FIM_PARA
	PARA i ← 1 ATÉ 15 FAÇA {cópia do vetor1 para o vetor2}
		vet2[i] ← vet1[i]
	FIMPARA
	j = 15 {cópia do vetor1 para o vetor3 com os elementos invertidos}	
	PARA i ← 1 ATÉ 15 FAÇA
		VET3[J]← VET1[i]
		j ← j-1
	FIM_PARA;
	J = 1 {cópia dos números negativos do vetor1 para o vetor4}
	PARA i ← 1 ATÉ 15 FAÇA
		SE vet1[i] < 0 ENTÃO
Vet4[j] ← vet1[i]
			j ← j + 1
		FIMSE
	FIMPARA
	PARA i ← 1 ATÉ 15 FAÇA
		ESCREVA(“Vetor1 ”, vet1[i], “ Vetor2 ”, vet2[i], “ Vetor3 ”,vet3[i],
Vetor4 ”, vet4[i])
	FIMPARA
FIMALGORITIMO
Exemplo 3:
Este exemplo explora algumas operações sobre uma matriz 10 X 10 de números reais.
Inicialmente, a matriz é declarada e depois os dados são inseridos nela; seguidamente, teremos um trecho do algoritmo, que retornará a somatória de todos os elementos da matriz, e outros trechos que retornarão: a somatória da diagonal principal; a somatória da diagonal secundária e a impressão de toda a matriz no monitor de vídeo.
ALGORITMO “EX03”
VAR
	i,j		: INTEIRO
	dp, ds, s	: REAL
	matriz	: ARRANJO[1..10 , 1..10] DE REAL
INÍCIO
	PARA i ← 1 ATÉ 10 FAÇA {armazenamento dos valores na matriz}
		PARA j ← 1 ATÉ 10 FAÇA
			ESCREVA(“Digite o elemento ”, i, “X”, j, “da matriz”)
			LEIA(matriz[i,j]
		FIMPARA
	FIMPARA
		
	{somatória dos elementos da matriz}
	S← 0
	PARA i ← 1 ATÉ 10 FAÇA
		PARA j ← 1 ATÉ 10 FAÇA
			s ← s + matriz[i,j]
		FIMPARA
	FIMPARA
	ESCREVA(“A somatória dos elementos da matriz é: ”,s)
	
	dp ← 0 {somatória dos elementos da diagonal principal da matriz}
			
	PARA i ← 1 ATÉ 10 FAÇA
		dp ← dp + matriz[i,i]
	FIMPARA
	ESCREVA(“A somatória dos elementos da diagonal principal da matriz é: ”,dp) 
	{somatória dos elementos da diagonal secundária da matriz}
	ds ← 0
	j ← 10
	PARA i ← 1 ATÉ 10 FAÇA
		ds ← ds + matriz[i,j]
		j ← j - 1
	FIMPARA
	ESCREVA(“A somatória dos elementos da diagonal secundária da matriz é:”,ds)
	{Impressão da matriz no monitor de vídeo}
	PARA i ← 1 ATÉ 10 FAÇA
		PARA j ← 1 ATÉ 10 FAÇA
ESCREVA(matriz[i,j])
	FIMPARA
	FIMPARA
FIMALGORITIMO

Outros materiais