iniciar-programa
define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;
define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;
define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;

define-nueva-instruccion cuenta(n) como
inicio
   si no-junto-a-zumbador entonces
   inicio
      avanza;
      cuenta(sucede(n));
   fin
   sino
   inicio
      si junto-a-zumbador entonces coge-zumbador;
      repetir sucede(n) veces deja-zumbador;
   fin;
fin;

define-nueva-instruccion identacion como
inicio
   deja-zumbador;
   este;
   si frente-libre entonces avanza;
   mientras no-junto-a-zumbador y frente-libre hacer avanza;
   oeste;
   coge-zumbador;
   cuenta(0);
fin;


    inicia-ejecucion
        sur;
        avanza;
        mientras no-junto-a-zumbador hacer
        inicio
           identacion;
           sur;
           si frente-libre entonces avanza;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
