Dúvidas em algorítmos (iniciante)(VisualG)

Saudações ! Este é meu primeiro post aqui no fórum e estou com um probleminha no meu primeiro algorítmo.

Acabei de terminar um curso no Youtube sobre algorítmos e fiz um para servir de resumo quando eu tiver alguma dúvidas sobre o tema. Porém ele está com um bug ao exibir o procedimento Menu() pela segunda vez, meu VisualG simplesmente surta e me xinga de mil nomes que não entendo quando isso acontece.

Se alguém puder me ajudar, ficarei grato ! Segue o código:

algoritmo "AlgoritmoDeConclusaoDeCursoACC"
// Função: Mostrar as funções aprendidas no curso
// Autor: Rômulo SS
// Editado por: (Pode editar a vontade, so por favor nao retire os creditos do autor. Coloque aqui seu nome)
// Data: 08/04/2017

//     -------------- PROCEDIMENTOS  ------------------
Procedimento Menu(exibi: Inteiro)
inicio
      EscrevaL("+-----------------------------------------------+")
      EscrevaL("| Bem vindo ao algoritmo de conclusao de curso  |")
      EscrevaL("| Escolha um tema para ver sua revisao:         |")
      EscrevaL("+-----------------------------------------------+")
      EscrevaL("|    [1] O que e algoritmo                      |")
      EscrevaL("|    [2] Variaveis e operadores                 |")
      EscrevaL("|    [3] Comandos de saida                      |")
      EscrevaL("|    [4] Comandos de entrada                    |")
      EscrevaL("|    [5] Operadores logicos e relacionais       |")
      EscrevaL("|    [6] Condicionais                           |")
      EscrevaL("|    [7] Repeticoes                             |")
      EscrevaL("|    [8] Procedimentos                          |")
      EscrevaL("|    [9] Funcoes                                |")
      EscrevaL("|    [10] Vetores                               |")
      EscrevaL("|    [11] Matrizes                              |")
      EscrevaL("+-----------------------------------------------+")
      Leia (exibi)
      exibicao <- exibi
      LimpaTela
FimProcedimento

Procedimento Armario()
inicio
                   EscrevaL("+---+---+---+---+---+")
                   EscrevaL("|   |   |   |   |   |")
                   EscrevaL("+---+---+---+---+---+")
                   EscrevaL("|   |   |   |   |   |")
                   EscrevaL("+---+---+---+---+---+")
                   EscrevaL("|   |   |   |   |   |")
                   EscrevaL("+---+---+---+---+---+")
FimProcedimento

Procedimento Armario2()
inicio
                   EscrevaL("numero: inteiro       +---+---+---+---+---+")
                   EscrevaL("numero <- 1           |   |   |   |   |   |")
                   EscrevaL("                      +---+---+---+---+---+")
                   EscrevaL("Valor guardado no --> | 1 |   |   |   |   |")
                   EscrevaL("espaco da memoria.    +---+---+---+---+---+")
                   EscrevaL("                      |   |   |   |   |   |")
                   EscrevaL("                      +---+---+---+---+---+")
FimProcedimento

Procedimento SimOuNao(resp: Inteiro)
var SN: Caractere
inicio
      Escreva("Deseja voltar ao Menu ? [S/N]")
      Leia(SN)
      Se (SN = "s") entao
      varEscolha <- 1
      FimSe
      
      Se (SN = "n") entao
      varEscolha <- 2
      FimSe
      
      Escolha(varEscolha)
      Caso 1
           Menu()
           
      Caso 2
           EscrevaL("Obrigado, ate mais!")
           fimalgoritmo
      FimEscolha
FimProcedimento

// ---------------------- VARIAVEIS GLOBAIS -----------------------

var
   exibicao, varEscolha: Inteiro

