игра брюс 2048
Главная / Программирование / Логическое программирование / Тест 8

Логическое программирование - тест 8

Упражнение 1:
Номер 1
Предикат not(P) в языке программирования Prolog завершается успехом, если:

Ответ:

 (1) доказательство P неуспешно 

 (2) удается найти хотя бы одно доказательство P 

 (3) удается найти все возможные доказательства P 


Номер 2
Предикат not(P) в языке программирования Prolog завершается неуспехом, если:

Ответ:

 (1) доказательство P неуспешно 

 (2) удается найти хотя бы одно доказательство P 

 (3) удается найти все возможные доказательства P 


Номер 3
SLDNF-резолюция ... 

Ответ:

 (1) обладает свойством полноты 

 (2) не обладает свойством полноты 

 (3) всегда заканчивается успехом 


Упражнение 2:
Номер 1
Укажите определение теоремы о достоверности отрицания по конечному неуспеху:

Ответ:

 (1) пусть P — логическая программа без отрицаний. Если некоторое утверждение A имеет конечное дерево SLD-резолюции, заканчивающиеся неуспехом, то math 

 (2) пусть P — логическая программа без отрицаний. Если math, то существует конечное дерево SLD-резолюции для A, заканчивающееся неуспехом 

 (3) math не выводимо тогда, когда A имеет конечное дерево вывода, заканчивающиеся неуспехом 


Номер 2
Предикат repeat языка программирования Prolog:

Ответ:

 (1) может заканчиваться как успехом, так и неуспехом 

 (2) всегда заканчивается успехом 

 (3) всегда заканчивается неуспехом 


Номер 3
Декларативная семантическая модель программы на языке Prolog:

Ответ:

 (1) рассматривает правила как последовательность шагов, которые необходимо успешно выполнить для того, чтобы соблюдалось отношение, приведенное в заголовке правила 

 (2) рассматривает отношения, определенные в программе, при этом порядок следования предложений в программе и условий в правиле не важен 

 (3) рассматривает отношения, не определенные в программе 


Упражнение 3:
Номер 1
Укажите определение теоремы о полноте отрицания по конечному неуспеху:

Ответ:

 (1) Пусть P — логическая программа без отрицаний. Если некоторое утверждение A имеет конечное дерево SLD-резолюции, заканчивающиеся неуспехом, то math 

 (2) Пусть P — логическая программа без отрицаний. Если math, то существует конечное дерево SLD-резолюции для A, заканчивающееся неуспехом 

 (3) math не выводимо тогда, когда A имеет конечное дерево вывода, заканчивающиеся неуспехом 


Номер 2
Использование предиката repeat языка программирования Prolog возможно только с:

Ответ:

 (1) предикатами без "побочных эффектов" 

 (2) предикатами с "побочным эффектом" 

 (3) предикатами, всегда заканчивающимися успехом 


Номер 3
Процедурная семантическая модель программы на языке Prolog:

Ответ:

 (1) рассматривает отношения, не определенные в программе 

 (2) рассматривает правила как последовательность шагов, которые необходимо успешно выполнить для того, чтобы соблюдалось отношение, приведенное в заголовке правила 

 (3) рассматривает отношения, определенные в программе, при этом порядок следования предложений в программе и условий в правиле не важен 


Упражнение 4:
Номер 1
Отсечения, при устранении которых программа начинает выдавать неправильные решения, называются:

Ответ:

 (1) "красными" 

 (2) "зелеными" 

 (3) "синими" 


Номер 2
Укажите дополнительное правило SLDNF-резолюции:

Ответ:

 (1) math выводимо тогда и только тогда, когда A имеет конечное дерево вывода, заканчивающееся неуспехом 

 (2) math невыводимо тогда, когда A имеет конечное дерево вывода, заканчивающееся неуспехом 

 (3) math выводимо тогда и только тогда, когда A имеет конечное дерево вывода, заканчивающееся успехом 


Номер 3
Какое из утверждений соответствует дополнительному правило SLDNF-резолюции:

Ответ:

 (1) math заканчивается неуспехом тогда и только тогда, когда A не имеет конечного успешного дерева вывода 

 (2) math заканчивается успехом тогда и только тогда, когда A имеет конечное успешное дерево вывода 

 (3) math заканчивается неуспехом тогда и только тогда, когда A имеет конечное успешное дерево вывода 


Упражнение 5:
Номер 1
Предикат отрицания not в Prolog:

Ответ:

 (1) не генерирует значений 

 (2) может генерировать значения 

 (3) всегда генерирует значения 


Номер 2
Двойное отрицание с использованием предиката not в Prolog:

Ответ:

 (1) не генерирует значений 

 (2) может генерировать значения 

 (3) всегда генерирует значения 


Номер 3
Может ли данный запрос в Prolog генерировать ответ в виде значений искомых переменных:
        ?-not(not(parent(X,Y))).

Ответ:

 (1) нет 

 (2) да 

 (3) в зависимости от исходных фактов 


Упражнение 6:
Номер 1
Укажите результат запроса ?- white(X), not(sweet(X)). для представленного ниже набора фактов на языке Prolog:
        sweet(sugar).
        white(sugar).
        white(paper).
        

Ответ:

 (1) x=paper 

 (2) no 

 (3) x=sugar 

 (4) yes 


Номер 2
Укажите результат запроса ?- not(sweet(X)),white(X). для представленного ниже набора фактов на языке Prolog:
        sweet(sugar).
        white(sugar).
        white(paper).
        

Ответ:

 (1) x=paper 

 (2) no 

 (3) x=sugar 

 (4) yes 


