Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Глава 4. ?- family! pers on (_, Name , _, _) , _, [] ) ?- child





4.1.


a)

6) в)

?-

r)


?- family! pers on (_, Name, _, _), _, [])?- child! person! Name, SecondName,

works(_»_))).

?-

family { person {_, Name, _, unemployed), person(_,_,_,works L,J), _) -

family (Husband, Wife, Children), dateafbirthi Husband, date(_,_, Yearl)), dateofbirthf Wife, date(_,_,Year2)), (Yearl - Year2 >- IS


 


4.2.


 

Yeai:2

Yearl >= 15

),

member! Child, Children).

twinst Childl, Child2):-family! _, _r Children), del! Childl, Children, OtherChildren), «Удалить

* объект Childl member! Child2, OtherChildren), dateofbirthl Childl, Date), dateofbirthf Chiid2, Date).


 


4.3.


nth_member(1,!X I LI, X).

nth_raember(K, [Y I L], X)

N1 is N - 1, ntb_member[ N1, L X).


i X - первый элемент % списка!Х I L]: - % X - n-й элемент i списка is [V I L)


 


4.4

4.5.


Входная строка сокращается после прохоадения каждого цикла, отличного от скрытого, а по­скольку она имеет конечную длину, то не может сокращаться бесконечно долго.

[ ], _):-

accepts (State,

: -
[X I Rest], MaxMoves)

final{ State) accepts,- State,

MaxMoves > 0,

trans(State, X, State 1],

NewMax is MaxMoves - 1,

accepts] Statel, Rest, NewMax). Accepts,- State, String, MaxMoves}:

MaxMoves > 0,

silent! State, Statel),

HewMax is KaxMoves - 1,

accepts[ Statel, String, NewMan).


 


в

орадок определен
цели
jump! X/Y, XI/YD
(dxy(Dx, Dy)

t

4.6. Такой 4.7.


г a)


 

member
(Y,
*
: -

[1,2,3,4,5,5,7,8]).

конь переходит из клетки

% X/Y Б клетку Xl/Yl Расстояния между позициями коня


 


Решения к отдельным упражнением



Ч в направлениях х и у


б)

В)


cbty(Dy, Dx) % или в направлениях у и х),

XI is X + Dx, inboard! XI), Yl is Y + Dy, ir.boarcM Yl). dxy (dxy (

% XI находится в пределах шахматной доски

пределах шахматной доски 1 вперед
в пределах

i Yl находится в 2, 1). § 2 клетки вправо, 2, -1), % 2 клетки вправо, 1 назад dxy(-2, 1), % 2 клетки влево, 1 вперед dxy(-2, - 1). % 2 клетки влево, 1 назад inboard(Coord):- % Координаты находятся

% шахматной доски О < Coord, Coord < 9.

knightpatht [Square]). t Конь стоит на клетке Square knightpath([S1,S2 ] Rest)):-

jump(SI, S2),

knigbtpath; [S2 I Rest]).

?- knightpathf [2/1,R, 5/4,S,X/B]).


Глава 5


5.1,


 

a) x = i,-
  X = 2;
6) X = 1
  Y = 1;
  X.= 1
  Y = 2;
  X = 2
  4 = 1;
  X = 2
  Y = 2;
B) X = 1
  Y = 1;
  X = 1
  • Y = 2

 


5.2.

53.

5.4. 5.5,


Предполагается, что вызов процедуры class происходит с неконкретизированным вторым па­раметром.

class [ Number, positive):-

Number > 0,!. class(0, zero):-!. class [ number, negative).

split! [], [],[]>• split! [X I L], [X I LI], L2):-

X > = 0, I,

split(L, LI, L2). split) [X I L), LI, [X i L2J);-

split! L, LI, L2].

member (Item, Candidates], not member! Item, RuledOut)

set_difference! [], _, []). set_difference{ [X I LI], L2, L):-

member! X, 12),!,

set_difference(LI, L2, L), set_difference{ [X I LI], L2, [X I L]):-

set_difference(LI, L2, L)..


 



Решения к отдельным упражнениям


5.6. unifiable( [], _, []}.

unifiablet [First I Rest], Term, List):-

not! First = Term),!,

unitiable(Rest, Term, List). unifiablel [First I Rest!, Term, [First I List])

unifiablet Rest, Term, List).


-






Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 354 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2499 - | 2248 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.