iniciar-programa
define-prototipo-instruccion paso(p);
define-nueva-instruccion g(h) como
inicio
    repetir h veces gira-izquierda;
fin;
define-nueva-instruccion camina(c) como
inicio
     si junto-a-zumbador entonces inicio
         si si-es-cero (c) entonces inicio
             paso(0);
         fin
         sino inicio
             coge-zumbador;
             si junto-a-zumbador entonces inicio
                 coge-zumbador;
                 si junto-a-zumbador entonces inicio
                     mientras junto-a-zumbador hacer coge-zumbador;
                 fin
                 sino inicio
                     g(3);
                 fin;
             fin
             sino inicio
                 g(1);
             fin;
             repetir c veces avanza;
             camina(c);
             deja-zumbador;
         fin;
    fin;
fin;
define-nueva-instruccion paso(p) como
inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        paso(sucede(p));
    fin
    sino inicio
        repetir p veces avanza;
        camina(p);
    fin;
fin;
    inicia-ejecucion
    camina(0);
    deja-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
