VisuAlg Web

Vetores no Portugol e VisuAlg

Aprenda a declarar vetores no Portugol e VisuAlg, usar índices, ler dados e percorrer posições com PARA. Exemplos executáveis e exercício.

Um vetor armazena vários valores do mesmo tipo sob um nome. Cada posição é acessada por um índice entre colchetes. No Portugol do VisuAlg, notas: vetor[1..4] de real declara quatro posições, numeradas de 1 a 4, para guardar notas com casas decimais.

Declaração e índices

A sintaxe é nome: vetor[inicio..fim] de tipo, na área var. Os limites fazem parte da declaração: vetor[0..3] também tem quatro posições, mas começa em zero. Para o vetor de notas de 1 a 4, o acesso notas[2] representa a segunda posição.

Preencher e ler uma posição

Atribua com notas[1] <- 8.5, receba uma entrada com leia(notas[1]) e mostre com escreval(notas[1]). O exemplo abaixo usa textos: execute e altere um nome para conferir o índice.

Exemplo de códigoVisuAlg
algoritmo "ListaNomes"

var
  nomes: vetor[1..3] de caractere

inicio
  nomes[1] <- "Ana"
  nomes[2] <- "Carlos"
  nomes[3] <- "João"

  escreval("A pessoa na gaveta 2 é: ", nomes[2])

fimalgoritmo

Percorrer um vetor com PARA

Use um contador para visitar cada índice. No próximo exemplo, o laço lê quatro notas e soma os valores. A soma começa em zero antes da repetição. Depois da leitura, outro laço pode mostrar cada nota com escreval(notas[i]). Revise o laço PARA se o contador ainda não estiver claro.

Exemplo de códigoVisuAlg
algoritmo "MediaNotas"

var
  notas: vetor[1..4] de real
  soma: real
  i: inteiro

inicio
  soma <- 0

  // Lendo todas as gavetas rapidamente
  para i de 1 ate 4 faca
    escreva("Digite a nota do aluno ", i, ": ")
    leia(notas[i])
    soma <- soma + notas[i]
  fimpara

  escreval("A média da turma foi: ", soma / 4)

fimalgoritmo
Exemplo de códigoVisuAlg
algoritmo "PercorrerVetor"
var
  valores: vetor[1..3] de inteiro
  i: inteiro
inicio
  valores[1] <- 10
  valores[2] <- 20
  valores[3] <- 30
  para i de 1 ate 3 faca
    escreval("Posição ", i, ": ", valores[i])
  fimpara
fimalgoritmo
Exercício Prático: Crie um vetor de inteiros com 5 posições. Preencha cada um e, em seguida, faça um laço para mostrar os valores guardados.

Erros comuns com vetores

  • Acessar notas[0] ou notas[5] quando a declaração é vetor[1..4].
  • Reiniciar a soma dentro do laço em vez de inicializá-la antes dele.
  • Usar um índice fora do intervalo ou um valor incompatível com o tipo declarado.

Depois de preencher o vetor do exercício, mostre os valores em ordem inversa. Compare sua tentativa com os exercícios de vetores. Para organizar informações em linhas e colunas, o próximo conceito é matrizes.

Exercício: encontrar o maior valor de um vetor

Este caso usa apenas números negativos. O maior valor deve começar com o primeiro elemento do vetor, e não com zero: zero nem faz parte dos dados. Compare os outros elementos com o maior encontrado até o momento.

Exemplo de códigoVisuAlg
algoritmo "MaiorValor"
var
  valores: vetor[1..3] de inteiro
  i, maior: inteiro
inicio
  valores[1] <- -8
  valores[2] <- -3
  valores[3] <- -11
  maior <- valores[1]
  para i de 2 ate 3 faca
    se valores[i] > maior entao
      maior <- valores[i]
    fimse
  fimpara
  escreval("Maior: ", maior)
fimalgoritmo

Saída: Maior: -3. No início, o maior é -8; ao ler -3, ele é atualizado; ao ler -11, permanece -3. Troque os três valores por números iguais e confira que o resultado continua correto. Depois, adapte a comparação para encontrar o menor valor.