Cursos / Automação Industrial / Lógica de Programação / Aula

arrow_back Aula 13 - Estruturas de dados homogêneas – Matrizes

Sintaxe de Matrizes

Lembra-se da sintaxe para se declarar uma variável homogênea unidimensional do tipo texto (vetor)? Caso você não esteja se recordando, o trecho de código abaixo reapresenta como realizar esse procedimento. No exemplo, define-se uma variável homogênea denominada alunos, cujo tipo é texto e com 10 espaços de armazenamento (índices de 0 até 9).

AخA
1
var alunos := vetor[10]

Agora, observe como realizar a declaração de uma variável bidimensional, também do tipo texto, porém, com 5 linhas e 10 colunas. Observe que o comando que define uma matriz é semelhante ao de declaração de um vetor. A diferença refere-se ao par de números separados por vírgula, pois, para a matriz, são necessários dois valores inteiros a fim de indicar a quantidade de linhas e colunas.

1
1
var matriz_alunos := matriz[5,10]

Lembre-se de que o índice utilizado entre os colchetes de um vetor indica a posição que se deseja acessar na variável. O mesmo vale para as matrizes bidimensionais, com a diferença de que, no caso delas, será necessário informar dois índices: um para a linha e outro para a coluna. Veja como ficaria a sintaxe para acessar a terceira linha e a segunda coluna do vetor matriz_aluno, armazenar o nome de um aluno e, em seguida, escrever na tela o nome armazenado.

4
1
var matriz_alunos := matriz[5,10]
2
# Armazenando um nome de aluno.
3
matriz_alunos[2][1] := " "
4
escreva "O nome do aluno é: {matriz_alunos[2][1]}."

Você recorda que, nos vetores, é possível substituir o índice numérico por uma variável primitiva do tipo inteiro? Assim, é possível utilizar as estruturas de repetição para simplificar a manipulação dos dados de um vetor. A mesma solução vale para as matrizes, no entanto, para acessar todas as posições (espaços da matriz), será necessário utilizar duas estruturas de repetição, pois é imprescindível uma variável de controle para indicar o índice das linhas e outra variável para indicar o índice das colunas.

No exemplo a seguir, considere que cada linha da matriz representa um aluno e que cada coluna representa a nota de uma disciplina. Desse modo, cada linha possui 3 colunas que representarão as notas de 3 disciplinas.

x
1
var notas_de_3disciplinas := matriz[5,3]
2
3
# ler notas de 3 disciplinas para 5 alunos
4
para linha de 0 até 4 faça
5
    para coluna de 0 até 2 faça
6
        escreva "Para o aluno {linha+1} informe a nota da Disciplina {coluna+1}:"
7
        notas_de_3disciplinas[linha][coluna] := leia_inteiro
8
    fim
9
fim
10
11
# imprimir as notas de 3 disciplinas de 5 alunos
12
para linha de 0 até 4 faça
13
    para coluna de 0 até 2 faça
14
        escreva "Aluno {linha+1} - Disciplina {coluna+1} - Nota {notas_de_3disciplinas[linha][coluna]}" 
15
    fim
16
fim

A Figura 04 representa graficamente a matriz notas_de_3disciplinas[][]. Observe que, na lateral esquerda, temos os valores de L1, L2, L3, L4 e L5, que estão associados às linhas de 1 até 5, e, imediatamente ao lado, estão os respectivos índices, que vão de 0 (zero) até 4 e são utilizados para acessar uma dessas linhas. Por exemplo, se você quiser acessar a última linha (L5), será necessário utilizar o índice 4 dentro do primeiro colchete da variável notas_de_3disciplinas[][].

Já na parte superior, há os identificadores C1, C2 e C3, que representam as colunas 1, 2 e 3. Logo abaixo desses identificadores, estão os índices de cada coluna, relativos aos valores de 0 (zero) até 2. Para indicar qual das colunas se deseja acessar, é necessário inserir o respectivo índice no segundo colchete da variável notas_de_3disciplinas[][]. É importante destacar que, ao acessar qualquer posição em uma matriz, você terá de inserir sempre ambos os índices (o de linha e o de coluna) para poder indicar corretamente qual posição se deseja acessar nela.

Figura 04 - Matriz e índices
Matriz e índices

Versão 5.3 - Todos os Direitos reservados