iniciar-programa

   define-nueva-instruccion sur como
    inicio
        mientras no-orientado-al-sur hacer
        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 este como
    inicio
         mientras no-orientado-al-este hacer
        inicio
            gira-izquierda;
        fin;
    fin;

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

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

    define-nueva-instruccion recorrido como
    inicio
        deja-zumbador;
        norte;
        camina;
        si no-junto-a-zumbador entonces
        inicio
        deja-zumbador;
        fin;
        este;
        camina;
         si no-junto-a-zumbador entonces
        inicio
        deja-zumbador;
        fin;
        sur;
        camina;
         si no-junto-a-zumbador entonces
        inicio
        deja-zumbador;
        fin;
        oeste;

    fin;

    define-nueva-instruccion diagonal-norte como
    inicio
        mientras frente-libre hacer
        inicio
            avanza;
            norte;
            avanza;
            si no-junto-a-zumbador entonces
            inicio
                deja-zumbador;
            fin;
            oeste;
        fin;
    fin;

     define-nueva-instruccion diagonal-este como
    inicio
        mientras frente-libre hacer
        inicio
            avanza;
            norte;
            avanza;
            si no-junto-a-zumbador entonces
            inicio
                deja-zumbador;
            fin;
            este;
        fin;
    fin;

    inicia-ejecucion
    sur;
    camina;
    oeste;
    camina;
    recorrido;
    diagonal-norte;
    sur;
    camina;
    este;
    diagonal-este;


        apagate;
    termina-ejecucion
finalizar-programa
