iniciar-programa
  define-nueva-instruccion norte como inicio
      mientras no-orientado-al-norte hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion sur como inicio
      mientras no-orientado-al-sur hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion este como inicio
      mientras no-orientado-al-este hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion oeste como inicio
      mientras no-orientado-al-oeste hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion al-frente como inicio
      mientras frente-libre hacer inicio
          avanza;
      fin;
  fin;
  define-nueva-instruccion ve-a-1-1 como inicio
      sur;
      al-frente;
      oeste;
      al-frente;
  fin;
  define-nueva-instruccion toma-ubicate como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          toma-ubicate;
          avanza;
      fin sino inicio
          ve-a-1-1;
          este;
      fin;
  fin;
  define-nueva-instruccion toma-altura como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          toma-altura;
          deja-zumbador;
          si frente-libre entonces avanza;
      fin sino inicio
          oeste;
          avanza;
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              toma-ubicate;
              deja-zumbador;
              norte;
              si frente-libre entonces inicio
                  avanza;
                  deja-zumbador;
                  sur;
                  avanza;
                  norte;
              fin;
          fin;
      fin;
  fin;
  define-nueva-instruccion toma-anchura como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          toma-anchura;
          deja-zumbador;
          si frente-libre entonces avanza;
      fin sino inicio
          oeste;
          avanza;
          si junto-a-zumbador entonces coge-zumbador;
          toma-altura;
          deja-zumbador;
          este;
          si junto-a-zumbador entonces coge-zumbador;
      fin;
  fin;
  define-nueva-instruccion espacio como inicio
      toma-anchura;
      oeste;
      si no-junto-a-zumbador y frente-libre entonces inicio
          avanza;
      fin;
      norte;
      si frente-libre entonces avanza;
      deja-zumbador;
      este;
  fin;
  define-nueva-instruccion pared-izquierda como inicio
      si no-junto-a-zumbador entonces inicio
          avanzA;
          pared-izquierda;
          deja-zumbador;
      fin sino inicio
          ve-a-1-1;
          mientras junto-a-zumbador hacer inicio
              coge-zumbador;
          fin;
      fin;
  fin;
  define-nueva-instruccion pared-derecha como inicio
      si frente-libre entonces inicio
          avanza;
          pared-derecha;
          deja-zumbador;
      fin sino inicio
          oeste;
          al-frente;
          este;
          pared-izquierda;
          este;
          avanza;
          mientras junto-a-zumbador hacer inicio
              coge-zumbador;
          fin;
      fin;
  fin;
  define-nueva-instruccion mide como inicio
      si frente-libre entonces inicio
          avanza;
          mide;
      fin sino inicio
          sur;
          al-frente;
          este;
          avanza;
      fin;
      deja-zumbador;
  fin;
  define-nueva-instruccion compara como inicio
      si no-junto-a-zumbador entonces inicio
          repetir 2 veces gira-izquierda;
          avanza;
          si no-junto-a-zumbador entonces inicio
              apagate;
          fin sino inicio
              repetir 2 veces gira-izquierda;
              avanza;
          fin;
      fin;
      mientras junto-a-zumbador hacer inicio
          coge-zumbador;
          repetir 2 veces gira-izquierda;
          avanza;
      fin;
      si frente-bloqueado entonces inicio
          norte;
          si frente-libre entonces avanza;
          este;
          mide;
      fin sino inicio
          norte;
          si frente-libre entonces avanza;
          este;
          al-frente;
          sur;
          al-frente;
          este;
          avanza;
          deja-zumbador;
      fin;
  fin;

    inicia-ejecucion
        este;
        repetir 3 veces avanza;
        espacio;
        pared-derecha;
        compara;
        apagate;
    termina-ejecucion
finalizar-programa