Номер 3
Укажите результат запроса ?- sweet(X),white(X). для представленного ниже набора фактов на языке Prolog:
        sweet(sugar).
        white(sugar).
        white(paper).
        

Ответ:

 (1) x=paper 

 (2) no 

 (3) x=sugar 

 (4) yes 


Упражнение 7:
Номер 1
"Зеленые" отсечения - это ... 

Ответ:

 (1) отсечения, при отбрасывании которых программа продолжает выдавать те же решения, что и при наличии отсечения 

 (2) отсечения, при устранении которых программа начинает выдавать неправильные решения 

 (3) отсечения, которые всегда заканчиваются неуспехом 


Номер 2
"Красные" отсечения - это ... 

Ответ:

 (1) отсечения, при отбрасывании которых программа продолжает выдавать те же решения, что и при наличии отсечения 

 (2) отсечения, при устранении которых программа начинает выдавать неправильные решения 

 (3) отсечения, которые всегда заканчиваются неуспехом 


Номер 3
Отсечения, при отбрасывании которых программа продолжает выдавать те же решения, что и при наличии отсечения, называются:

Ответ:

 (1) "красными" 

 (2) "зелеными" 

 (3) "синими" 


Упражнение 8:
Номер 1
Укажите, какой вид отсечения используется в приведенном ниже фрагменте кода на Prolog:
        max(X,Y,X) :- X>Y,!.
        max(_,Y,Y).
        

Ответ:

 (1) "красное" отсечение 

 (2) "зеленое" отсечение 

 (3) в данном фрагменте нет отсечения 


Номер 2
Укажите, какой вид отсечения используется в приведенном ниже фрагменте кода на Prolog:
        max(X,Y,X) :- X>Y,!.
        max(X,Y,Y) :- X<=Y.
        

Ответ:

 (1) "красное" отсечение 

 (2) "зеленое" отсечение 

 (3) в данном фрагменте нет отсечения 


Номер 3
Укажите, какой вид отсечения используется в приведенном ниже фрагменте кода на Prolog:
        max(X,Y,X) :- X>Y.
        max(X,Y,Y) :- X<=Y.
        

Ответ:

 (1) "красное" отсечение 

 (2) "зеленое" отсечение 

 (3) в данном фрагменте нет отсечения 


Упражнение 9:
Номер 1
Родительским целевым утверждением для некоторого вхождения отсечения в логическую программу называется:

Ответ:

 (1) целевое утверждение, которое приводит к вызову правила, содержащего отсечение 

 (2) целевое утверждение, которое не приводит к вызову правила, содержащего отсечение 

 (3) целевое утверждение, которое приводит к вызову правила, не содержащего отсечения 


Номер 2
Целевое утверждение, которое приводит к вызову правила, содержащего отсечение, называется:

Ответ:

 (1) дочерним целевым утверждением 

 (2) родительским целевым утверждением 

 (3) фактом 


Номер 3
Укажите родительское целевое утверждение в данном примере:
        C :- P, Q, !, R, S.
        F :- T.
        A :- B, C, D.
        

Ответ:

 (1) C 

 (2) A 

 (3) F 


Упражнение 10:
Номер 1
Аналогом какого предиката является в данном фрагменте программного кода Prolog предикат x?
        x(P) :- P, !, fail.
        x(_).
        

Ответ:

 (1) member 

 (2) repeat 

 (3) not 


Номер 2
Встроенный предикат отсечения языка Prolog ... 

Ответ:

 (1) имеет декларативную семантику 

 (2) не имеет процедурной семантики 

 (3) не имеет декларативной семантики 


Номер 3
Встроенный предикат отсечения на языке Prolog обозначается символом:

Ответ:

 (1) $ 

 (2) _ 

 (3) # 

 (4) ! 


Упражнение 11:
Номер 1
Аналогом какого оператора императивного языка является приведенный ниже код на языке программирования Prolog:
        Q :- A, !, B.
        Q :- C.
        

Ответ:

 (1) if 

 (2) while 

 (3) for 


Номер 2
Аналогом какого оператора императивного языка является приведенный ниже код на языке программирования Prolog:
        Q :- A, B.
        Q :- not(A), C.
        

Ответ:

 (1) if 

 (2) while 

 (3) for 


Номер 3
Аналогом какого оператора императивного языка является приведенный ниже код на языке программирования Prolog:
        W:- A,P,W.
        W:-!.
        

Ответ:

 (1) if 

 (2) while 

 (3) for 


Упражнение 12:
Номер 1
Укажите ответ на запрос ?- num_legs(centipede,X). для приведенной ниже программы Prolog:
        num_legs(centipede,40) :- !.
        num_legs(human,2) :- !.
        num_legs(_,4).
        

Ответ:

 (1) X=40 

 (2) X=4 

 (3) X=2 

 (4) yes 

 (5) no 


Номер 2
Укажите ответ на запрос ?- num_legs(dog,X). для приведенной ниже программы Prolog:
        num_legs(centipede,40) :- !.
        num_legs(human,2) :- !.
        num_legs(_,4).
        

Ответ:

 (1) X=40 

 (2) X=4 

 (3) X=2 

 (4) yes 

 (5) no 


Номер 3
Укажите ответ на запрос ?- num_legs(centipede,4). для приведенной ниже программы Prolog:
        num_legs(centipede,40) :- !.
        num_legs(human,2) :- !.
        num_legs(_,4).
        

Ответ:

 (1) X=40 

 (2) X=4 

 (3) X=2 

 (4) yes 

 (5) no 




Главная / Программирование / Логическое программирование / Тест 8