Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
4.1
(a)?- семья(членсемьи(_, Фамилия, _, _), _, []).
(b)?- ребенок(членсемьи(Имя, Фамилия, _,
работает(_, _))).
(c) семья(членсемьи(_, Фамилия, _, неработает),
членсемьи(_, _, _, работает(_, _)),_).
(d)?- семья(Муж, Жена, Дети),
датарождения(Муж, дата(_, _, Год1)),
датарождения(Жена, дата(_, _, Год2)),
(Год1 - Год2 >= 15;
Год2 - Год1 >= 15),
принадлежит(Ребенок, Дети).
4.2
близнецы(Ребенок1, Ребенок2):-
семья(_, _, Дети),
удалить(Ребенок1, Дети, ДругиеДети),
% Выделить первого ребенка
принадлежит(Ребенок2, ДругиеДети),
принадлежит(Ребенок1, Дата),
принадлежит(Ребенок2, Дата).
4.3
n _элемент(1, [X | L], X).
% X - первый элемент списка [X | L]
n _элемент(N, [Y | L], X):-
% X - n-й элемент [Y | L]
N1 is N - 1,
n _элемент(N1, L, X).
4.4
Входная цепочка укорачивается на каждом неспонтанном цикле, а укорачиваться бесконечно она не может.
4.5
допускается(S, [], _):-
конечное(S).
допускается(S, [X | Остальные], Макс_переходов):-
Макс_переходов > 0,
переход(S, X, S1),
НовыйМакс is Макс_переходов - 1,
допускается(S1, Остальные, НовыйМакс).
допускается(S, Цепочка, Макс_переходов):-
Макс_переходов > 0,
спонтанный(S, S1),
НовыйМакс is Макс_переходов - 1,
допускается(S1, Цепочка, НовыйМакс).
4.7
(а) ходконя(X/Y, X1/Y1):-
% Ход коня с поля X/Y на поле X1/Y1
(dxy(DX, DY);
% Расстояния по направлениям X и Y
dxy(DY, DX)),
% Или расстояния по направлениям Y и X
X1 is X + DX,
% X1 расположен в пределах шахматной доски
надоске(X1),
Y1 is Y + DY,
% Y1 расположен в пределах шахматной доски
надоске(Y1).
dxy(2, 1). % 2 поля вправо, 1 поле вперед
dxy(2, -1). % 2 поля вправо, 1 поле назад
dxy(-2, 1). % 2 поля влево, 1 поле вперед
dxy(-2, -1). % 2 поля влево, 1 поле назад
надоске(Коорд):-
% Координаты в пределах доски
0 < Коорд,
Коорд < 9.
(b) путьконя([ Поле]). % Конь стоит на поле Поле
путьконя([S1, S2 | Остальные]):-
ходконя(S1, S2),
путьконя([S2 | Остальные]).
(c)?- путьконя([2/1, R, 5/4, S, X/8]).
Дата публикования: 2015-10-09; Прочитано: 166 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!