Dúvida em Portugol

Estou com uma dúvida em um programa que eu fiz… Eu preciso fazer o máximo de funções que eu consigo, com este código, mas eu só consegui fazer um procedimento, que foi o do menú. Existe alguma função a mais ou algum procedimento que possa ser feito com este código?

Resumidamente, é um programa que o professor insere notas e quando é inserido o valor negativo, vai ao menú de opções.

algoritmo Missao_3;
// Síntese
// Objetivo: Registrar as notas finais de todos os alunos. O professor será o usuário do programa. Fazer a Missão_2 utilizando funções
// Entrada : Sequência de notas
// Saída : O resultado de alguma opção presente no menú.

principal
	// Declarações
	real nota, soma, media, ma, me; 
	inteiro opcao, c, d, f, ap, rp;
	
	// Instruções
	escreval("Prezado(a) Professor(a), seja bem vindo(a) ao portal de notas da escola!");
	soma = 0;
	c = 0;
	ap = 0;
	rp = 0;
	ma = 0;
	me = 0;
	
	faca
		escreval("Informe uma nota [0 a 10] ou digite um valor negativo para ir ao menú: ");
		leia(nota);
		se (nota > 10) entao
				escreval("A NOTA DIGITADA É INVÁLIDA! TENTE NOVAMENTE");
		fimSe
		se (nota >= 0 e nota <=10) entao  
			soma = soma + nota;
			c = c + 1;
			se (nota >= 5) entao
				ap = ap + 1;
			senao
				rp = rp + 1;
			fimSe
				
				se (c == 1) entao
					ma = nota;
					me = nota;	
					senao 	
						se (nota > ma) entao
							ma = nota;
						senao 
							se (nota < me) entao
								me = nota;
							fimSe
						fimSe
				fimSe
		fimSe		
	enquanto (nota >= 0);
	
	escreval("Notas recebidas com sucesso!!");
	escreval("   ");
	
	faca
		menu();
		leia(opcao);
		se (opcao < 1 ou opcao > 6 )entao
			escreval("A OPÇÃO DIGITADA É INVÁLIDA! TENTE NOVAMENTE");
		fimSe
		
		escolha(opcao)
			caso 1
				escreval("O SISTEMA REGISTROU A NOTA DE " + c + " ALUNOS");
				interrompa;
			caso 2
				escreval("O TOTAL DE ALUNO(S) APROVADO(S) É " + ap);
				interrompa;
			caso 3
				escreval("O TOTAL DE ALUNO(S) REPROVADO(S) É " + rp);
				interrompa;
			caso 4
				escreval("A maior nota foi "+ ma);
				interrompa;
			caso 5
				escreval("A menor nota foi " + me);
				interrompa;
			caso 6
				escreval("Prezado(a) Professor(a), volte sempre!");
				escreval("FIM DO PROGRAMA");
				interrompa;
		fimEscolha
		
	enquanto (opcao != 6);

fimPrincipal




procedimento menu()
	escreval("Escolha uma opção do menú:");
	escreval("   ");
	escreval("---------------------------------------------------------");
	escreval("Digite [1] para saber o TOTAL DE ALUNOS");
	escreval("Digite [2] para saber a QUANTIDADE DE ALUNOS APROVADOS");
	escreval("Digite [3] para saber a QUANTIDADE DE ALUNOS REPROVADOS");
	escreval("Digite [4] para saber a MAIOR NOTA");
	escreval("Digite [5] para saber a MENOR NOTA");
	escreval("Digite [6] para SAIR");
	escreval("---------------------------------------------------------");
		
fimProcedimento

Olá, bom dia!
Por favor poderia me ajudar? Estou iniciando os estudos em programação e, o primeiro teste não deu certo. Aparece as tags no navegador, o que estou fazendo de errado?