wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Списки в Прологе

Total questions: 10

Worksheet time: 10mins

Name
Class
Date
1.

Список в Прологе это

a)

специальный вид терма, представляющего последовательность элементов - произвольных термов.

b)

специальный вид терма, представляющего последовательность произвольных термов за исключением списков.

c)

рекурсивная структура, состоящая из головы и "хвоста".

d)

линейная структура, состоящая из 1 и более произвольных элементов

2.

Хвост списка представляет собой

a)

последний элемент

b)

список из всех элементов за исключением первого

c)

все элементы списка кроме первого

3.

Выберите предикат, реализующий конкатенацию двух списков

a)

Z=append(X,Y,Z).

b)

append([], Z, Z).

append([_|X], Y, [_|Z]) :- append(X,Y,Z).

c)

append([], Z, Z).

append([X|_], Y, [X|Z]) :- append(_,Y,Z).

d)

append([], Z, Z).

append([P|L], T, [P|Z]) :- append(L,T,Z).

4.

Сколько значений принимает Х при запросе ?- permute([a,b,c], X).

a)

3

b)

4

c)

5

d)

6

5.

Для чего служит предикат, определенный следующим образом?

f([A,B]). f([_,_|T]):-f(T).

a)

Проверка на четность числа элементов списка

b)

Проверка на непустой список с четным числом элементов списка

c)

Проверка на нечетность числа элементов списка

d)

Проверка на равенство 2 длины списка

6.

Какой стандартный предикат должен быть вместо предиката p, если запрос выводит на печать длину списка T: ?-findall(K,p(K,L),T),length(T,Z),write(Z).

a)

append

b)

member

c)

length

d)

нет правильного варианта

7.

Длина списка Т при запросе

?-findall (K,append([a,b],K,[a,b,c,a,b]),T).

a)

0

b)

1

c)

2

d)

некорректный запрос

e)

3

8.

При наличии реализации стандартных предикатов, что будет выведено на экран при запросе

?-write(length([])).

a)

length([])

b)

0

c)

1

d)

нет правильного варианта

9.

Реализован предикат p:

p(E, [E|_]).

p(A, [_|H]) :- p(A, H).

Выберите правильный вариант первого значения, которое принимает Х при запросе ?-p(a,X).

a)

a

b)

[a]

c)

1

d)

нет правильного варианта

10.

Предикат p реализован следующим способом:

p([], 0) .

p([_|Y], N) :- p(Y, N1), N is N1 + 1.

L- произвольный список. Какой будет результат запроса и зависит ли от L результат запроса:

?-p(L,X),permute(L,X1), p(X1,X2), X=X2.

a)

Результат запроса yes, от L не зависит

b)

Результат запроса no, от L не зависит

c)

Результат запроса зависит от L

d)

Запрос будет выдавать ошибку