Чтение онлайн

на главную - закладки

Жанры

Неизвестно

Шрифт:
empty-line />

% Пусть текущий входной поток - это файл f

read( Терм), !,

% Текущий терм из f сопоставим с Терм'ом?

write( Терм); % Если да - вывести его на терминал

найтитерм( Терм). % В противном случае - обработать

6. 2

найтитермы( Терм) :-

read(

ТекущийТерм),

обработать( ТекущийТерм, Терм).

обработать( end_of_file, _ ) :- !.

обработать( ТекущийТерм, Терм) :-

( not( ТекущийТерм = Терм), !;

% Термы несопоставимы

write( ТекущийТерм), nl),

% В противном случае вывести текущий терм

найтивсетермы( Терм).

% Обработать оставшуюся часть файла

6. 4

начинается( Атом, Символ) :-

name( Символ, [ Код]),

name( Атом, [Код | _ ]).

6. 5

plural( Существительное, Существительные) :-

name( Существительное, СписокКодов),

name( s, КодS),

конк( СписокКодов, КодS, НовыйСписокКодов),

name( Существительные, НовыйСписокКодов).

Глава 7

7. 2

добавить( Элемент, Список) :-

var( Список), !,

% Переменная Список представляет пустой список

Список = [Элемент | Хвост].

добавить( Элемент, [ _ | Хвост]) :-

добавить( Элемент, Хвост).

принадлежит( X, Список) :-

var( Список), !,

% Переменная Список представляет пустой список,

% поэтому X не может ему принадлежать

fail.

принадлежит( X, [X | Хвост]).

принадлежит( X, [ _ | Хвост] ) :-

принадлежит( X, Хвост).

Глава 8

8. 2

добавить_в_конец( L1-[Элемент | Z2], Элемент, L1 - Z2).

8. 3

обратить( А - Z, L - L) :-

% Результатом является пустой список,

% если A-Z представляет пустой список

А == Z, !.

обратить( [X | L] - Z, RL - RZ ) :-

% Непустой список

обратить( L - Z, RL - [X | RZ].

Глава 9

9. 1

список( [ ]).

список( [ _ | Хвост]) :-

список( Хвост).

9. 2

принадлежит( X, X затем ЧтоУгодно).

принадлежит( X, Y затем Спис) :-

принадлежит( X, Спис).

9. 3

преобр( [ ], ничего_не_делать).

преобр( [Первый | Хвост], Первый затем Остальные):-

преобр( Хвост, Остальные).

9. 4

преобр( [ ], ПустСпис, _, ПустСпис).

% Случай пустого списка

преобр( [Первый | Хвост], НовСпис, Функтор, Пустой) :-

НовСпис =.. [Функтор, Первый, НовХвост],

преобр( Хвост, НовХвост, Функтор, Пустой).

9. 8

сорт1( [ ], [ ]).

сорт1( [X], [X]).

сорт1( Спис, УпорСпис) :-

разбить( Спис, Спис1, Спис2),

% Разбить на 2 прибл. равных списка

сорт1( Спис1, Упор1),

сорт1( Спис2, Упор2),

слить( Упор1, Упор2, УпорСпис).

% Слить отсортированные списки

разбить( [ ], [ ], [ ]).

разбить( [X], [X], [ ]).

разбить( [X, Y | L], [X | L1], [Y | L2]) :-

% X и Y помещаются в разные списки

Поделиться:
Популярные книги

Метатель. Книга 7

Тарасов Ник
7. Метатель
Фантастика:
боевая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Метатель. Книга 7

Вернуть Боярство 3

Мамаев Максим
3. Пепел
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Вернуть Боярство 3

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Студиозус

Шмаков Алексей Семенович
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус

Неправильный лекарь. Том 1

Измайлов Сергей
1. Неправильный лекарь
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неправильный лекарь. Том 1

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2

Развод с генералом драконов

Солт Елена
Фантастика:
фэнтези
5.00
рейтинг книги
Развод с генералом драконов

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Око василиска

Кас Маркус
2. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Око василиска

Возвышение Меркурия. Книга 15

Кронос Александр
15. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 15

Кодекс Охотника. Книга XXIII

Винокуров Юрий
23. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXIII

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16

Своя правда

Шебалин Дмитрий Васильевич
2. Чужие интересы
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Своя правда