Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Automação Industrial / Lógica de Programação / Aula
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).
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.
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.
var matriz_alunos := matriz[5,10]
# Armazenando um nome de aluno.
matriz_alunos[2][1] := " "
escreva "O nome do aluno é: {matriz_alunos[2][1]}."
Processando o seu código, por favor aguarde...
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.
var notas_de_3disciplinas := matriz[5,3]
# ler notas de 3 disciplinas para 5 alunos
para linha de 0 até 4 faça
para coluna de 0 até 2 faça
escreva "Para o aluno {linha+1} informe a nota da Disciplina {coluna+1}:"
notas_de_3disciplinas[linha][coluna] := leia_inteiro
fim
fim
# imprimir as notas de 3 disciplinas de 5 alunos
para linha de 0 até 4 faça
para coluna de 0 até 2 faça
escreva "Aluno {linha+1} - Disciplina {coluna+1} - Nota {notas_de_3disciplinas[linha][coluna]}"
fim
fim
Processando o seu código, por favor aguarde...
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.
Versão 5.3 - Todos os Direitos reservados