iniciar-programa
define-nueva-instruccion sa como
inicio
mientras frente-libre hacer
avanza;
fin;
define-nueva-instruccion mv como
inicio
 repetir 2 veces
 gira-izquierda;
 fin;
 define-nueva-instruccion d como
 inicio
  repetir 3 veces
   gira-izquierda;
   fin;
   define-nueva-instruccion come como
   inicio
    si junto-a-zumbador entonces
     inicio
     coge-zumbador;
      fin
      sino
       inicio
       mientras no orientado-al-norte hacer
       gira-izquierda;
       repetir 100 veces
       deja-zumbador;
       apagate;
       fin;
       fin;
         define-nueva-instruccion barrelo como
          inicio
            come;
            si frente-libre entonces
            inicio
            avanza;
            fin
            sino
            inicio
             mv;
             sa;
             si izquierda-libre entonces
              inicio
              gira-izquierda;
              avanza;
              gira-izquierda;
               fin
               sino
               inicio
               d;
               sa;
               d;
               fin;
               fin;
               fin;


    inicia-ejecucion
    mientras no orientado-al-oeste hacer
           gira-izquierda;
     sa;
     gira-izquierda;
     sa;
     mv;
     mientras algun-zumbador-en-la-mochila hacer
      barrelo;
        apagate;
    termina-ejecucion
finalizar-programa
