iniciar-programa
   define-nueva-instruccion este como inicio
      mientras no-orientado-al-este hacer gira-izquierda;
   fin;

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

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

   define-nueva-instruccion paso como inicio
      si frente-bloqueado entonces inicio
         gira-izquierda;
      fin;
      avanza;
   fin;

   define-nueva-instruccion ir_11 como inicio
      sur;
      mientras frente-libre hacer avanza;
      oeste;
      mientras frente-libre hacer avanza;
   fin;

   define-nueva-instruccion camina como inicio
      paso;
      mientras no-junto-a-zumbador hacer paso;
   fin;

   define-nueva-instruccion tachar como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         tachar;
         camina;
      fin;
   fin;

   define-nueva-instruccion contarloszumbadores(n) como inicio

      si no(orientado-al-sur y frente-bloqueado) entonces inicio
         paso;
         contarloszumbadores(sucede(n));
      fin sino inicio
         repetir precede(n) veces inicio
            tachar;
         fin;
      fin
    fin;

    define-nueva-instruccion dejar como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          dejar;
          deja-zumbador;
       fin sino inicio
          ir_11;
       fin;
    fin;


    inicia-ejecucion
       ir_11;
       este;
       contarloszumbadores(0);
       dejar;
        apagate;
    termina-ejecucion
finalizar-programa

