iniciar-programa
define-nueva-instruccion a como si frente-libre entonces avanza;
define-nueva-instruccion gi como gira-izquierda;
define-nueva-instruccion mv como repetir 2 veces gi;
define-nueva-instruccion gd como repetir 3 veces gi;
define-nueva-instruccion sa como mientras frente-libre hacer a;
define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gi;
define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gi;
define-nueva-instruccion este como mientras no-orientado-al-este hacer gi;
define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gi;
define-nueva-instruccion barrido como
inicio
    si junto-a-zumbador entonces coge-zumbador sino inicio repetir 100 veces deja-zumbador; apagate; fin;
    si frente-libre entonces inicio a; barrido; fin
    sino inicio mv; sa; gd; si frente-libre entonces inicio a; gd; barrido; fin sino inicio sur; sa; este; barrido; fin; fin;
fin;
    inicia-ejecucion
    oeste;
    sa;
    sur;
    sa;
    este;
    barrido;
        apagate;
    termina-ejecucion
finalizar-programa
