VisuAlg Web

Forçando a Saída do Laço

Veja como usar interrompa no VisuAlg para sair de lacos antes do fim, controlar execucoes e tratar condicoes especiais.

Imagine que você está num supermercado olhando 100 prateleiras em busca do seu biscoito favorito. Se você achá-lo na prateleira 3, não faz sentido continuar olhando as outras 97, certo? Para forçar a saída de qualquer laço (Para, Enquanto ou Repita) antes do final programado, usamos o comando interrompa.

Exemplo de codigoVisuAlg
algoritmo "BuscaBiscoito"

var
  i: inteiro

inicio
  para i de 1 ate 100 faca
    escreval("Procurando na prateleira ", i)
    se (i = 3) entao
      escreval("Biscoito encontrado! Indo pro caixa.")
      interrompa // Quebra o laço e salta lá para o fimpara
    fimse
  fimpara

  escreval("Fim da compra.")

fimalgoritmo

O interrompa também é muito útil para prevenir problemas lógicos, como evitar que o sistema continue processando após identificar um dado corrompido ou uma instrução de cancelamento (abortar).

Exemplo de codigoVisuAlg
algoritmo "VerificadorDeDados"

var
  num: inteiro

inicio
  repita
    escreva("Digite números pares (ímpar encerra o sistema): ")
    leia(num)

    se (num MOD 2 <> 0) entao
      escreval("Erro de violação! Parando imediatamente.")
      interrompa
    fimse

    escreval("Número aceito: ", num)
  ate (falso) // Laço teoricamente infinito, dependente do interrompa

fimalgoritmo
Exercício Prático: Crie um laço Enquanto que imprima números de 1 a 50. Faça um 'se' verificar se o número atual é igual a 15, usando o interrompa.