Главная / Программирование /
Языки логического программирования / Тест 10
Языки логического программирования - тест 10
Упражнение 1:
Номер 1
Что такое стратегия вычислений в Прологе?
Ответ:
 (1) применение оператора отсечения 
 (2) применение спецификаций 
 (3) порядок обхода дерева вычислений 
 (4) порядок выполнения атомов запроса 
 (5) порядок применения правил программы 
Номер 2
Что не определяет стратегия вычислений Пролога?
Ответ:
 (1) применение оператора отсечения 
 (2) применение спецификаций 
 (3) порядок обхода дерева вычислений 
 (4) порядок выполнения атомов запроса 
 (5) порядок применения правил программы 
 (6) применение универсальных фактов 
Номер 3
Что не предотвращает зацикливания при вычислениях Пролога?
Ответ:
 (1) применение операторов отсечений 
 (2) применение спецификаций 
 (3) применение "стратегии в ширину" 
 (4) применение стратегии в глубину и слева направо 
 (5) применение стратегии "и"-параллельности 
Упражнение 2:
Номер 1
Что такое правило отсечения в Прологе?
Ответ:
 (1) применение спецификаций, отсекающих бесконечные ветви дерева вычислений 
 (2) применение оператора отсечения, выполнение которого приводит к отмене всех предыдущих точек разветвления в дереве вычислений 
 (3) применение части правил, идущих до правила с оператором отсечения 
 (4) вычисление только тех атомов запроса, которые идут до оператора отсечения 
Номер 2
С чем не связан backtracking?
Ответ:
 (1) возврат к последней точке разветвления 
 (2) отмена всех результатов вычислений после точки разветвления 
 (3) тупик вычислений, при котором очередное правило программы не допускает интерпретации переменных 
 (4) возврат к корню дерева вычислений 
Номер 3
С чем не связано применение спецификаций?
Ответ:
 (1) преодоление бесконечных ветвей дерева вычислений 
 (2) преодоление большого перебора 
 (3) подсказки интерпретатора программиста о порядке обхода дерева вычислений 
 (4) подсказки интерпретатору о порядке применения правил программы 
 (5) подсказки интерпретатору о порядке выделения атомов запроса 
Упражнение 3:
Номер 1
При каких стратегиях вычислений не идет передвижения сверху вниз по правилам программы?
Ответ:
 (1) при стратегии "в ширину" 
 (2) при стратегии " в глубину и слева направо" 
 (3) при стратегии ""или"-параллельность" 
 (4) при стратегии ""и"-параллельность" 
Номер 2
При каких стратегиях вычислений не идет передвижение слева направо по атомам запроса?
Ответ:
 (1) при стратегии "в ширину" 
 (2) при стратегии " в глубину и слева направо" 
 (3) при стратегии ""или"-параллельность" 
 (4) при стратегии ""и"-параллельность" 
Номер 3
При каких стратегиях вычислений идет поиск правила для выделенного атома запроса?
Ответ:
 (1) при стратегии "в ширину" 
 (2) при стратегии " в глубину и слева направо" 
 (3) при стратегии ""или"-параллельность" 
 (4) при стратегии ""и"-параллельность" 
Номер 4
При каких стратегиях вычислений идет попытка вычисления всех (или нескольких) атомов для выделенного правила программы?
Ответ:
 (1) при стратегии "в ширину" 
 (2) при стратегии " в глубину и слева направо" 
 (3) при стратегии ""или"-параллельность" 
 (4) при стратегии ""и"-параллельность" 
Упражнение 4:
Номер 1
В каком случае предикат nonvar(X)
возвращает истинное значение?
Ответ:
 (1) X
является неконкретизированной переменной 
 (2) X
не является неконкретизированной переменной 
 (3) X
является термом 
 (4) X
является целым числом 
Номер 2
В каком случае предикат var(X)
возвращает истинное значение?
Ответ:
 (1) X
является термом 
 (2) X
является целым числом 
 (3) X
является неконкретизированной переменной 
 (4) X
не является неконкретизированной переменной 
Номер 3
К чему приводит выполнение запроса ↔ consult(X)
?
Ответ:
 (1) удаляет из программы все правила из файла X
 
 (2) заменяет все правила до данного на правила из файла X
 
 (3) добавляет правила из файла X
в конец программы 
 (4) запрашивает ввод файла X
 
Упражнение 5:
Номер 1
Какие выражения не являются встроенными предикатами?
Ответ:
 (1) plus(X, Y,Z)
 
 (2) true
 
 (3) times (X, Y, Z)
 
 (4) false
 
Номер 2
Какие выражения не являются встроенными предикатами?
Ответ:
 (1) read (X)
 
 (2) fail
 
 (3) true
 
 (4) times(X, Y, Z)
 
Номер 3
Какие выражения не являются встроенными предикатами?
Ответ:
 (1) fail
 
 (2) true
 
 (3) plus(X, Y, Z)
 
 (4) mult(X, Y, Z)
 
Упражнение 6:
Номер 1
Где употребляется точка с запятой и что она означает?
Ответ:
 (1) в правилах программы разделяет варианты тела правила 
 (2) в запросах означает дизъюнкцию атомов 
 (3) в выражениях означает объединение выражений 
 (4) в правилах означает дизъюнкцию атомов заголовка 
Номер 2
Где употребляется конструкция not и что она означает?
Ответ:
 (1) в выражениях означает отрицание логической переменной 
 (2) в заголовке правила означает отрицание значения предиката заголовка 
 (3) перед запросом означает поиск интерпретаций переменных, прпи которых запрос и правила программы не являются истинными 
 (4) перед предикатом запроса или тела правила означает отрицание значения предиката 
Номер 3
Что делает и что возвращает запрос ↔ read(x)
?
Ответ:
 (1) читает из файла X
правила программы 
 (2) читает из файла X
запрос 
 (3) читает из входного потока терм и возвращает результат сравнеия с X
 
 (4) заменяет правили программы с номером X
на правило, считанное из входного потока