iniciar-programa
define-nueva-instruccion derecha como inicio
   gira-izquierda;
   gira-izquierda;
   gira-izquierda;
fin;
define-nueva-instruccion regresa como inicio
   gira-izquierda;
   gira-izquierda;
fin;

    inicia-ejecucion
       mientras no-orientado-al-este hacer inicio
          gira-izquierda;
       fin;
       avanza;
       repetir 99 veces inicio
          coge-zumbador;
       fin;
       regresa;
       avanza;
       derecha;
       avanza;
       mientras derecha-bloqueada hacer inicio
          avanza;
       fin;
       derecha;
       avanza;
       derecha;
       mientras frente-libre hacer inicio
          avanza;
       fin;
       regresa;
       mientras frente-libre y orientado-al-norte hacer inicio
          deja-zumbador;
          avanza;
          si frente-bloqueado y derecha-bloqueada entonces inicio
             deja-zumbador;
             regresa;
             mientras izquierda-bloqueada hacer inicio
                avanza;
             fin;
             gira-izquierda;
             avanza;
             derecha;
             mientras algun-zumbador-en-la-mochila hacer inicio
                deja-zumbador;
             fin;
             avanza;
          fin
          sino inicio
              si frente-bloqueado y derecha-libre entonces inicio
                 deja-zumbador;
                 regresa;
                 mientras frente-libre hacer inicio
                    avanza;
                 fin;
                 gira-izquierda;
                 avanza;
                 gira-izquierda;
              fin;
          fin;
       fin;

        apagate;
    termina-ejecucion
finalizar-programa
