iniciar-programa
define-nueva-instruccion acomoda como
    inicio
    si junto-a-zumbador entonces
        inicio
        coge-zumbador;
         si junto-a-zumbador entonces
         inicio
         coge-zumbador;
         avanza;
         acomoda;
         deja-zumbador;
         avanza;
         sal-de-instruccion;
         fin;
        avanza;
        acomoda;
        avanza;
        sal-de-instruccion;
        fin;
     mientras derecha-bloqueada hacer avanza;
     repetir 3 veces gira-izquierda;
     avanza;
     repetir 3 veces gira-izquierda;
     mientras frente-libre hacer avanza;
     repetir 2 veces gira-izquierda;
    fin;

define-nueva-instruccion binario(n) como
inicio
    si junto-a-zumbador entonces
        inicio
        coge-zumbador;
         si junto-a-zumbador entonces
           inicio
           coge-zumbador;
           binario(sucede(n));
           fin
           sino
           inicio
           deja-zumbador;
           avanza;
           fin;
        fin
        sino
        avanza;
     si si-es-cero(n) entonces
         inicio
         repetir 2 veces gira-izquierda;
         mientras frente-libre hacer
         inicio
         avanza;
         deja-zumbador;
         fin;
         repetir 2 veces gira-izquierda;
         acomoda;
         repetir 2 veces deja-zumbador;
         apagate;
         fin
         sino
         inicio
         repetir n veces deja-zumbador;
         binario(0);
         fin;
    repetir n veces deja-zumbador;
fin;
    inicia-ejecucion
    mientras no-orientado-al-este hacer gira-izquierda;
    binario(0);
        apagate;
    termina-ejecucion
finalizar-programa
