iniciar-programa
  define-nueva-instruccion gd como
  repetir 3 veces
  gira-izquierda;
  define-nueva-instruccion mv como
  repetir 2 veces
  gira-izquierda;
  define-nueva-instruccion checa como
  inicio
  si frente-libre entonces
  inicio
   si junto-a-zumbador entonces
   inicio
    coge-zumbador;
    si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     si junto-a-zumbador entonces
     inicio
      coge-zumbador;
      si junto-a-zumbador entonces
      inicio
      coge-zumbador;
      avanza;
      checa;
      mientras no orientado-al-oeste hacer
      gira-izquierda;
      avanza;
      fin
      sino
      inicio
       avanza;
       checa;
       mientras no orientado-al-sur hacer
       gira-izquierda;
       avanza;
      fin;
     fin
     sino
     inicio
      avanza;
      checa;
      mientras no orientado-al-este hacer
      gira-izquierda;
      avanza;
     fin;
    fin
    sino
    inicio
     avanza;
     checa;
     mientras no orientado-al-norte hacer
     gira-izquierda;
     AVANZA;
    fin;
   fin;
  fin
  sino
  inicio
  gd;
  si junto-a-zumbador entonces
  inicio
   coge-zumbador;
   si junto-a-zumbador entonces
   inicio
   coge-zumbador;
   gd;
   avanza;
   fin
   sino
   avanza;
  fin;
  fin;
  fin;
    inicia-ejecucion
      mientras no (frente-bloqueado o no junto-a-zumbador) hacer
      avanza;
      mv;
      si no junto-a-zumbador entonces
      avanza;
      checa;
        apagate;
    termina-ejecucion
finalizar-programa