// ---------------------- INICIO DO PROGRAMA ----------------------
inicio
      Menu(exibicao)
      Se (exibicao > 11) entao
         EscrevaL("Erro, digite um numero valido")
         fimalgoritmo
      FimSe
      
      // ========= CONDICIONAL ==========
      Escolha (exibicao)
              Caso 1
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[1] O que e algoritmo")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Algoritmo e um conjunto de tarefas que devem ser")
                   EscrevaL("cumpridas para a realizacao de determinada atividade.")
                   EscrevaL("De acordo com o livro 'Algoritmos', citado pelo")
                   EscrevaL("professor Guanabara: 'Algoritmos sao um conjunto de ")
                   EscrevaL("passos finitos e organizados que , quando executados,")
                   EscrevaL("resolvem um determinado problema.'")
                   EscrevaL("Exemplo:")
                   EscrevaL("Uma receita. Ela contem uma serie de passos para se")
                   EscrevaL("chegar a um resultado final. Se um dos passos nao for")
                   EscrevaL("executado ou realizado em ordem errada, a comida nao")
                   EscrevaL("fica pronta.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
              
              Caso 2
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[2] Variaveis e operadores")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("As variaveis sao espacos na memoria que sao utilizados")
                   EscrevaL("para guardar valores predefinidos ou escolhidos pelo")
                   EscrevaL("usuario final. O professor Guanabara usa o exemplo de")
                   EscrevaL("um armario com espacos vazios para se colocar um valor")
                   Armario()
                   EscrevaL("Um espaco na memoria pode ser representado por um lote")
                   EscrevaL("vazio no armario. Vamos declarar uma variavel de nome")
                   EscrevaL("'numero' e valor 1 em um espaco na memoria:")
                   Armario2()
                   EscrevaL("Declara-se uma variavel com:")
                   EscrevaL("NomeDaVariavel: TipoDaVariavel")
                   EscrevaL("Os tipos mais comuns sao Inteiro, Real e Caractere")
                   EscrevaL("Para atribuir um valor a variavel:")
                   EscrevaL("NomeDaVariavel <- Valor")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 3
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[3] Comandos de saida")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Os comandos de saida, como o proprio nome diz, fazem")
                   EscrevaL("a saida de algum comando da maquina para o usuario.")
                   EscrevaL("O melhor exemplo de comando de saida e o:")
                   EscrevaL("Escreva()")
                   EscrevaL("")
                   EscrevaL("Dicas:")
                   EscrevaL("        Variaveis podem ser usadas em comandos de saida.")
                   EscrevaL("                  Escreva(NomeDaVariavel)")
                   EscrevaL("")
                   EscrevaL("Use virgulas para separar parametros")
                   EscrevaL("A letra L no final de escreva vai fazer pular uma linha")
                   EscrevaL("apos a escrita. EscrevaL()")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 4
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[4] Comandos de entrada")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Ao contrario dos comandos de saida, estes fazem a ")
                   EscrevaL("entrada de informacoes do usuario para a maquina.")
                   EscrevaL("Exemplo:")
                   EscrevaL("Leia(NomeDaVariavel)")
                   EscrevaL("Os valores declarados nos comandos de entrada devem")
                   EscrevaL("ser armazenados em variaveis.")
                   EscrevaL("")
                   EscrevaL("Dica:")
                   EscrevaL("Utilize 'Leia' apos 'Escreva' para um resultado")
                   EscrevaL("interessante.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 5
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[5] Operadores logicos e relacionais")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Os operadores logicos e de relacao sao utilizados para")
                   EscrevaL("operacoes matematicas, que sao muito utilizadas na")
                   EscrevaL("programacao. Eles podem ser combinados com numeros")
                   EscrevaL("e variaveis. Segue a lista com exemplos:")
                   EscrevaL("")
                   EscrevaL("[Operadores logicos]         [Relacionais]")
                   EscrevaL("[+ Soma]                     [ x>y   x maior que y  ]")
                   EscrevaL("[- Subtracao]                [ x>y   x menor que y  ]")
                   EscrevaL("[* Multiplicacao]            [ x>=y  maior ou igual ]")
                   EscrevaL("[/ Dividido por]             [ x<=   menor ou igual ]")
                   EscrevaL("[\ Divisao inteira]          [ x=y   igual a        ]")
                   EscrevaL("[^ Elevado a]                ")
                   EscrevaL("[%  Modulo, resto de divisao]")
                   EscrevaL("")
                   EscrevaL("Tambem deve ser levada em consideracao a ordem de")
                   EscrevaL("procedencia, ou seja, em que as operacoes serao ")
                   EscrevaL("realizadas.")
                   EscrevaL("A ordem de procedencia e realizada comecando da esquerda")
                   EscrevaL("para a direita do exemplo:")
                   EscrevaL("() Parenteses, ^ Exponenciacao, * e / Multiplicacao e Divisao,")
                   EscrevaL("+ e - Soma e subtracao.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 6
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[6]Condicionais")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Como o proprio nome sugere, as condicionais fazem o")
                   EscrevaL("papel de condicoes. Imagine duas ruas que levam para")
                   EscrevaL("destinos diferentes, sendo elas Rua1 e Rua2. A Rua1")
                   EscrevaL("leva para um restaurante e a Rua2 leva para o cinema.")
                   EscrevaL("Se voce quiser ir ao restaurante, pegue a Rua1.")
                   EscrevaL("Se voce quiser ir ao cinema, pegue a Rua2.")
                   EscrevaL("")
                   EscrevaL("Em algoritmos as condicionais sao muito uteis e utilizadas")
                   EscrevaL("em quase todos os codigos-fonte. No portugol, existem")
                   EscrevaL("dois exemplos de condicionais: Se e Escolha.")
                   EscrevaL("")
                   EscrevaL("CONDICIONAL 'SE'")
                   EscrevaL("Se (Parametros) entao")
                   EscrevaL("   Comandos")
                   EscrevaL("FimSe")
                   EscrevaL("")
                   EscrevaL("Vamos usar o exemplo da rua considerando os comandos")
                   EscrevaL("Rua1 e Rua2 como procedimentos:")
                   EscrevaL("")
                   EscrevaL("CONDICIONAL 'ESCOLHA'")
                   EscrevaL("Escolha(variavel)")
                   EscrevaL("Caso(valor)")
                   EscrevaL("Comandos")
                   EscrevaL("FimEscolha")
                   EscrevaL("")
                   EscrevaL("O exemplo da rua ficaria assim:")
                   EscrevaL("")
                   EscrevaL("Escolha(escolha)")
                   EscrevaL("Caso 'r'")
                   EscrevaL("     Rua1()")
                   EscrevaL("")
                   EscrevaL("Caso 'c'")
                   EscrevaL("     Rua2()")
                   EscrevaL("")
                   EscrevaL("DICAS")
                   EscrevaL("Na condicional 'SE' pode-se usar senao e ou")
                   EscrevaL("E possivel colocar condicionais dentro de outras")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 7
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[7] Repeticao")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("As estruturas de repeticao repetem uma determinada")
                   EscrevaL("tarefa. Ela pode ser usada para criar contadores, por ex.")
                   EscrevaL("")
                   EscrevaL("Enquanto() faca")
                   EscrevaL("           Comandos")
                   EscrevaL("FimEnquanto")
                   EscrevaL("")
                   EscrevaL("Para() de A ate B faca")
                   EscrevaL("     Comandos")
                   EscrevaL("FimPara")
                   EscrevaL("")
                   EscrevaL("Tambem e possivel combinar repeticoes.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 8
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[9] Procedimentos")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Imagine poder digitar uma unica palavra para realizar")
                   EscrevaL("uma tarefa por diversas vezes. Isso que os procedimentos")
                   EscrevaL("fazem. Basta criar um procedimento, batiza-lo e ser feliz.")
                   EscrevaL("")
                   EscrevaL("Vamos transformar o exemplo do caso 6 no Menu em um procedimento:")
                   EscrevaL("Procedimento RestauranteOuCinema(escol: caractere)")
                   EscrevaL("var")
                   EscrevaL("inicio")
                   EscrevaL("Escreva('Digite R para restaurante e C para cinema.')")
                   EscrevaL("Leia(escol)")
                   EscrevaL("Se (escol = 'r') entao")
                   EscrevaL("   Rua1()")
                   EscrevaL("FimSe")
                   EscrevaL("Se (escol = 'c' entao")
                   EscrevaL("   Rua2()")
                   EscrevaL("FimSe")
                   EscrevaL("FimProcedimento")
                   EscrevaL("")
                   EscrevaL("Agora, sempre que eu quiser executar esses comandos no")
                   EscrevaL("codigo, basta digitar o nome do procedimento e nos ")
                   EscrevaL("parametros colocar uma variavel de referencia.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 9
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[10] Funcoes")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("As funcoes sao muito parecidas com procedimentos, porem,")
                   EscrevaL("elas tambem retornam valores para o usuario. ")
                   EscrevaL("Um exemplo de funcao e a soma:")
                   EscrevaL("Funcao Soma(X, Y: Inteiro):Inteiro")
                   EscrevaL("inicio")
                   EscrevaL("Retorne X+Y")
                   EscrevaL("FimFuncao")
                   EscrevaL("")
                   EscrevaL("Sua aplicacao no codigo tambem e muito semelhante aos")
                   EscrevaL("procedimentos. Agora, sempre que eu quiser somar dois")
                   EscrevaL("valores, basta fazer isso:")
                   EscrevaL("var")
                   EscrevaL("Resultado: inteiro")
                   EscrevaL("inicio")
                   EscrevaL("Resultado <- Soma(X,Y)")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 10
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("[11] Vetores")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Vetores podem ser considerados uma evolucao na declaracao")
                   EscrevaL("de variaveis. Como no exemplo do armario, ele tambem ira")
                   EscrevaL("guardar valores dentro da memoria, porem, agora voce pode")
                   EscrevaL("determinar estes locais.")
                   Armario()
                   EscrevaL("Uma unica variavel vetor pode conter diversos valores, veja o exemplo:")
                   EscrevaL("Variavel: Vetor[x..y] de (TipoDeVariavel)")
                   EscrevaL("N: Vetor[1..3] de Inteiro")
                   EscrevaL("")
                   EscrevaL("Agora, a variavel N pode ser dividida em N(1),N(2)e N(3)")
                   EscrevaL("e cada referencia possui um valor.")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
              Caso 11
                   EscrevaL("[12] Matrizes")
                   EscrevaL("As matrizes sao iguais aos vetores, com uma pequena diferenca.")
                   EscrevaL("Elas podem guardar valores em duas dimensoes do armario,")
                   EscrevaL("enquanto o vetor guarda apenas em uma. ")
                   EscrevaL("As matrizes sao declaradas iguais aos vetores, mas agora")
                   EscrevaL("declarando as duas dimensoes:")
                   EscrevaL("N: Vetor[1..3, 1..3] de Inteiro")
                   EscrevaL("E para representar:")
                   EscrevaL("N(X,Y)     N(2,1)")
                   EscrevaL("-----------------------------------------------------")
                   EscrevaL("Mais informacoes no canal Curso em Video no Youtube")
                   SimOuNao(varEscolha)
                   
      FimEscolha

fimalgoritmo