VisuAlg Web

Exercícios de Portugol resolvidos no VisuAlg

30 exercícios de Portugol resolvidos no VisuAlg, com explicação passo a passo, código pronto, lógica de programação e exemplos para praticar online.

Apostila prática

Uma lista prática com 30 exercícios resolvidos para quem está aprendendo lógica de programação, Portugol e VisuAlg do zero.

Todos os exemplos têm enunciado, explicação simples, código completo em VisuAlg e botão para testar no editor online.

Abrir editor VisuAlg Web

Como usar esta lista de exercícios

  1. Leia o enunciado.
  2. Tente pensar na solução antes de olhar o código.
  3. Leia a explicação.
  4. Copie ou abra o código no VisuAlg Web.
  5. Rode o algoritmo.
  6. Mude os valores e veja o que acontece.

Índice dos exercícios

Básico: entrada, saída e variáveis

  1. Exercício 1: Escrever uma mensagem na tela
  2. Exercício 2: Ler o nome do usuário
  3. Exercício 3: Somar dois números
  4. Exercício 4: Calcular a média de duas notas
  5. Exercício 5: Converter Celsius para Fahrenheit
  6. Exercício 6: Mostrar antecessor e sucessor

Condicionais

  1. Exercício 7: Verificar se um número é par ou ímpar
  2. Exercício 8: Encontrar o maior de dois números
  3. Exercício 9: Encontrar o maior de três números
  4. Exercício 10: Verificar se o aluno foi aprovado
  5. Exercício 11: Calcular IMC
  6. Exercício 12: Calcular desconto por valor de compra

Repetição

  1. Exercício 13: Contar de 1 até 10
  2. Exercício 14: Fazer tabuada com PARA
  3. Exercício 15: Somar números de 1 até N
  4. Exercício 16: Calcular fatorial
  5. Exercício 17: Fazer contagem regressiva com ENQUANTO
  6. Exercício 18: Criar um menu com REPITA
  7. Exercício 19: Validar senha com tentativas
  8. Exercício 20: Mostrar números pares de 1 até 100

Acumuladores e contadores

  1. Exercício 21: Encontrar maior e menor número de uma lista
  2. Exercício 22: Calcular média de uma turma
  3. Exercício 23: Contar positivos, negativos e zeros
  4. Exercício 24: Gerar sequência de Fibonacci

Vetores

  1. Exercício 25: Preencher e mostrar um vetor
  2. Exercício 26: Somar e calcular média de um vetor
  3. Exercício 27: Encontrar o maior valor de um vetor
  4. Exercício 28: Buscar um número dentro de um vetor

Matrizes

  1. Exercício 29: Preencher e mostrar uma matriz 3x3
  2. Exercício 30: Somar a diagonal principal de uma matriz

Exercícios resolvidos

Exercício 1

Escrever uma mensagem na tela

Enunciado: Crie um algoritmo em Portugol que mostre a mensagem `Olá, mundo!` na tela.

O que ensina: Este é o primeiro contato com a estrutura básica de um algoritmo no VisuAlg. Você aprende a usar `algoritmo`, `inicio`, `escreval` e `fimalgoritmo`.

Exemplo de códigoVisuAlg
algoritmo "OlaMundo"
inicio
  escreval("Olá, mundo!")
fimalgoritmo

Explicação: A linha `escreval` serve para escrever uma mensagem na tela e pular para a próxima linha. Tudo que está entre aspas é tratado como texto.

Desafio extra: Troque a mensagem por uma frase com seu nome.

Abrir este exemplo no VisuAlg Web

Exercício 2

Ler o nome do usuário

Enunciado: Crie um algoritmo que pergunte o nome do usuário e depois mostre uma mensagem de boas-vindas.

O que ensina: Você aprende a criar uma variável do tipo `caractere`, ler uma informação digitada pelo usuário e usar essa informação em uma mensagem.

Exemplo de códigoVisuAlg
algoritmo "LerNome"
var
  nome: caractere
inicio
  escreva("Digite seu nome: ")
  leia(nome)

  escreval("Olá, ", nome, "! Seja bem-vindo ao VisuAlg Web.")
fimalgoritmo

