iniciar-programa
    define-nueva-instruccion gira(n) como inicio
       repetir n veces
           gira-izquierda;
     fin;
     define-nueva-instruccion ava como inicio
        mientras no-junto-a-zumbador hacer inicio
           mientras frente-libre hacer
               avanza;
           si orientado-al-norte y frente-bloqueado entonces
               gira(2);
           mientras frente-libre hacer
               avanza;
           si orientado-al-sur y frente-bloqueado entonces
               gira(2);
           mientras derecha-bloqueada y  no-junto-a-zumbador hacer
               avanza;
           si junto-a-zumbador entonces
               apagate;
           mientras derecha-libre hacer inicio
               gira(3);
               avanza;
               gira(3);
               si frente-libre entonces
               avanza;
               gira(2);

          fin;
        fin;
     fin;
   inicia-ejecucion
       mientras no-orientado-al-norte hacer
          gira(1);
       ava;
         apagate;
    termina-ejecucion
finalizar-programa
