iniciar-programa
    define-nueva-instruccion derecha como inicio
        repetir 3 veces gira-izquierda;
    fin;
    define-nueva-instruccion sur como inicio
        mientras no orientado-al-sur hacer gira-izquierda;
    fin;
    define-nueva-instruccion derecha1 como inicio
        gira-izquierda;
        deja-zumbador;
        gira-izquierda;
        deja-zumbador;
        gira-izquierda;
        deja-zumbador;
    fin;
    define-nueva-instruccion izquierda como inicio
        deja-zumbador;
        gira-izquierda;
    fin;
    define-nueva-instruccion llena como inicio
        mientras  frente-libre y derecha-bloqueada o izquierda-bloqueada hacer inicio
            si frente-libre entonces avanza;
            si no junto-a-zumbador entonces deja-zumbador;
        si frente-bloqueado y izquierda-libre y derecha-bloqueada entonces inicio
            izquierda;
            fin sino inicio
            si frente-bloqueado y izquierda-bloqueada  entonces inicio
                derecha1;
            fin;
            fin;
        fin;
        fin;
    define-nueva-instruccion final como inicio
       repetir 2 veces gira-izquierda;
       mientras frente-libre y no junto-a-zumbador hacer inicio
          avanza;

       si frente-bloqueado y izquierda-libre entonces inicio
            gira-izquierda;
            fin sino inicio
            si frente-bloqueado y izquierda-bloqueada entonces inicio
                derecha;
            fin;
            fin;
            fin;
          fin;
    define-nueva-instruccion regresa como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
          regresa;
          deja-zumbador;
          fin sino inicio
            si izquierda-libre entonces gira-izquierda;
            mientras frente-libre y no junto-a-zumbador hacer inicio
                avanza;
            fin;
            si frente-bloqueado y derecha-libre entonces derecha;
            si junto-a-zumbador entonces regresa;
          fin;

          si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada entonces inicio
                   final;
          fin;
       fin;

     inicia-ejecucion
     mientras frente-bloqueado hacer inicio
         gira-izquierda;
         deja-zumbador;
     fin;
    llena;
    si junto-a-zumbador entonces inicio
        repetir 2 veces gira-izquierda;
        avanza;
        regresa;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa

