        iniciar-programa

         define-nueva-instruccion avanzapasos( n ) como
inicio
si frente-libre entonces
inicio
    si derecha-libre y orientado-al-norte entonces
        inicio
          si frente-libre entonces
          avanza;
          avanzapasos(sucede( n ) );
        fin;
    si derecha-libre y orientado-al-sur entonces
        inicio
        si frente-libre entonces
        avanza;
        avanzapasos(precede(n));
        fin;
    si derecha-libre y orientado-al-este entonces
        inicio
        mientras derecha-libre y frente-libre hacer
        avanza;
        avanzapasos(n);
        fin;
    si derecha-libre y orientado-al-oeste entonces
        inicio
        mientras derecha-libre y frente-libre hacer
        avanza;
        avanzapasos(n);
        fin;
    si frente-libre entonces
        inicio
        gira-izquierda;
        avanzapasos(n);
        fin;
 fin;
 repetir n veces
 deja-zumbador;
 apagate;

fin;

   inicia-ejecucion
        avanzapasos(0);
        apagate;
    termina-ejecucion
finalizar-programa

