Главная / Программирование /
Основы программирования на языке Visual Prolog / Тест 4
Основы программирования на языке Visual Prolog - тест 4
Упражнение 1:
Номер 1
Вызов предиката fail
Ответ:
 (1) всегда успешен 
 (2) всегда неуспешен 
 (3) может быть как успешным, так и неуспешным 
 (4) не может быть ни успешным, ни неуспешным 
Номер 2
Вызов предиката repeat
Ответ:
 (1) всегда успешен 
 (2) всегда неуспешен 
 (3) может быть как успешным, так и неуспешным 
 (4) не может быть ни успешным, ни неуспешным 
Номер 3
Знак :=
используется в языке Visual Prolog для присваивания значений
Ответ:
 (1) свободным переменным 
 (2) связанным переменным 
 (3) конкретизированным переменным 
 (4) фактам-переменным 
Упражнение 2:
Номер 1
Определение предикатов lang
и print
имеет вид:lang(1, prolog).
lang(2, python).
lang(3, pascal).
print() :- lang(N, L), write(L), nl, N = 2, !.
print().
Сколько названий языков будет напечатано при вызове цели print()
?
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
 (4) 3 
Номер 2
Определение предикатов lang
и print
имеет вид:lang(1, prolog).
lang(2, python).
lang(3, pascal).
print() :- lang(N, L), write(L), nl, fail.
print().
Сколько названий языков будет напечатано при вызове цели print()
?
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 6 
Номер 3
Определение предикатов lang
и print
имеет вид:lang(1, prolog).
lang(2, python) :- !.
lang(3, pascal).
print() :- lang(N, L), write(L), nl, fail.
print().
Сколько названий языков будет напечатано при вызове цели print()
?
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Упражнение 3:
Номер 1
Определение предикатов fruit
и print
имеет вид:fruit(1, apple).
fruit(2, pear).
print() :- fruit(_, X), write(X), nl, fruit(_, Y), write(Y), nl, fail.
print().
Напишите название фрукта, которое будет напечатано третьим в результате вызова цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Номер 2
Определение предикатов fruit
и print
имеет вид:fruit(1, apple).
fruit(2, pear).
print() :- fruit(_, X), fruit(_, Y), write(X), nl, write(Y), nl, fail.
print().
Напишите название фрукта, которое будет напечатано третьим в результате вызова цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Номер 3
Определение предикатов fruit
и print
имеет вид: fruit(1, apple).
fruit(2, pear).
print() :- fruit(N, X), fruit(_, Y), write(X), nl, write(Y), nl, N = 2, !.
print().
Напишите название фрукта, которое будет напечатано последним в результате вызова цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Упражнение 4:
Номер 1
Определение предиката print
имеет вид:print() :- repeat(), write('a'), !.
print().
Сколько раз будет напечатан символ 'a' при вызове цели print()
?
Ответ:
 (1) ни одного раза 
 (2) один раз 
 (3) два раза 
 (4) более двух раз 
Номер 2
Определение предиката print
имеет вид:print() :- write('a'), repeat(), !.
print().
Сколько раз будет напечатан символ 'a' при вызове цели print()
?
Ответ:
 (1) ни одного раза 
 (2) один раз 
 (3) два раза 
 (4) более двух раз 
Номер 3
Определение предиката print
имеет вид: print() :- fail, repeat(), write('a'), !.
print().
Сколько раз будет напечатан символ 'a' при вызове цели print()
?
Ответ:
 (1) ни одного раза 
 (2) один раз 
 (3) два раза 
 (4) более двух раз 
Упражнение 5:
Номер 1
Определение предикатов fruit
и print
имеет вид:fruit(1, apple).
fruit(2, pear).
print() :- repeat(), fruit(N, X), write(X), nl, fruit(K, Y), write(Y), nl, N < K, !.
print().
Сколько названий фруктов будет напечатано при вызове цели print()
?
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 2
Определение предикатов fruit
и print
имеет вид:fruit(1, apple).
fruit(2, pear).
print() :- repeat(), fruit(N, X), write(X), nl, fruit(K, Y), write(Y), nl, N > K, !.
print().
Сколько названий фруктов будет напечатано при вызове цели print()
?
Ответ:
 (1) 2 
 (2) 3 
 (3) 4 
 (4) 5 
Номер 3
Определение предикатов fruit
и print
имеет вид:fruit(1, apple).
fruit(2, pear).
print() :- repeat(), fruit(N, X), write(X), nl, fruit(K, Y), write(Y), nl, N = K, !.
print().
Сколько названий фруктов будет напечатано при вызове цели print()
?
Ответ:
 (1) 0 
 (2) 2 
 (3) 3 
 (4) 4 
Упражнение 6:
Номер 1
Начальное значение факта-переменной n равно 0. Определение предикатов fruit
и print
имеет вид:fruit(1, "apple").
fruit(2, "pear").
print() :- repeat(), fruit(_, X), n := n + 1, write(X), nl, n = 4, !.
print().
Напишите название фрукта, которое будет напечатано последним при вызове цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Номер 2
Начальное значение факта-переменной n равно 0. Определение предикатов fruit
и print
имеет вид:fruit(1, "apple").
fruit(2, "pear").
print() :- repeat(), n := n + 1, fruit(_, X), write(X), nl, n = 2, !.
print().
Напишите название фрукта, которое будет напечатано последним при вызове цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Номер 3
Начальное значение факта-переменной n
равно 0. Определение предикатов fruit
и print
имеет вид:fruit(1, "apple").
fruit(2, "pear").
print() :- repeat(), fruit(_, X), write(X), nl, n := n + 1, n = 3, !.
print().
Напишите название фрукта, которое будет напечатано последним при вызове цели print()
:
Ответ:
 (1) apple
 
 (2) pear
 
Упражнение 7:
Номер 1
Добавляет факт в начало внутренней базы данных предикат:
Ответ:
 (1) assert
 
 (2) asserta
 
 (3) save
 
 (4) assertz
 
Номер 2
Укажите все предикаты, которые добавляют факт в конец внутренней базы данных:
Ответ:
 (1) assert
 
 (2) asserta
 
 (3) save
 
 (4) assertz
 
Номер 3
Укажите все предикаты, которые используются для добавления фактов во внутреннюю базу данных:
Ответ:
 (1) assert
 
 (2) asserta
 
 (3) save
 
 (4) assertz
 
Упражнение 8:
Номер 1
Укажите все предикаты, которые используются для удаления фактов из внутренней базы данных:
Ответ:
 (1) retract
 
 (2) retractAll
 
 (3) reconsult
 
 (4) retractFactDb
 
Номер 2
Укажите предикат, который может возвращать сведения из фактов, удаляемых из внутренней базы данных:
Ответ:
 (1) retract
 
 (2) retractAll
 
 (3) reconsult
 
 (4) retractFactDb
 
Номер 3
Укажите предикат, который удаляет все записи из внутренней базы данных:
Ответ:
 (1) retract
 
 (2) retractAll
 
 (3) reconsult
 
 (4) retractFactDb