iniciar-programa
     define-nueva-instruccion derecha como inicio
        gira-izquierda;
        gira-izquierda;
        gira-izquierda;
    fin;
    define-nueva-instruccion orienta como inicio
        mientras no-orientado-al-sur hacer inicio
             gira-izquierda;
        fin;
        mientras frente-libre hacer inicio
             avanza;
        fin;
         mientras no-orientado-al-oeste hacer inicio
             gira-izquierda;
        fin;
        mientras frente-libre hacer inicio
             avanza;
        fin;
        derecha;
     fin;
     define-nueva-instruccion coge como inicio
     SI junto-a-zumbador entonces inicio
        coge-zumbador;
            si no-junto-a-zumbador entonces inicio
                sal-de-instruccion;
            fin;
            si junto-a-zumbador entonces inicio
                coge-zumbador;
             fin;
             si junto-a-zumbador entonces inicio
                deja-zumbador;
                sal-de-instruccion;
             fin;
             si no-junto-a-zumbador entonces inicio
                 deja-zumbador;
                 deja-zumbador;
                 sal-de-instruccion;
            fin;
          si no-junto-a-zumbador entonces inicio
             sal-de-instruccion;
        fin;
        fin;
     fin;
     define-nueva-instruccion ir11 como inicio
     mientras no-orientado-al-sur hacer inicio
      gira-izquierda;
     fin;
     mientras frente-libre hacer inicio
     avanza;
     fin;
     mientras no-orientado-al-oeste hacer inicio
      gira-izquierda;
     fin;
     mientras frente-libre hacer inicio
     avanza;
     fin;
    fin;
    define-nueva-instruccion buscar como inicio
       mientras frente-libre hacer inicio
       coge;
       avanza;
       coge;
       fin;
         si frente-bloqueado entonces inicio
         gira-izquierda;
         gira-izquierda;
         gira-izquierda;
         sal-de-instruccion;
         fin;
    fin;
    define-nueva-instruccion buscar2 como inicio
         mientras derecha-libre  hacer inicio
         si frente-libre entonces inicio
         avanza;
        coge;
         gira-izquierda;
         gira-izquierda;
         gira-izquierda;
          mientras frente-libre hacer inicio
          avanza;
          coge;
          fin;
         fin;
         si frente-bloqueado entonces inicio
         gira-izquierda;
          si frente-bloqueado entonces inicio
           sal-de-instruccion;
           fin;
         avanza;
         coge;
         gira-izquierda;
         mientras frente-libre hacer inicio
          avanza;
          coge;
         fin;
          gira-izquierda;
          gira-izquierda;
          gira-izquierda;
          fin;
        fin;
    fin;
    define-nueva-instruccion dejar como inicio
     mientras no-orientado-al-norte hacer inicio
     gira-izquierda;
     fin;
     mientras algun-zumbador-en-la-mochila hacer inicio
     deja-zumbador;
     si frente-bloqueado entonces inicio
         sal-de-instruccion;
     fin;
     avanza;
    fin;
    fin;
    define-nueva-instruccion coge2 como inicio
     SI junto-a-zumbador entonces inicio
        coge-zumbador;
             si no-junto-a-zumbador entonces inicio
                 deja-zumbador;
                 sal-de-instruccion;
            fin;
         si junto-a-zumbador entonces inicio
             coge-zumbador;
             sal-de-instruccion;
        fin;

        fin;
     fin;
    define-nueva-instruccion buscar3 como inicio
       mientras frente-libre hacer inicio
       coge2;
       avanza;
       coge2;
       fin;
         si frente-bloqueado entonces inicio
         gira-izquierda;
         gira-izquierda;
         gira-izquierda;
         sal-de-instruccion;
         fin;
    fin;
     define-nueva-instruccion buscar4 como inicio
         mientras derecha-libre  hacer inicio
         si frente-libre entonces inicio
         avanza;
        coge2;
         gira-izquierda;
         gira-izquierda;
         gira-izquierda;
          mientras frente-libre hacer inicio
          avanza;
          coge2;
          fin;
         fin;
         si frente-bloqueado entonces inicio
         gira-izquierda;
          si frente-bloqueado entonces inicio
           sal-de-instruccion;
           fin;
         avanza;
         coge2;
         gira-izquierda;
         mientras frente-libre hacer inicio
          avanza;
          coge2;
         fin;
          gira-izquierda;
          gira-izquierda;
          gira-izquierda;
          fin;
        fin;
    fin;
    define-nueva-instruccion dejar2 como inicio
     mientras no-orientado-al-norte hacer inicio
     gira-izquierda;
     fin;
     mientras algun-zumbador-en-la-mochila hacer inicio
     deja-zumbador;
     deja-zumbador;
     si frente-bloqueado entonces inicio
         sal-de-instruccion;
     fin;
     avanza;
    fin;
    fin;
    inicia-ejecucion
        orienta;
        buscar;
        buscar2;
        orienta;
        dejar;
        orienta;
        buscar3;
        buscar4;
        orienta;
        derecha;
        avanza;
        gira-izquierda;
        dejar2;
        apagate;
    termina-ejecucion
finalizar-programa
