Главная / Программирование /
Основы программирования на языке Пролог / Тест 4
Основы программирования на языке Пролог - тест 4
Упражнение 1:
Номер 1
Нужно ли в теле правила, определяющего шаг рекурсии, указывать в качестве подцели определяемый предикат?
Ответ:
 (1) да 
 (2) нет 
Номер 2
Какой из алгоритмов, в общем случае, требует больше оперативной памяти?
Ответ:
 (1) рекурсивный 
 (2) итерационный 
Номер 3
Какие из алгоритмов проще с логической точки зрения:
Ответ:
 (1) рекурсивные 
 (2) итерационные 
Упражнение 2:
Номер 1
Оптимизация, после которой рекурсия будет использовать столько же оперативной памяти, сколько и итерация, возможна для
Ответ:
 (1) левосторонней рекурсии 
 (2) правосторонней рекурсии 
 (3) и левосторонней, и правосторонней рекурсии 
 (4) ни для левосторонней, ни для правосторонней рекурсии 
Номер 2
Обязательно ли должно быть предложение, реализующее шаг рекурсии, в рекурсивной процедуре?
Ответ:
 (1) да 
 (2) нет 
Номер 3
Сколько базисов рекурсии должно быть в рекурсивной процедуре?
Ответ:
 (1) ни одного 
 (2) один 
 (3) не менее одного 
Упражнение 3:
Номер 1
Отношение называется транзитивным, если
Ответ:
 (1) для любой пары (A,B)
, находящейся в этом отношении следует, что пара (B,A)
также находится в этом отношении 
 (2) для любой пары (A,B)
, находящейся в этом отношении следует, что пара (B,A)
не находится в этом отношении 
 (3) для любых пар (A,B)
и (B,C)
, находящихся в этом отношении следует, что пара (A,С)
также находится в этом отношении 
 (4) для любых пар (A,B)
и (B,C)
, находящихся в этом отношении следует, что пара (A,С)
не находится в этом отношении 
Номер 2
Одно отношение называется транзитивным замыканием другого отношения, если
Ответ:
 (1) это наименьшее транзитивное отношение, включающее исходное отношение 
 (2) это наибольшее транзитивное отношение, включающее исходное отношение 
 (3) оно включает исходное отношение и является транзитивным отношением 
Номер 3
Следует избегать использования
Ответ:
 (1) левосторонней рекурсии 
 (2) правосторонней рекурсии 
 (3) и левосторонней, и правосторонней рекурсии 
 (4) ни левосторонней, ни правосторонней рекурсии 
Упражнение 4:
Номер 1
Что, скорее всего, произойдет, если удалить предложение, реализующее базис рекурсии?
Ответ:
 (1) ничего 
 (2) пролог система выдаст сообщение об ошибке 
 (3) произойдет зацикливание 
 (4) предикат будет терпеть неуспех в большинстве случае 
Номер 2
Левосторонняя рекурсия плоха тем, что она
Ответ:
 (1) приводит к зацикливанию и исчерпанию стека 
 (2) слишком медленно работает 
 (3) менее понятна, чем правосторонняя 
Номер 3
Что, скорее всего, произойдет, если удалить предложение, реализующее базис рекурсии?
Ответ:
 (1) ничего 
 (2) пролог система выдаст сообщение об ошибке 
 (3) произойдет зацикливание 
 (4) предикат будет терпеть неуспех в большинстве случае 
Упражнение 5:
Номер 1
В результате выполнения предиката fib(2,X)
переменная X
будет означена числом
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
 (4) 3 
 (5) 5 
Номер 2
В результате выполнения предиката fib_fast(3,X,Y)
переменные X
и Y
получат значения:
Ответ:
 (1) X=1, Y=1
 
 (2) X=1, Y=2
 
 (3) X=2, Y=3
 
 (4) X=3, Y=5
 
 (5) X=2, Y=2
 
Номер 3
В результате выполнения предиката fact(4,X)
переменная X
будет означена числом
Ответ:
 (1) 0 
 (2) 1 
 (3) 4 
 (4) 12 
 (5) 24