iniciar-programa
   define-nueva-instruccion  t(n) como inicio
       si izquierda-bloqueada y derecha-bloqueada entonces inicio
           si frente-libre entonces avanza;
           t(sucede(n));
       fin;
       mientras izquierda-libre y frente-libre hacer avanza;
       si izquierda-bloqueada y derecha-bloqueada entonces t(n);
       si frente-bloqueado entonces inicio
           mientras  no orientado-al-oeste hacer gira-izquierda;
           mientras frente-libre hacer avanzA;
           repetir 2 veces gira-izquierda;
           mientras derecha-bloqueada y frente-libre hacer avanza;
           si frente-bloqueado y derecha-bloqueada entonces inicio
           repetir 2 veces gira-izquierda;
           mientras frente-libre hacer avanza;
           repetir n veces deja-zumbador;
           apagate;
           fin;
           fin;
           mientras derecha-libre hacer inicio
           mientras no orientado-al-sur hacer gira-izquierda;
           avanza;
           t(n);
           fin;
       fin;
   inicia-ejecucion
        mientras no orientado-al-norte hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no orientado-al-oeste hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no orientado-al-sur hacer gira-izquierda;
        t(0);
    termina-ejecucion
finalizar-programa
