iniciar-programa
define-nueva-instruccion gira(n) como
inicio
   repetir n veces inicio
   gira-izquierda;
fin;
fin;
define-nueva-instruccion norte como
inicio
   mientras no-orientado-al-norte hacer gira-izquierda;
   avanza;
fin;


define-nueva-instruccion este como
inicio
   mientras no-orientado-al-este hacer gira-izquierda;
   avanza;
fin;
define-nueva-instruccion sur como
inicio
   mientras no-orientado-al-sur hacer gira-izquierda;
   avanza;
fin;
define-nueva-instruccion oeste como
inicio
    mientras no-orientado-al-oeste hacer gira-izquierda;
    avanza;
fin;
define-nueva-instruccion contar-zumbador como
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;
              si frente-libre entonces
              inicio
                  avanza;
                  contar-zumbador;
              fin;
              oeste;
            fin
            sino
            inicio
               si frente-libre entonces
               inicio
                  avanza;
                  contar-zumbador;
               fin;
               sur;
            fin;
         fin
         sino
         inicio
            si frente-libre entonces
            inicio
               avanza;
               contar-zumbador;
           fin;
           este;
         fin;
      fin
      sino
      inicio
      si frente-libre entonces
      inicio
          avanza;
          contar-zumbador;
      fin;
      norte;
      fin;
   fin;
fin;

    inicia-ejecucion
    mientras junto-a-zumbador y frente-libre hacer
    inicio
        avanza;
    fin;
    si no-junto-a-zumbador y orientado-al-este  entonces
      inicio
        gira(2);
        avanza;
      fin
      sino
      inicio
          gira(2);
      fin;

    contar-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