Explicação: A variável `nome` guarda o texto digitado pelo usuário. O comando `leia(nome)` espera a pessoa digitar algo e pressionar Enter.

Desafio extra: Peça também a cidade do usuário e mostre uma frase usando nome e cidade.

Abrir este exemplo no VisuAlg Web

Exercício 3

Somar dois números

Enunciado: Crie um algoritmo que leia dois números inteiros e mostre a soma entre eles.

O que ensina: Você pratica entrada de dados, variáveis numéricas e operação de soma.

Exemplo de códigoVisuAlg
algoritmo "SomarDoisNumeros"
var
  n1, n2, soma: inteiro
inicio
  escreva("Digite o primeiro número: ")
  leia(n1)

  escreva("Digite o segundo número: ")
  leia(n2)

  soma <- n1 + n2

  escreval("A soma é: ", soma)
fimalgoritmo

Explicação: A variável `soma` recebe o resultado de `n1 + n2`. Em Portugol/VisuAlg, o símbolo `<-` significa “recebe”.

Desafio extra: Mostre também a subtração, multiplicação e divisão dos dois números.

Abrir este exemplo no VisuAlg Web

Exercício 4

Calcular a média de duas notas

Enunciado: Crie um algoritmo que leia duas notas de um aluno e mostre a média final.

O que ensina: Você pratica variáveis do tipo `real`, soma, divisão e prioridade de operações.

Exemplo de códigoVisuAlg
algoritmo "MediaDuasNotas"
var
  nota1, nota2, media: real
inicio
  escreva("Digite a primeira nota: ")
  leia(nota1)

  escreva("Digite a segunda nota: ")
  leia(nota2)

  media <- (nota1 + nota2) / 2

  escreval("A média final é: ", media)
fimalgoritmo

Explicação: Os parênteses garantem que as notas sejam somadas antes da divisão por 2. Sem os parênteses, o resultado poderia ficar errado.

Desafio extra: Altere o algoritmo para calcular a média de quatro notas.

Abrir este exemplo no VisuAlg Web

Exercício 5

Converter Celsius para Fahrenheit

Enunciado: Crie um algoritmo que leia uma temperatura em graus Celsius e mostre o valor correspondente em Fahrenheit.

O que ensina: Você pratica fórmula matemática, variáveis reais e atribuição de resultado.

Exemplo de códigoVisuAlg
algoritmo "CelsiusParaFahrenheit"
var
  celsius, fahrenheit: real
inicio
  escreva("Digite a temperatura em Celsius: ")
  leia(celsius)

  fahrenheit <- (celsius * 9 / 5) + 32

  escreval("A temperatura em Fahrenheit é: ", fahrenheit)
fimalgoritmo

Explicação: A variável `fahrenheit` recebe o resultado da fórmula. Como temperatura pode ter casas decimais, usamos o tipo `real`.

Desafio extra: Faça o contrário: leia Fahrenheit e converta para Celsius.

Abrir este exemplo no VisuAlg Web

Exercício 6

Mostrar antecessor e sucessor

Enunciado: Crie um algoritmo que leia um número inteiro e mostre seu antecessor e seu sucessor.

O que ensina: Você pratica operações simples e entende como manipular valores numéricos.

Exemplo de códigoVisuAlg
algoritmo "AntecessorSucessor"
var
  numero, antecessor, sucessor: inteiro
inicio
  escreva("Digite um número inteiro: ")
  leia(numero)

  antecessor <- numero - 1
  sucessor <- numero + 1

  escreval("Antecessor: ", antecessor)
  escreval("Sucessor: ", sucessor)
fimalgoritmo

Explicação: Se o número digitado for 10, o antecessor será 9 e o sucessor será 11.

Desafio extra: Mostre também o dobro e o triplo do número digitado.

Abrir este exemplo no VisuAlg Web

Exercício 7

Verificar se um número é par ou ímpar

Enunciado: Crie um algoritmo que leia um número inteiro e diga se ele é par ou ímpar.

O que ensina: Você pratica estrutura condicional `se/senao` e o operador `mod`, usado para descobrir o resto de uma divisão.

Exemplo de códigoVisuAlg
algoritmo "ParOuImpar"
var
  numero: inteiro
