iniciar-programa

    define-nueva-instruccion media-vuelta como inicio
        repetir 2 veces inicio
            gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion norte como inicio
        mientras no-orientado-al-norte hacer inicio
            gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion gira-derecha como inicio
        repetir 3 veces inicio
            gira-izquierda;
        fin;
    fin;


    define-nueva-instruccion topar-pared como inicio
        mientras frente-libre hacer inicio
            avanza;
        fin;
    fin;

    define-nueva-instruccion este como inicio
        mientras no-orientado-al-este hacer inicio
            gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion IrAlEste como inicio
        este;
        topar-pared;
    fin;

    define-nueva-instruccion brinca como inicio
        IrAlEste;
        norte;
        mientras derecha-bloqueada hacer inicio
            avanza;
        fin;
        este;
        avanza;
        gira-derecha;
        topar-pared;
        este;
    fin;

    define-nueva-instruccion tomar como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            tomar;
            deja-zumbador;
        fin
        sino inicio
            si frente-libre entonces inicio
                avanza;
                tomar;
                avanza;
            fin
            sino inicio
                brinca;
            fin;
        fin;
    fin;
    inicia-ejecucion
        IrAlEste;
        media-vuelta;
        tomar;
        apagate;
    termina-ejecucion
finalizar-programa
