Definição de matrizes
Uma matriz é uma variável composta homogênea multidimensional. São formadas por uma sequência de variáveis, todas do mesmo tipo, mesmo identificador e alocadas sequencialmente na memória. Uma vez que as variáveis tem o mesmo nome, o que as distingue são índices que referenciam sua localização dentro da estrutura.
Uma variável do tipo matriz precisa de um índice para cada uma de suas dimensões.
Declaração de uma matriz
A declaração de uma matriz pode ser feita, conforme descrito abaixo:
nome: array[dimensao1,dimensao2,dimensao3,...,dimensaon] de tipo
Onde:
- nome é o nome da matriz;
- dimensao1 é a quantidade de linhas;
- dimensao2 é a quantidade de colunas;
- dimensao3 é a profundidade;
- tipo é o tipo de dado da matriz.
Atribuindo valores a uma matriz
Cada elemento de uma matriz pode armazenar um valor. Para armazenar um valor em uma posição especifica da matriz basta executar uma atribuição, informando o número das dimensões.
x[1,5] <- 47
Exemplo de matriz
para i de 1 ate n faça
inicio
para j de 1 ate n faça
inicio
escreva("Digite o número de linha: ", i," e coluna: ", j)
leia (x[i, j])
fim
fim
Mostrando os elementos de uma matriz
para i de 1 ate n faça
inicio
para j de 1 ate n faça
inicio
escreva(x[i, j])
fim
fim
Exercícios
1º) Faça um algoritmo que preencha uma matriz M (2×2), calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento.
Algoritmo Matriz2x2
var
x: array [1..2,1..2] de inteiro
maior: inteiro
início
para i de 1 até 2 faça
inicio
para j de 1 até 2 faça
inicio
leia(x[i, j])
fim
fim
maior <- x[1,1]
para i de 1 até 2 faça
inicio
para j de 1 até 2 faça
inicio
se (x[i, j] > maior) então
início
maior <- mat[i, j]
fim
fim
fim
para i de 1 até 2 faça
inicio
para j de 1 até 2 faça
inicio
resultado[i, j] <- maior * mat[i, j]
fim
fim
para i de 1 até 2 faça
inicio
para j de 1 até 2 faça
inicio
(resultado[i, j])
fim
fim
fim.
2º) Faça um algoritmo que preencha uma matriz 10×3 com as notas de dez alunos em três provas. O algoritmo deverá mostrar um relatório com o número dos alunos (número de linha) e a prova em que cada aluno obteve menor nota. Ao final do relatório, deverá mostrar quantos alunos tiveram menor nota em cada uma das provas: na prova 1, na prova 2 e na prova 3.
Algoritmo Matriz2x2
var
notas: array [1..10,1..3] de inteiro
menor, q1, q2, q3, p_menor, i, j: inteiro
início
para i de 1 até 10 faça
inicio
para j de 1 até 3 faça
inicio
leia(notas[i, j])
fim
fim
q1 <- 0
q2 <- 0
q3 <- 0
para i de 1 até 10 faça
inicio
escreva(i)
menor <- notas [i, 1]
p_menor <- 1
para j de 1 até 3 faça
inicio
se (notas[i, j] < menor) então
início
menor <- notas[i, j]
p_menor <- j
fim
se (p_menor = 1) então
início
q1 <- q1 + 1
fim
se (p_menor = 1) então
início
q2 <- q2 + 1
fim
se (p_menor = 1) então
início
q2 <- q2 + 1
fim
fim
fim
escreva(q1, q2, q3)
fim.
3º) Faça um algoritmo que preencha:
- um vetor com oito posições, contendo nomes de lojas;
- outro vetor com quatro posições, contendo nomes de produtos;
- uma matriz com os preços de todos os produtos em cada loja.
O algoritmo deverá mostrar todas as relações (nome do produto – nome da loja) em que o preço não ultrapasse R$ 120,00.
Algoritmo Matriz2x2
var
lojas: array [1..8] de string
produtos: array [1..4] de string
preços: array [1..8,1..4] de real
i, j: inteiro
início
para j de 1 até 8 faça
início
leia(lojas[j])
fim
para i de 1 até 4 faça
início
leia(produtos[i])
fim
para i de 1 até 4 faça
inicio
para j de 1 até 8 faça
inicio
leia(preços[i, j])
fim
fim
para i de 1 até 4 faça
inicio
para j de 1 até 8 faça
início
se (precos[i, j] < 120) entao
início
escreva(produtos[i], lojas[i])
fim
fim
fim
fim.
4º) Crie um programa que preencha uma matriz 10×20 com números inteiros e some cada uma das linhas, armazenando o resultado das somas em um vetor. A seguir, o programa deverá multiplicar cada elemento da matriz pela soma da linha correspondente e mostrar a matriz resultante.
Was this helpful?
4 / 0