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 oeste como inicio
        mientras no-orientado-al-oeste 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 avanzaa como inicio
        mientras frente-libre hacer inicio
            avanza;
        fin;
    fin;
    define-nueva-instruccion esquina como inicio
        sur;
        avanzaa;
        oeste;
        avanzaa;
    fin;

    define-nueva-instruccion lados como inicio
            este;
            si frente-libre entonces inicio
                avanza;
                deja-zumbador;
                oeste;
                avanza;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                    este;
                    avanza;
                fin;
            fin
            sino inicio
                oeste;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                fin;
                este;
                si frente-libre entonces inicio
                    avanza;
                fin
                sino inicio
                    este;
                fin;
            fin;
       fin;



    define-nueva-instruccion arriva como inicio
        norte;
        si frente-libre entonces inicio

            avanza;
             deja-zumbador;
            este;
            si frente-libre entonces inicio
                avanza;
                deja-zumbador;
                oeste;
                avanza;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                    este;
                    avanza;
                    sur;
                    avanza;
                fin
                sino inicio
                    sur;
                    avanza;
                fin;
            fin
            sino inicio
                oeste;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                    este;
                    avanza;
                    sur;
                    avanza;
                fin
                sino inicio
                    sur;
                    avanza;
                fin;
            fin;
         fin;
      fin;


     define-nueva-instruccion abajo como inicio
        sur;
        si frente-libre entonces inicio
            avanza;
            deja-zumbador;
            este;
            si frente-libre entonces inicio
                avanza;
                deja-zumbador;
                oeste;
                avanza;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                    este;
                    avanza;
                    norte;
                    avanza;
                fin
                sino inicio
                    norte;
                    avanza;
                fin;
            fin
            sino inicio
                oeste;
                si frente-libre entonces inicio
                    avanza;
                    deja-zumbador;
                    este;
                    avanza;
                    norte;
                    avanza;
                fin
                sino inicio
                    norte;
                    avanza;
                fin;
            fin;
         fin;
      fin;


     define-nueva-instruccion deja como inicio
         si frente-libre entonces 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
                                arriva;
                                abajo;
                                lados;
                                norte;
                                avanza;
                                deja;

                            fin
                            sino inicio
                                repetir 8 veces inicio
                                    deja-zumbador;
                                fin;
                                norte;
                                avanza;
                                deja;
                             fin;
                         fin
                         sino inicio
                            repetir 7 veces inicio
                                deja-zumbador;
                            fin;
                            norte;
                            avanza;
                            deja;
                         fin;
                     fin
                     sino inicio
                        repetir 6 veces inicio
                            deja-zumbador;
                        fin;
                        norte;
                        avanza;
                        deja;
                     fin;
                 fin
                 sino inicio
                    repetir 5 veces inicio
                    deja-zumbador;
                    fin;
                    norte;
                    avanza;
                   deja;
                 fin;
             fin
            sino inicio
                repetir 4 veces inicio
                    deja-zumbador;
                fin;
                norte;
                avanza;
                deja;
           fin;
        fin
        sino inicio
           repetir 3 veces inicio
                deja-zumbador;
            fin;
            norte;
            avanza;
            deja;
         fin;
     fin
    sino inicio
        repetir 2 veces inicio
            deja-zumbador;
        fin;
        norte;
        avanza;
        deja;
     fin;
  fin
    sino inicio
        repetir 1 veces inicio
            deja-zumbador;
        fin;
        norte;
        avanza;
        deja;
    fin;
    fin
    sino inicio
        norte;
        avanza;
        deja;

   fin;
   fin
         sino 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
                                arriva;
                                abajo;
                                lados;

                            fin
                            sino inicio
                                repetir 8 veces inicio
                                    deja-zumbador;
                                fin;

                             fin;
                         fin
                         sino inicio
                            repetir 7 veces inicio
                                deja-zumbador;
                            fin;

                         fin;
                     fin
                     sino inicio
                        repetir 6 veces inicio
                            deja-zumbador;
                        fin;

                     fin;
                 fin
                 sino inicio
                    repetir 5 veces inicio
                    deja-zumbador;
                    fin;


                 fin;
             fin
            sino inicio
                repetir 4 veces inicio
                    deja-zumbador;
                fin;

           fin;
        fin
        sino inicio
           repetir 3 veces inicio
                deja-zumbador;
            fin;

         fin;
     fin
    sino inicio
        repetir 2 veces inicio
            deja-zumbador;
        fin;

     fin;
  fin
    sino inicio
        repetir 1 veces inicio
            deja-zumbador;
        fin;

    fin;
    fin
    sino inicio
   fin;

             sur;
             avanzaa;
             este;
             si frente-libre entonces inicio
                 avanza;
                 norte;
                 deja;
            fin
            sino inicio
                apagate;
            fin;
       fin;

  fin;



    inicia-ejecucion
        esquina;
        norte;
        deja;
        apagate;
    termina-ejecucion
finalizar-programa
