iniciar-programa
define-nueva-instruccion rodea como inicio
  mientras no-orientado-al-norte hacer gira-izquierda;
  repetir 2 veces inicio
   si frente-libre entonces inicio
       avanza;
       deja-zumbador;
       gira-izquierda;
       si frente-libre entonces inicio
          avanza;
          deja-zumbador;
          repetir 2 veces gira-izquierda;
          avanza;
          gira-izquierda;
      fin
      sino inicio
         repetir 3 veces gira-izquierda;
      fin;

      repetir 3 veces gira-izquierda;

      si frente-libre entonces inicio
         avanza;
         deja-zumbador;
         repetir 2 veces gira-izquierda;
         avanza;
         gira-izquierda;
      fin
      sino inicio
          repetir 3 veces gira-izquierda;
      fin;


      avanza;
   fin
   sino inicio
     mientras no-orientado-al-sur hacer gira-izquierda;
   fin;
  fin;

  mientras no-orientado-al-oeste hacer gira-izquierda;
  repetir 2 veces inicio
     si frente-libre entonces inicio
        avanza;
        deja-zumbador;
        repetir 2 veces gira-izquierda;
        avanza;
     fin
     sino inicio
         repetir 2 veces gira-izquierda;
     fin;
  fin;

  mientras no orientado-al-norte hacer gira-izquierda;
fin;


define-nueva-instruccion compara como inicio
  si junto-a-zumbador entonces inicio
     coge-zumbador;
     si junto-a-zumbador entonces inicio
         coge-zumbador;
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             si junto-a-zumbador entonces inicio
                 coge-zumbador;
                 si junto-a-zumbador entonces inicio
                     coge-zumbador;
                     si junto-a-zumbador entonces inicio
                         coge-zumbador;
                         si junto-a-zumbador entonces inicio
                             coge-zumbador;
                             si junto-a-zumbador entonces inicio
                                coge-zumbador;
                                si junto-a-zumbador entonces inicio
                                    coge-zumbador;
                                    rodea;
                                    repetir 9 veces deja-zumbador;
                                fin
                                sino inicio
                                    repetir 8 veces deja-zumbador;
                                fin;
                             fin
                             sino inicio
                                repetir 7 veces deja-zumbador;
                             fin;
                         fin
                         sino inicio
                             repetir 6 veces deja-zumbador;
                         fin;
                     fin
                     sino inicio
                        repetir 5 veces deja-zumbador;
                     fin;
                 fin
                 sino inicio
                    repetir 4 veces deja-zumbador;
                 fin;
             fin
             sino inicio
                repetir 3 veces deja-zumbador;
             fin;
         fin
         sino inicio
            repetir 2 veces deja-zumbador;
         fin;
     fin
     sino inicio
         deja-zumbador;
     fin;
  fin;

fin;


    inicia-ejecucion

mientras no-orientado-al-sur hacer gira-izquierda;
mientras frente-libre hacer avanza;
mientras no-orientado-al-oeste hacer gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;

  mientras orientado-al-norte hacer inicio
       si frente-libre entonces inicio
          compara;
          avanza;
       fin
       sino inicio
          compara;
          repetir 2 veces gira-izquierda;
          mientras frente-libre hacer avanza;
          gira-izquierda;
          si frente-libre entonces inicio
              avanza;
              gira-izquierda;

          fin;

       fin;

  fin;



        apagate;
    termina-ejecucion
finalizar-programa