inicio
  escreva("Digite um número inteiro: ")
  leia(numero)

  se numero mod 2 = 0 entao
    escreval("O número é par.")
  senao
    escreval("O número é ímpar.")
  fimse
fimalgoritmo

Explicação: Um número é par quando o resto da divisão por 2 é igual a zero. Por isso usamos `numero mod 2 = 0`.

Desafio extra: Mostre também se o número é positivo, negativo ou zero.

Abrir este exemplo no VisuAlg Web

Exercício 8

Encontrar o maior de dois números

Enunciado: Crie um algoritmo que leia dois números e mostre qual deles é o maior.

O que ensina: Você pratica comparação entre valores e tomada de decisão.

Exemplo de códigoVisuAlg
algoritmo "MaiorDeDois"
var
  n1, n2: real
inicio
  escreva("Digite o primeiro número: ")
  leia(n1)

  escreva("Digite o segundo número: ")
  leia(n2)

  se n1 > n2 entao
    escreval("O maior número é: ", n1)
  senao
    se n2 > n1 entao
      escreval("O maior número é: ", n2)
    senao
      escreval("Os dois números são iguais.")
    fimse
  fimse
fimalgoritmo

Explicação: O algoritmo compara `n1` e `n2`. Se nenhum for maior que o outro, significa que eles são iguais.

Desafio extra: Mostre também qual é o menor número.

Abrir este exemplo no VisuAlg Web

Exercício 9

Encontrar o maior de três números

Enunciado: Crie um algoritmo que leia três números e mostre o maior deles.

O que ensina: Você pratica múltiplas condições e aprende a comparar mais de dois valores.

Exemplo de códigoVisuAlg
algoritmo "MaiorDeTres"
var
  n1, n2, n3, maior: real
inicio
  escreva("Digite o primeiro número: ")
  leia(n1)

  escreva("Digite o segundo número: ")
  leia(n2)

  escreva("Digite o terceiro número: ")
  leia(n3)

  maior <- n1

  se n2 > maior entao
    maior <- n2
  fimse

  se n3 > maior entao
    maior <- n3
  fimse

  escreval("O maior número é: ", maior)
fimalgoritmo

Explicação: Começamos assumindo que `n1` é o maior. Depois comparamos com `n2` e `n3`. Se algum for maior, atualizamos a variável `maior`.

Desafio extra: Modifique o algoritmo para mostrar também o menor dos três números.

Abrir este exemplo no VisuAlg Web

Exercício 10

Verificar se o aluno foi aprovado

Enunciado: Crie um algoritmo que leia duas notas, calcule a média e informe se o aluno foi aprovado, ficou em recuperação ou foi reprovado.

O que ensina: Você pratica média, operadores relacionais e condições encadeadas.

Exemplo de códigoVisuAlg
algoritmo "SituacaoAluno"
var
  nota1, nota2, media: real
inicio
  escreva("Digite a primeira nota: ")
  leia(nota1)

  escreva("Digite a segunda nota: ")
  leia(nota2)

  media <- (nota1 + nota2) / 2

  escreval("Média: ", media)

  se media >= 7 entao
    escreval("Situação: aprovado")
  senao
    se media >= 5 entao
      escreval("Situação: recuperação")
    senao
      escreval("Situação: reprovado")
    fimse
  fimse
fimalgoritmo

Explicação: A primeira condição verifica se a média é suficiente para aprovação. Se não for, o algoritmo verifica se ainda é caso de recuperação. Se também não for, o aluno está reprovado.

Desafio extra: Altere o programa para ler quatro notas em vez de duas.

Abrir este exemplo no VisuAlg Web

Exercício 11

Calcular IMC

Enunciado: Crie um algoritmo que leia o peso e a altura de uma pessoa e calcule seu IMC.

O que ensina: Você pratica fórmulas com números reais, entrada de dados e condições por faixa de valor.

Exemplo de códigoVisuAlg
algoritmo "CalcularIMC"
var
  peso, altura, imc: real
