Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Открываем исходный файл для чтения
- consult('cities.pl').
- % Определяем предикат, который сортирует факты в базу данных и записывает результат в файл
- sort_towns_to_file(Country, FileName) :-
- % Открываем файл для записи
- tell(FileName),
- % Используем предикат findall для сбора всех фактов, принадлежащих указанной стране
- findall(town(Name, Country), town(Name, Country), Towns),
- % Перебираем список городов и выводим их в файл
- forall(member(town(Name, Country), Towns), format('~w.~n', [town(Name, Country)])),
- % Закрываем файл
- told.
- % Вызываем предикат sort_towns_to_file для каждой страны
- main :-
- sort_towns_to_file(uk, 'uk_cities.txt'),
- sort_towns_to_file(germany, 'germany_cities.txt'),
- sort_towns_to_file(usa, 'usa_cities.txt'),
- sort_towns_to_file(russia, 'russia_cities.txt'),
- halt.
- Файл cities.pl
- town(london, uk).
- town(berlin, germany).
- town(new_york, usa).
- town(moscow, russia).
- town(st-petersburg, russia).
- town(liverpool, uk).
- town(manchester, uk).
- town(frankfurt, germany).
- town(washington, usa).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement