VisuAlg Web

Matrizes no Portugol e VisuAlg

Entenda matrizes no Portugol e VisuAlg: declaração, acesso por linha e coluna, laços aninhados, exemplos executáveis e exercícios.

Uma matriz organiza valores do mesmo tipo em linhas e colunas. No VisuAlg, ela é declarada como um vetor de duas dimensões: mat: vetor[1..2, 1..2] de inteiro. Para acessar uma célula, informe os dois índices, como mat[2,1]: linha 2, coluna 1.

Declaração e acesso

A primeira dimensão define as linhas e a segunda define as colunas. Uma matriz 2 por 3 possui seis células. Cada índice deve respeitar seu intervalo; mat[linha,coluna] não equivale a mat[linha][coluna] na sintaxe usada aqui.

Exemplo de códigoVisuAlg
algoritmo "Matriz2x2"

var
  mat: vetor[1..2, 1..2] de inteiro

inicio
  mat[1,1] <- 10
  mat[1,2] <- 20
  mat[2,1] <- 30
  mat[2,2] <- 40

  escreval("O valor na linha 2, coluna 1 é: ", mat[2,1])

fimalgoritmo

Para varrer uma matriz inteira e mostrar no formato de grade, precisamos usar a técnica de laços aninhados (um Laço Para focado na Linha, e um Laço Para dentro dele focado na Coluna).

Exemplo de códigoVisuAlg
algoritmo "Matriz3x3"

var
  m: vetor[1..3, 1..3] de inteiro
  l, c: inteiro

inicio
  para l de 1 ate 3 faca
    para c de 1 ate 3 faca
      m[l,c] <- l + c
      escreva("[", m[l,c]:2, "] ")
    fimpara
    escreval("")
  fimpara

fimalgoritmo
Exercício Prático: Crie uma matriz 3x3 de caracteres preenchida completamente pela letra 'X' e mostre-a desenhada na tela.

Erros comuns e exercício

Não troque linha e coluna, não use índices fora do intervalo e não deixe o mesmo contador controlar os dois laços. Para preencher a matriz do exercício com entradas do usuário, substitua a atribuição por leia(m[l,c]) dentro dos laços.

Revise vetores e o laço PARA. Depois pratique os exercícios de matrizes e observe a aplicação no jogo da velha.