iniciar-programa
define-nueva-instruccion gira(n) como
inicio
repetir n veces gira-izquierda;
fin;

 define-nueva-instruccion cuenta2(n) como
 inicio
 si junto-a-zumbador entonces
 inicio
 coge-zumbador;
 cuenta2(n);
 deja-zumbador;
 fin
 sino
 inicio
 mientras frente-libre hacer avanza;
gira(1);
mientras derecha-bloqueada hacer avanza;
gira(3);
avanza;
gira(3);
mientras frente-libre hacer avanza;
gira(1);
repetir n veces avanza;

fin;
fin;

 define-nueva-instruccion cuenta(n) como
 inicio
 si frente-libre y no-junto-a-zumbador entonces
 inicio
 avanza;
 cuenta(sucede(n));
 fin
 sino
 inicio
 si junto-a-zumbador entonces
 inicio
 cuenta2(n);
 fin;
 si frente-bloqueado entonces apagate;
 fin;
 fin;

define-nueva-instruccion pasa como
inicio
cuenta(0);

gira(2);
mientras frente-libre hacer avanza;
gira(3);
mientras izquierda-bloqueada hacer avanza;
gira(1);
mientras frente-libre hacer avanza;
gira(1);
mientras frente-libre hacer avanza;
gira(1);
pasa;
fin;
    inicia-ejecucion
    mientras no-orientado-al-este hacer gira(1);
    pasa;
        apagate;
    termina-ejecucion
finalizar-programa
