iniciar-programa
define-nueva-instruccion media-vuelta como inicio
    repetir 2 veces inicio
        gira-izquierda;
        fin;
    fin;
define-nueva-instruccion este como inicio
    mientras no orientado-al-este hacer inicio
        gira-izquierda;
        fin;
    fin;

define-nueva-instruccion  oeste como inicio
    mientras no orientado-al-oeste hacer inicio
        gira-izquierda;
        fin;
    fin;

define-nueva-instruccion  norte como inicio
    mientras no orientado-al-norte hacer inicio
        gira-izquierda;
        fin;
    fin;

define-nueva-instruccion  sur como inicio
    mientras no orientado-al-sur hacer inicio
        gira-izquierda;
        fin;
    fin;
define-nueva-instruccion regresar (n) como inicio
    media-vuelta;
    repetir n veces inicio
        avanza;
    fin;

  fin;

 define-nueva-instruccion girar(n) como inicio
    gira-izquierda;
    si frente-libre entonces inicio
    repetir n veces inicio
        avanza;
      fin;
     deja-zumbador;
     regresar(n);
   fin sino  inicio
          gira-izquierda;
          gira-izquierda;
    fin;
fin;
define-nueva-instruccion contar(n) como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;

      contar ( sucede(n));
    fin sino inicio
    si frente-libre entonces inicio
      repetir n veces inicio
           avanza;
      fin;
      deja-zumbador;
      regresar(n);
   fin sino inicio
   gira-izquierda;
   gira-izquierda;
   fin;
      repetir 3 veces inicio
          girar(n);
      fin;
   fin;
 fin;

 define-nueva-instruccion avanzar como inicio
       mientras no  junto-a-zumbador hacer inicio
          avanza;
          fin;
      fin;
 define-nueva-instruccion  dejar-zumbis como inicio
      sur;

      avanza;

      este;
      avanza;
      sur;

  mientras no  junto-a-zumbador hacer inicio
      deja-zumbador;
      sur;
      avanza;
      este;
      avanza;
     fin;

  fin;
define-nueva-instruccion  deja como inicio
      sur;
      si frente-libre entonces inicio
      avanza;
      oeste;
      avanza;
      sur;
     fin;
  mientras no  junto-a-zumbador hacer inicio
      deja-zumbador;
      sur;
      avanza;
      oeste;
      avanza;

      fin;
  fin;

   define-nueva-instruccion  zumbis como inicio

      norte;
      avanza;
      oeste;
      avanza;

  mientras no  junto-a-zumbador hacer inicio
      deja-zumbador;
      norte;
      avanza;
      oeste;
      avanza;

      fin;
  fin;
 define-nueva-instruccion  dani como inicio
      norte ;
      avanza;
      este;
      avanza;

  mientras no  junto-a-zumbador hacer inicio
      deja-zumbador;
      norte;
      avanza;
      este;
      avanza;

      fin;
  fin;


    inicia-ejecucion
      si algun-zumbador-en-la-mochila entonces inicio
          deja-zumbador;
          si algun-zumbador-en-la-mochila entonces inicio
            coge-zumbador;
            sur;
            contar(0);
            norte;
             avanzar;
             dejar-zumbis;
             si frente-libre entonces inicio
                 deja;
             zumbis;
             dani;
             fin;

         fin sino inicio
             apagate;
         fin;
    fin;
    apagate;
    termina-ejecucion
finalizar-programa
 