Читаем Программирование на языке Пролог для искусственного интеллекта полностью

 Сумма is Первый + СуммаОстальных.

3.19

упорядоченный ([]).

  % Одноэлементный список является упорядоченным

упорядоченный( [X, Y | Остальные] :-

 X =< Y,

 упорядоченный( [Y | Остальные] ).

3.20

подсумма( [], 0, []).

подсумма( [N | Список], Сумма, [N | Подмн]) :-

  % N принадлежит подмножеству

Сумма1 is Сумма - N,

 подсумма( Список, Сумма1, Подмн).

подсумма( [N | Список], Сумма, Подмн) :-

  % N не принадлежит подмножеству

 подсумма( Список, Сумма, Подмн).

3.21

между( N1, N2, N1) :-

 N1 =< N2.

между( N1, N2, X) :-

 N1 < N2,

 HoвoeN1 is N1 + 1,

 между( HoвoeN1, N2, X).

3.22

:- op( 900, fx, если).

:- op( 800, xfx, то).

:- op( 700, xfx, иначе).

:- op( 600, xfx, :=).

если Вел1 > Вел2 то Перем := Вел3

 иначе ЧтоУгодно :-

 Вел1 > Вел2,

 Перем = Вел3.

если Вел1 > Вел2 то ЧтоУгодно

 иначе Перем := Вел4 :-

 Вел1 =< Вел2,

 Перем = Вел4.

Глава 4

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.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных