iniciar-programa
        define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
        define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;
        define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;
        define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;
      define-nueva-instruccion gira como
          inicio
              si junto-a-zumbador entonces coge-zumbador;
              si no-junto-a-zumbador entonces gira-izquierda
              sino
                  inicio
                      coge-zumbador;
                      si no-junto-a-zumbador entonces repetir 3 veces gira-izquierda
                      sino mientras junto-a-zumbador hacer coge-zumbador;
                  fin;
          fin;
      define-nueva-instruccion camina(n) como
          inicio
              si junto-a-zumbador entonces
                  inicio
                      gira;
                      repetir n veces si frente-libre entonces avanza;
                      camina(n);
                      deja-zumbador;
                  fin;
          fin;
      define-nueva-instruccion tomar(n) como
          inicio
              si junto-a-zumbador entonces
                  inicio
                      coge-zumbador;
                      tomar(sucede(n))
                  fin
                sino repetir n veces si frente-libre entonces avanza;
                camina(n);
                si no si-es-cero(n) entonces deja-zumbador;
                apagate
          fin;
    inicia-ejecucion
          tomar(0);
        apagate;
    termina-ejecucion
finalizar-programa