inicio
  escreva("Digite seu peso em kg: ")
  leia(peso)

  escreva("Digite sua altura em metros: ")
  leia(altura)

  imc <- peso / (altura * altura)

  escreval("Seu IMC é: ", imc)

  se imc < 18.5 entao
    escreval("Classificação: abaixo do peso")
  senao
    se imc < 25 entao
      escreval("Classificação: peso normal")
    senao
      se imc < 30 entao
        escreval("Classificação: sobrepeso")
      senao
        escreval("Classificação: obesidade")
      fimse
    fimse
  fimse
fimalgoritmo

Explicação: O IMC usa peso e altura. Depois do cálculo, o algoritmo compara o resultado com faixas de classificação.

Desafio extra: Mostre uma mensagem diferente para cada faixa de IMC.

Abrir este exemplo no VisuAlg Web

Exercício 12

Calcular desconto por valor de compra

Enunciado: Crie um algoritmo que leia o valor de uma compra e aplique desconto conforme a regra: - Compras abaixo de R$100: sem desconto. - Compras de R$100 até R$499,99: 10% de desconto. - Compras de R$500 ou mais: 15% de desconto.

O que ensina: Você pratica condições por faixa, porcentagem e cálculo de valor final.

Exemplo de códigoVisuAlg
algoritmo "DescontoCompra"
var
  valor, desconto, total: real
inicio
  escreva("Digite o valor da compra: ")
  leia(valor)

  se valor >= 500 entao
    desconto <- valor * 0.15
  senao
    se valor >= 100 entao
      desconto <- valor * 0.10
    senao
      desconto <- 0
    fimse
  fimse

  total <- valor - desconto

  escreval("Valor original: R
quot;, valor) escreval("Desconto: R
quot;, desconto) escreval("Total a pagar: R
quot;, total) fimalgoritmo

Explicação: O algoritmo calcula primeiro o desconto. Depois subtrai esse desconto do valor original para encontrar o total a pagar.

Desafio extra: Adicione uma opção de pagamento à vista com desconto extra de 5%.

Abrir este exemplo no VisuAlg Web

Exercício 13

Contar de 1 até 10

Enunciado: Crie um algoritmo que mostre os números de 1 até 10 usando repetição.

O que ensina: Você aprende a usar o laço `para`, ideal quando sabemos exatamente quantas repetições serão feitas.

Exemplo de códigoVisuAlg
algoritmo "ContarAteDez"
var
  i: inteiro
inicio
  para i de 1 ate 10 faca
    escreval(i)
  fimpara
fimalgoritmo

Explicação: A variável `i` começa em 1 e aumenta automaticamente até chegar em 10. A cada repetição, o algoritmo mostra o valor atual de `i`.

Desafio extra: Altere o algoritmo para contar de 10 até 1.

Abrir este exemplo no VisuAlg Web

Exercício 14

Fazer tabuada com PARA

Enunciado: Crie um algoritmo que leia um número e mostre a tabuada dele de 1 até 10.

O que ensina: Você pratica laço `para`, multiplicação e repetição com saída formatada.

Exemplo de códigoVisuAlg
algoritmo "Tabuada"
var
  numero, i, resultado: inteiro
inicio
  escreva("Digite um número para ver a tabuada: ")
  leia(numero)

  para i de 1 ate 10 faca
    resultado <- numero * i
    escreval(numero, " x ", i, " = ", resultado)
  fimpara
fimalgoritmo

Explicação: A variável `i` vai de 1 até 10. Em cada repetição, multiplicamos `numero` por `i` e mostramos o resultado.

Desafio extra: Faça a tabuada ir de 1 até 20.

Abrir este exemplo no VisuAlg Web

Exercício 15

Somar números de 1 até N

Enunciado: Crie um algoritmo que leia um número inteiro `N` e calcule a soma de todos os números de 1 até `N`.

O que ensina: Você pratica acumulador, que é uma variável usada para guardar uma soma ao longo das repetições.

Exemplo de códigoVisuAlg
algoritmo "SomaAteN"
var
  n, i, soma: inteiro
inicio
  escreva("Digite um número inteiro positivo: ")
  leia(n)

  soma <- 0

  para i de 1 ate n faca
    soma <- soma + i
  fimpara

  escreval("A soma de 1 até ", n, " é: ", soma)
