As matrizes são uma evolução do conceito de vetores. Enquanto um vetor possui apenas uma dimensão (uma sequência de posições), uma matriz possui duas dimensões, ou seja, ela é organizada em linhas e colunas.
Podemos imaginar uma matriz como uma tabela. Cada informação é armazenada em uma célula específica, identificada por dois índices: um para a linha e outro para a coluna.
Quando utilizar uma matriz?
As matrizes são muito úteis quando precisamos armazenar informações organizadas em forma de tabela. Alguns exemplos são:
- Notas de vários alunos em várias disciplinas.
- Lugares de uma sala de cinema.
- Um tabuleiro de xadrez.
- Uma agenda semanal.
- Uma planilha de vendas.
Sempre que os dados estiverem organizados em linhas e colunas, uma matriz pode ser uma excelente escolha.
Como funciona uma matriz?
Imagine que desejamos armazenar as notas de três alunos em duas provas.
| Aluno | Prova 1 | Prova 2 |
|---|---|---|
| João | 8,0 | 7,5 |
| Maria | 9,5 | 10,0 |
| Pedro | 6,5 | 8,0 |
Em vez de criar várias variáveis, podemos utilizar uma única matriz.
A declaração da matriz seria:
real notas[3][2]
Observe que existem dois valores entre colchetes.
- O primeiro representa a quantidade de linhas.
- O segundo representa a quantidade de colunas.
Nesse exemplo temos:
- 3 linhas (os alunos).
- 2 colunas (as provas).
Índices da matriz
Assim como acontece nos vetores, os índices das matrizes começam em 0.
Nossa matriz ficaria organizada da seguinte forma:
| Linha | Coluna | Posição |
| 0 | 0 | notas[0][0] |
| 0 | 1 | notas[0][1] |
| 1 | 0 | notas[1][0] |
| 1 | 1 | notas[1][1] |
| 2 | 0 | notas[2][0] |
| 2 | 1 | notas[2][1] |
O primeiro índice indica a linha.
O segundo índice indica a coluna.
Inserindo valores na matriz
Como ainda não conhecemos estruturas de repetição, podemos preencher cada posição manualmente.
programa
{
funcao inicio()
{
real notas[3][2]
notas[0][0] = 8.0
notas[0][1] = 7.5
notas[1][0] = 9.5
notas[1][1] = 10.0
notas[2][0] = 6.5
notas[2][1] = 8.0
escreva("Nota da primeira prova de João: ", notas[0][0], "\n")
escreva("Nota da segunda prova de Maria: ", notas[1][1], "\n")
escreva("Nota da primeira prova de Pedro: ", notas[2][0])
}
}
Perceba que acessamos cada posição informando dois índices.
Outro exemplo
Podemos imaginar uma sala de cinema com 2 fileiras e 3 cadeiras em cada fileira.
Colunas
0 1 2
Linha 0 [A1] [A2] [A3]
Linha 1 [B1] [B2] [B3]
Cada cadeira possui uma posição específica.
Por exemplo:
- A cadeira A1 seria
cadeiras[0][0]. - A cadeira A2 seria
cadeiras[0][1]. - A cadeira B3 seria
cadeiras[1][2].
Diferença entre vetor e matriz
| Vetor | Matriz |
| Possui apenas uma dimensão. | Possui duas dimensões. |
| Utiliza apenas um índice. | Utiliza dois índices. |
| Organiza dados em uma sequência. | Organiza dados em linhas e colunas. |
Resumindo
Uma matriz nada mais é do que um conjunto de vetores organizados em forma de tabela. Cada informação é identificada por uma linha e uma coluna, permitindo armazenar uma quantidade muito maior de dados de forma organizada.
Embora neste momento estejamos preenchendo cada posição manualmente, futuramente aprenderemos estruturas de repetição. Com elas, será possível preencher e consultar todos os elementos de uma matriz de maneira muito mais rápida e eficiente, utilizando poucas linhas de código.
