iniciar-programa
    define-nueva-instruccion avanzar como inicio
        mientras frente-libre hacer avanza;
    fin;

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

    define-nueva-instruccion siguiente-pared como inicio
       si frente-libre entonces inicio
           avanza;
        si derecha-libre entonces inicio
            gira-derecha;
            avanza;
            si derecha-libre entonces inicio
                gira-derecha;
                avanza;
            fin;
        fin;

       fin sino inicio
           gira-izquierda;
       fin;
    fin;


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


    define-nueva-instruccion buscar como inicio
        gira-izquierda;
        mientras frente-libre hacer inicio
            avanza;
            si junto-a-zumbador entonces inicio
                apagate;
            fin;
        fin;
        gira-izquierda;
        gira-izquierda;
        avanzar;
        gira-izquierda;
    fin;


    inicia-ejecucion
avanzar;    
    orientar;

    mientras no-junto-a-zumbador hacer inicio
        siguiente-pared;
        buscar;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