fimalgoritmo

Explicação: A variável `soma` começa em zero. A cada volta do laço, somamos o valor atual de `i` ao que já estava guardado.

Desafio extra: Mostre também a média dos números de 1 até `N`.

Abrir este exemplo no VisuAlg Web

Exercício 16

Calcular fatorial

Enunciado: Crie um algoritmo que leia um número inteiro e calcule seu fatorial.

O que ensina: Você pratica repetição e acumulador multiplicativo.

Exemplo de códigoVisuAlg
algoritmo "Fatorial"
var
  n, i, fatorial: inteiro
inicio
  escreva("Digite um número inteiro positivo: ")
  leia(n)

  fatorial <- 1

  para i de 1 ate n faca
    fatorial <- fatorial * i
  fimpara

  escreval("O fatorial de ", n, " é: ", fatorial)
fimalgoritmo

Explicação: O fatorial começa em 1 porque multiplicar por zero deixaria o resultado sempre zero. Depois multiplicamos pelos números de 1 até `n`.

Desafio extra: Mostre o cálculo passo a passo na tela.

Abrir este exemplo no VisuAlg Web

Exercício 17

Fazer contagem regressiva com ENQUANTO

Enunciado: Crie um algoritmo que faça uma contagem regressiva de 10 até 0 usando `enquanto`.

O que ensina: Você aprende a usar o laço `enquanto`, que repete enquanto uma condição for verdadeira.

Exemplo de códigoVisuAlg
algoritmo "ContagemRegressiva"
var
  contador: inteiro
inicio
  contador <- 10

  enquanto contador >= 0 faca
    escreval(contador)
    contador <- contador - 1
  fimenquanto

  escreval("Fim da contagem!")
fimalgoritmo

Explicação: O contador começa em 10. A cada repetição ele diminui 1. Quando fica menor que zero, a condição deixa de ser verdadeira e o laço termina.

Desafio extra: Peça ao usuário o número inicial da contagem regressiva.

Abrir este exemplo no VisuAlg Web

Exercício 18

Criar um menu com REPITA

Enunciado: Crie um algoritmo com menu simples que continue aparecendo até o usuário escolher a opção de sair.

O que ensina: Você pratica `repita ate`, que executa o bloco pelo menos uma vez antes de testar a condição de parada.

Exemplo de códigoVisuAlg
algoritmo "MenuComRepita"
var
  opcao: inteiro
inicio
  repita
    escreval("==== MENU ====")
    escreval("1 - Dizer olá")
    escreval("2 - Mostrar mensagem")
    escreval("0 - Sair")
    escreva("Escolha uma opção: ")
    leia(opcao)

    se opcao = 1 entao
      escreval("Olá! Seja bem-vindo.")
    senao
      se opcao = 2 entao
        escreval("Você está aprendendo Portugol no VisuAlg Web.")
      senao
        se opcao <> 0 entao
          escreval("Opção inválida.")
        fimse
      fimse
    fimse

    escreval("")
  ate opcao = 0

  escreval("Programa encerrado.")
fimalgoritmo

Explicação: O menu aparece pelo menos uma vez. Ele só para quando a opção digitada for `0`.

Desafio extra: Adicione uma terceira opção ao menu.

Abrir este exemplo no VisuAlg Web

Exercício 19

Validar senha com tentativas

Enunciado: Crie um algoritmo que peça uma senha. O usuário tem até 3 tentativas para acertar.

O que ensina: Você pratica laço `enquanto`, contador de tentativas, condição composta e controle de fluxo.

Exemplo de códigoVisuAlg
algoritmo "ValidarSenha"
var
  senha: caractere
  tentativas: inteiro
  acertou: logico
inicio
  tentativas <- 0
  acertou <- falso

  enquanto (tentativas < 3) e (acertou = falso) faca
    escreva("Digite a senha: ")
    leia(senha)

    se senha = "1234" entao
      acertou <- verdadeiro
    senao
      tentativas <- tentativas + 1
      escreval("Senha incorreta. Tentativas usadas: ", tentativas)
    fimse
  fimenquanto

  se acertou entao
    escreval("Acesso permitido.")
  senao
    escreval("Acesso bloqueado.")
  fimse
