iniciar-programa
    define-nueva-instruccion este como inicio mientras no orientado-al-este hacer gira-izquierda; fin;
    define-nueva-instruccion oeste como inicio mientras no orientado-al-oeste hacer gira-izquierda; fin;
    define-nueva-instruccion k1 como inicio
        oeste;
        mientras frente-libre hacer
            avanza;
        este;
    fin;
    define-nueva-instruccion junta2 como inicio
              mientras no-junto-a-zumbador y frente-libre hacer inicio
                 avanza;
              fin;
              si junto-a-zumbador entonces inicio
                  coge-zumbador;
                  coge-zumbador;
                  junta2;
                  oeste;
                  deja-zumbador;
                  deja-zumbador;
                  avanza;
              fin;
     fin;
     define-nueva-instruccion buscar como inicio
        mientras orientado-al-oeste hacer inicio
          si frente-libre y no junto-a-zumbador entonces
                avanza;
            si junto-a-zumbador entonces inicio
                coge-zumbador;
                sal-de-instruccion;
         fin;
             si frente-bloqueado entonces inicio
                 este;
                 sal-de-instruccion;
            fin;
         fin;
     fin;
     define-nueva-instruccion busca como inicio
        mientras no orientado-al-este hacer inicio
             buscar;
          si junto-a-zumbador entonces inicio
                    deja-zumbador;
               si frente-libre entonces avanza;
                fin sino inicio
                    si orientado-al-oeste entonces
                    deja-zumbador;
                    sal-de-instruccion;
                fin;

         fin;
     fin;
    define-nueva-instruccion fila1 como inicio
        si junto-a-zumbador entonces
            coge-zumbador;
        si junto-a-zumbador entonces inicio
            fila1;
        fin;
            si algun-zumbador-en-la-mochila entonces
                deja-zumbador;
            si frente-libre entonces
                avanza;
    fin;
    define-nueva-instruccion junta1 como inicio
        busca;
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            si orientado-al-oeste entonces
            junta1;
            deja-zumbador;
        fin;
      fin;
    define-nueva-instruccion inicia como inicio
        k1;
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
                coge-zumbador;
                 avanza;
                mientras junto-a-zumbador hacer avanza;
                deja-zumbador;
                deja-zumbador;
           fin sino
               deja-zumbador;
         fin;
         mientras frente-libre hacer
            avanza;
        oeste;
             junta1;
             este;
            avanza;
            junta2;
            k1;
            fila1;
   fin;
    inicia-ejecucion
        inicia;
        apagate;
    termina-ejecucion
finalizar-programa
