iniciar-programa
   define-nueva-instruccion cuenta(x) como inicio
      mientras no-junto-a-zumbador hacer inicio
         mientras (frente-libre y derecha-bloqueada) o (frente-libre y izquierda-bloqueada) hacer inicio
            avanza;
            cuenta(sucede(x));
         fin;
         si frente-bloqueado y izquierda-libre y derecha-bloqueada entonces inicio
            gira-izquierda;
            avanza;
            cuenta(sucede(x));
            cuenta(sucede(x));

         fin;
         si frente-bloqueado y derecha-libre y izquierda-bloqueada entonces inicio     
            gira-izquierda;
            gira-izquierda;
            gira-izquierda;
            avanza;
            cuenta(sucede(x));
            cuenta(sucede(x));
            cuenta(sucede(x));
            cuenta(sucede(x));
         fin;
      fin;
        deja-zumbador;
   fin;
    inicia-ejecucion
       cuenta(0);
       coge-zumbador;
       coge-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
