iniciar-programa
define-nueva-instruccion gira(n) como inicio
repetir n veces gira-izquierda;
fin;
define-nueva-instruccion cuento(n) como inicio
 si frente-libre entonces inicio
 si derecha-bloqueada entonces inicio
 gira(1);
 fin;
 si derecha-libre entonces inicio
 mientras (frente-libre y derecha-libre) y no-orientado-al-norte y no-orientado-al-sur hacer inicio
 avanza;
 si frente-libre entonces inicio
 si derecha-bloqueada entonces inicio
 gira(1);
 fin;
 si frente-bloqueado entonces inicio
 repetir n veces inicio
 deja-zumbador;
 fin;
 fin;
 fin
 sino inicio
 repetir n veces inicio
 deja-zumbador;
 fin;
 fin;
 fin;
     si orientado-al-sur entonces inicio
    si frente-libre entonces inicio
    avanza;
    cuento(precede(n));
    fin;
    fin;
    si orientado-al-norte entonces inicio
    si frente-libre entonces inicio
    avanza;
    cuento(sucede(n));
    fin;
    fin;
    fin;
    fin
    sino inicio
    mientras junto-a-zumbador hacer inicio
    deja-zumbador;
    fin;
        repetir n veces inicio
    deja-zumbador;
    fin;
    fin;

    fin;


    inicia-ejecucion
    cuento(0);
        apagate;
    termina-ejecucion
finalizar-programa

