repetir // Início do bloco de repetição
se (N for impar) então imprimir (N);
atribuir N - 3 a N;
até que N < 3; // Teste de saída. Caso a condição seja verdadeira sai do laço de repetição
A questão ficaria mais simples se fosse apresentado o trecho do código acima, como ocorreu em outra questão da mesma prova.
Repetir ... até que (condição), ou
Repeat ... Until (condição)
Para esse caso, o teste da condição somente é efetuado no final do bloco de repetição, ou seja, o laço é percorrido ao menos uma vez.
Outra estrutura muito utilizada é:
Faça enquanto (condição) ... Fim-Enquanto, ou
Do While (condição) ... Loop ou ainda
While (condição) Do ... Loop
Faça enquanto N < 3 // Início do bloco de repetição. Teste da condição no início do bloco.
se (N for impar) então imprimir (N);
atribuir N - 3 a N;
Fim enquanto; // Retorna para o início do bloco de repetição
Já nesse segundo caso, a condição é verificada já na entrada do laço. Dessa forma, caso a condição não seja atendida o laço não é percorrido.
Uma terceira estrutura é:
Para valor inicial, valor final ... Próximo
For valor inicial, valor final ... Next
Para N = 1 até 3 // Início do bloco de repetição. Teste da condição no início do bloco.
se (N for impar) então imprimir (N);
atribuir N - 3 a N;
Próximo; // Realiza o autoincremento e retorna para o início do bloco de repetição.
Para essa situação, quando o valor de N ultrapassar o valor 3 o laço de repetição é finalizado.
Existem ainda outras estruturas de repetição, porém as acima são as mais utilizadas.