iniciar-programa
define-nueva-instruccion lleva1 como
inicio
   si junto-a-zumbador entonces
   inicio
      coge-zumbador;
      lleva1;    
      deja-zumbador;
   fin
   sino
     inicio
        avanza;
        deja-zumbador;
     fin
 fin;
define-nueva-instruccion lleva2 como
inicio
   si junto-a-zumbador entonces
   inicio
      coge-zumbador;
      lleva2;
      deja-zumbador;
   fin
   sino
     inicio
        gira-izquierda;
        mientras frente-libre hacer
           avanza;
        gira-izquierda;
        mientras derecha-bloqueada hacer
           avanza;
        repetir 3 veces
           gira-izquierda;
        avanza;
     fin
 fin;
    inicia-ejecucion
       mientras no-orientado-al-este hacer
          gira-izquierda;
        mientras algun-zumbador-en-la-mochila hacer
           deja-zumbador;
        avanza;
       mientras frente-libre y no-junto-a-zumbador hacer
          avanza;
       si junto-a-zumbador entonces
       inicio
          gira-izquierda;
          mientras frente-libre o frente-bloqueado hacer
          inicio
              mientras junto-a-zumbador hacer
                 avanza;
              gira-izquierda;
              gira-izquierda;
              avanza;
              gira-izquierda;
              mientras junto-a-zumbador hacer
                 coge-zumbador;
             si frente-libre entonces
                 avanza
             sino
             inicio
                gira-izquierda;
                gira-izquierda;
                mientras frente-libre hacer
                   avanza;
                gira-izquierda;
                mientras frente-libre hacer
                   avanza;
                gira-izquierda;
                mientras no-junto-a-zumbador hacer
                   avanza;
                gira-izquierda;
                avanza;
                gira-izquierda;
                gira-izquierda;
                mientras algun-zumbador-en-la-mochila hacer
                   deja-zumbador;
                mientras junto-a-zumbador hacer
                inicio
                   coge-zumbador;
                   avanza;
                   gira-izquierda;
                   gira-izquierda;
                fin;
                avanza;
                si orientado-al-norte entonces
                inicio
                    gira-izquierda;
                    gira-izquierda;
                    lleva1;
                fin
                sino
                   lleva2;
                apagate;
             fin;
             gira-izquierda;
          fin;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