fimalgoritmo

Explicação: O laço continua enquanto o usuário ainda tiver tentativas e não tiver acertado a senha.

Desafio extra: Permita que o usuário cadastre a senha antes de tentar acessar.

Abrir este exemplo no VisuAlg Web

Exercício 20

Mostrar números pares de 1 até 100

Enunciado: Crie um algoritmo que mostre todos os números pares entre 1 e 100.

O que ensina: Você pratica repetição, operador `mod` e filtragem de valores.

Exemplo de códigoVisuAlg
algoritmo "ParesDeUmACem"
var
  i: inteiro
inicio
  para i de 1 ate 100 faca
    se i mod 2 = 0 entao
      escreval(i)
    fimse
  fimpara
fimalgoritmo

Explicação: O algoritmo percorre todos os números de 1 até 100. Só mostra o número quando ele é divisível por 2.

Desafio extra: Altere o algoritmo para mostrar apenas os números ímpares.

Abrir este exemplo no VisuAlg Web

Exercício 21

Encontrar maior e menor número de uma lista

Enunciado: Crie um algoritmo que leia 5 números e mostre o maior e o menor valor digitado.

O que ensina: Você aprende a atualizar variáveis de controle durante uma repetição.

Exemplo de códigoVisuAlg
algoritmo "MaiorEMenor"
var
  i, numero, maior, menor: inteiro
inicio
  para i de 1 ate 5 faca
    escreva("Digite o ", i, "º número: ")
    leia(numero)

    se i = 1 entao
      maior <- numero
      menor <- numero
    senao
      se numero > maior entao
        maior <- numero
      fimse

      se numero < menor entao
        menor <- numero
      fimse
    fimse
  fimpara

  escreval("Maior número: ", maior)
  escreval("Menor número: ", menor)
fimalgoritmo

Explicação: No primeiro número digitado, o algoritmo define maior e menor com o mesmo valor. Depois compara os próximos números com esses valores.

Desafio extra: Permita que o usuário escolha quantos números deseja digitar.

Abrir este exemplo no VisuAlg Web

Exercício 22

Calcular média de uma turma

Enunciado: Crie um algoritmo que leia a nota de 5 alunos e calcule a média da turma.

O que ensina: Você pratica acumulador com números reais e repetição com quantidade fixa.

Exemplo de códigoVisuAlg
algoritmo "MediaTurma"
var
  i: inteiro
  nota, soma, media: real
inicio
  soma <- 0

  para i de 1 ate 5 faca
    escreva("Digite a nota do aluno ", i, ": ")
    leia(nota)
    soma <- soma + nota
  fimpara

  media <- soma / 5

  escreval("A média da turma é: ", media)
fimalgoritmo

Explicação: A variável `soma` acumula todas as notas. Ao final, dividimos por 5 para encontrar a média.

Desafio extra: Conte quantos alunos ficaram acima da média da turma.

Abrir este exemplo no VisuAlg Web

Exercício 23

Contar positivos, negativos e zeros

Enunciado: Crie um algoritmo que leia 10 números e conte quantos são positivos, negativos e iguais a zero.

O que ensina: Você pratica contadores e classificação de valores.

Exemplo de códigoVisuAlg
algoritmo "ContarTiposDeNumeros"
var
  i, numero, positivos, negativos, zeros: inteiro
inicio
  positivos <- 0
  negativos <- 0
  zeros <- 0

  para i de 1 ate 10 faca
    escreva("Digite o ", i, "º número: ")
    leia(numero)

    se numero > 0 entao
      positivos <- positivos + 1
    senao
      se numero < 0 entao
        negativos <- negativos + 1
      senao
        zeros <- zeros + 1
      fimse
    fimse
  fimpara

  escreval("Positivos: ", positivos)
  escreval("Negativos: ", negativos)
  escreval("Zeros: ", zeros)
fimalgoritmo

Explicação: Cada contador começa em zero. Conforme os números são lidos, o contador correspondente aumenta em 1.

Desafio extra: Mostre também a porcentagem de números positivos.

Abrir este exemplo no VisuAlg Web

Exercício 24

