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 k11 como inicio
            oeste;
            mientras frente-libre hacer avanza;
            sur;
            mientras frente-libre hacer avanza;
            este;
     fin;
     define-nueva-instruccion busca como inicio
          mientras no junto-a-zumbador hacer inicio
                Si frente-libre entonces inicio
                     avanza;
                fin sino inicio
                     norte;
                     avanza;
                     si izquierda-libre entonces inicio
                           gira-izquierda;
                      fin sino este;
                fin;
          fin;
     fin;
     define-nueva-instruccion subeh(n) como inicio
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             subeh(sucede(n));
             deja-zumbador;
         fin sino inicio
             repetir n veces deja-zumbador;
             norte;
             avanza;
             si junto-a-zumbador entonces coge-zumbador;
         fin;
     fin;
     define-nueva-instruccion suma como inicio
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             suma;
             deja-zumbador;
         fin sino inicio
             k11;
         fin;
     fin;
     define-nueva-instruccion opera(n) como inicio
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             opera(n);
             repetir n veces deja-zumbador;
         fin;
     fin;
     define-nueva-instruccion mul(n) como inicio
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             mul(sucede(n));
         fin sino inicio
             oeste;
             avanza;
             opera(n);
             norte;
             avanza;
             este;
             avanza;
             suma;
             apagate;
         fin;
     fin;
     define-nueva-instruccion datos(n) como inicio
          si junto-a-zumbador y frente-libre y no orientado-al-sur entonces inicio
              avanza;
               datos(sucede(n));
          fin sino inicio
              si junto-a-zumbador y no orientado-al-sur entonces inicio
                  sur;
                  datos(sucede(n));
              fin sino inicio
                  k11;
                  si junto-a-zumbador entonces avanza;
                  si junto-a-zumbador entonces coge-zumbador;
                  repetir n veces deja-zumbador;
              fin;
          fin;
     fin;
     Inicia-ejecucion
          k11;
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              avanza;
              datos(0);
              deja-zumbador;
              norte;
              datos(0);
          fin sino inicio
              busca;
              datos(0);
              avanza;
              busca;
              norte;
              datos(0);
          fin;
          subeh(0);
          coge-zumbador;
          k11;
          coge-zumbador;
          avanza;
          opera(4);
          repetir 3 veces si junto-a-zumbador entonces coge-zumbador;
          mul(0);
           apagate;
     Termina-ejecucion
Finalizar-programa
