iniciar-programa

    define-nueva-instruccion orientar como inicio
        mientras izquierda-libre hacer inicio
            gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion camina como inicio
        si frente-bloqueado entonces inicio
            gira-izquierda;
            gira-izquierda;
            gira-izquierda;
        fin;
        avanza;
        si izquierda-libre entonces inicio
            gira-izquierda;
            avanza;
            si izquierda-libre entonces inicio
                gira-izquierda;
                avanza;
            fin;

         fin;
       fin;



    define-nueva-instruccion marcar como inicio
        mientras no-junto-a-zumbador hacer inicio
            deja-zumbador;
            camina;
        fin;
    fin;

    define-nueva-instruccion buscaSalida como inicio
        repetir 3 veces inicio
            gira-izquierda;
         fin;
         mientras frente-libre hacer inicio
            avanza;
         fin;
         si junto-a-zumbador entonces inicio
             gira-izquierda;
             gira-izquierda;
             mientras frente-libre hacer inicio
                 avanza;
             fin;
             orientar;

            fin;

       fin;

    define-nueva-instruccion salir como inicio
        mientras junto-a-zumbador hacer inicio
            camina;
            buscaSalida;
        fin;
    fin;

    define-nueva-instruccion ir11 como inicio
        mientras no (derecha-bloqueada y frente-bloqueado y orientado-al-sur) hacer inicio
            gira-izquierda;
            mientras frente-libre hacer inicio
                avanza;
            fin;

        fin;
    fin;


    inicia-ejecucion
        orientar;
        marcar;
        salir;
        ir11;
        apagate;
    termina-ejecucion
finalizar-programa