Gerar sequência de Fibonacci

Enunciado: Crie um algoritmo que mostre os primeiros 10 termos da sequência de Fibonacci.

O que ensina: Você pratica atualização de variáveis e entende como gerar uma sequência numérica.

Exemplo de códigoVisuAlg
algoritmo "Fibonacci"
var
  i, termo1, termo2, proximo: inteiro
inicio
  termo1 <- 0
  termo2 <- 1

  escreval(termo1)
  escreval(termo2)

  para i de 3 ate 10 faca
    proximo <- termo1 + termo2
    escreval(proximo)

    termo1 <- termo2
    termo2 <- proximo
  fimpara
fimalgoritmo

Explicação: Cada novo termo é a soma dos dois anteriores. Depois de calcular o próximo termo, atualizamos as variáveis para continuar a sequência.

Desafio extra: Peça ao usuário quantos termos ele deseja mostrar.

Abrir este exemplo no VisuAlg Web

Exercício 25

Preencher e mostrar um vetor

Enunciado: Crie um algoritmo que leia 5 números, guarde em um vetor e depois mostre todos os valores digitados.

O que ensina: Você aprende a declarar vetor, preencher posições e percorrer os valores armazenados.

Exemplo de códigoVisuAlg
algoritmo "VetorBasico"
var
  numeros: vetor[1..5] de inteiro
  i: inteiro
inicio
  para i de 1 ate 5 faca
    escreva("Digite o valor da posição ", i, ": ")
    leia(numeros[i])
  fimpara

  escreval("Valores digitados:")

  para i de 1 ate 5 faca
    escreval("Posição ", i, ": ", numeros[i])
  fimpara
fimalgoritmo

Explicação: O vetor `numeros` tem 5 posições. Usamos `numeros[i]` para acessar cada posição conforme o valor de `i` muda no laço.

Desafio extra: Mostre os valores na ordem inversa.

Abrir este exemplo no VisuAlg Web

Exercício 26

Somar e calcular média de um vetor

Enunciado: Crie um algoritmo que leia 5 notas em um vetor, calcule a soma e mostre a média.

O que ensina: Você combina vetor, repetição, acumulador e média.

Exemplo de códigoVisuAlg
algoritmo "MediaVetor"
var
  notas: vetor[1..5] de real
  i: inteiro
  soma, media: real
inicio
  soma <- 0

  para i de 1 ate 5 faca
    escreva("Digite a nota ", i, ": ")
    leia(notas[i])
    soma <- soma + notas[i]
  fimpara

  media <- soma / 5

  escreval("Soma das notas: ", soma)
  escreval("Média das notas: ", media)
fimalgoritmo

Explicação: Cada nota é guardada em uma posição do vetor. Ao mesmo tempo, a variável `soma` acumula as notas para calcular a média no final.

Desafio extra: Depois de calcular a média, mostre quais notas ficaram acima da média.

Abrir este exemplo no VisuAlg Web

Exercício 27

Encontrar o maior valor de um vetor

Enunciado: Crie um algoritmo que leia 5 números em um vetor e mostre o maior valor e a posição em que ele está.

O que ensina: Você aprende a percorrer um vetor procurando um valor específico.

Exemplo de códigoVisuAlg
algoritmo "MaiorValorVetor"
var
  numeros: vetor[1..5] de inteiro
  i, maior, posicaoMaior: inteiro
inicio
  para i de 1 ate 5 faca
    escreva("Digite o valor da posição ", i, ": ")
    leia(numeros[i])
  fimpara

  maior <- numeros[1]
  posicaoMaior <- 1

  para i de 2 ate 5 faca
    se numeros[i] > maior entao
      maior <- numeros[i]
      posicaoMaior <- i
    fimse
  fimpara

  escreval("Maior valor: ", maior)
  escreval("Posição do maior valor: ", posicaoMaior)
fimalgoritmo

Explicação: Começamos assumindo que o primeiro valor é o maior. Depois comparamos os outros valores do vetor com ele.

Desafio extra: Mostre também o menor valor e sua posição.

Abrir este exemplo no VisuAlg Web

Exercício 28

Buscar um número dentro de um vetor

Enunciado: Crie um algoritmo que leia 5 números em um vetor. Depois, peça um número para busca e informe se ele existe no vetor.

O que ensina: Você pratica busca simples, variável lógica e laço de repetição.

Exemplo de códigoVisuAlg
algoritmo "BuscarNoVetor"
var
  numeros: vetor[1..5] de inteiro
  i, busca: inteiro
  encontrado: logico
inicio
  para i de 1 ate 5 faca
    escreva("Digite o valor da posição ", i, ": ")
    leia(numeros[i])
  fimpara

  escreva("Digite o número que deseja buscar: ")
  leia(busca)

  encontrado <- falso

  para i de 1 ate 5 faca
    se numeros[i] = busca entao
      encontrado <- verdadeiro
    fimse
  fimpara

  se encontrado entao
    escreval("O número foi encontrado no vetor.")
  senao
    escreval("O número não foi encontrado no vetor.")
  fimse
fimalgoritmo

Explicação: A variável `encontrado` começa como falsa. Se o valor buscado aparecer em alguma posição do vetor, ela passa a ser verdadeira.

Desafio extra: Mostre em qual posição o número foi encontrado.

Abrir este exemplo no VisuAlg Web

Exercício 29

Preencher e mostrar uma matriz 3x3

Enunciado: Crie um algoritmo que leia os valores de uma matriz 3x3 e depois mostre todos os valores na tela.

O que ensina: Você aprende a declarar matriz e usar dois laços de repetição: um para linhas e outro para colunas.

Exemplo de códigoVisuAlg
algoritmo "MatrizTresPorTres"
var
  matriz: vetor[1..3, 1..3] de inteiro
  linha, coluna: inteiro
inicio
  para linha de 1 ate 3 faca
    para coluna de 1 ate 3 faca
      escreva("Digite o valor da posição [", linha, ",", coluna, "]: ")
      leia(matriz[linha, coluna])
    fimpara
  fimpara

  escreval("Matriz digitada:")

  para linha de 1 ate 3 faca
    para coluna de 1 ate 3 faca
      escreva(matriz[linha, coluna], " ")
    fimpara
    escreval("")
  fimpara
fimalgoritmo

Explicação: Uma matriz tem duas dimensões: linha e coluna. Por isso usamos dois laços `para` aninhados.

Desafio extra: Mostre apenas os valores da primeira linha da matriz.

Abrir este exemplo no VisuAlg Web

Exercício 30

Somar a diagonal principal de uma matriz

Enunciado: Crie um algoritmo que leia uma matriz 3x3 e calcule a soma da diagonal principal.

O que ensina: Você pratica matriz, laços aninhados e identificação de posições especiais.

Exemplo de códigoVisuAlg
algoritmo "SomaDiagonalPrincipal"
var
  matriz: vetor[1..3, 1..3] de inteiro
  linha, coluna, soma: inteiro
inicio
  soma <- 0

  para linha de 1 ate 3 faca
    para coluna de 1 ate 3 faca
      escreva("Digite o valor da posição [", linha, ",", coluna, "]: ")
      leia(matriz[linha, coluna])
    fimpara
  fimpara

  para linha de 1 ate 3 faca
    para coluna de 1 ate 3 faca
      se linha = coluna entao
        soma <- soma + matriz[linha, coluna]
      fimse
    fimpara
  fimpara

  escreval("A soma da diagonal principal é: ", soma)
fimalgoritmo

Explicação: A condição `linha = coluna` identifica os elementos da diagonal principal. Sempre que isso acontece, somamos o valor da matriz na variável `soma`.

Desafio extra: Calcule também a soma da diagonal secundária.

Abrir este exemplo no VisuAlg Web

Perguntas comuns

Esses exercícios funcionam no VisuAlg?

Sim. Os exemplos foram escritos no estilo do VisuAlg e podem ser testados no editor online do VisuAlg Web.

A lista é boa para iniciantes?

Sim. A sequência começa com entrada, saída e variáveis antes de chegar em condições, repetições, vetores e matrizes.

Posso copiar os códigos?

Pode. O ideal é copiar, executar, alterar uma linha e observar como o resultado muda para aprender o padrão de lógica.