Advertisement
TukieEz

LR11 Paradigmas

Jun 5th, 2023
519
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.34 KB | None | 0 0
  1. % Открываем исходный файл для чтения
  2. consult('cities.pl').
  3.  
  4. % Определяем предикат, который сортирует факты в базу данных и записывает результат в файл
  5. sort_towns_to_file(Country, FileName) :-
  6.     % Открываем файл для записи
  7.     tell(FileName),
  8.     % Используем предикат findall для сбора всех фактов, принадлежащих указанной стране
  9.     findall(town(Name, Country), town(Name, Country), Towns),
  10.     % Перебираем список городов и выводим их в файл
  11.     forall(member(town(Name, Country), Towns), format('~w.~n', [town(Name, Country)])),
  12.     % Закрываем файл
  13.     told.
  14.  
  15. % Вызываем предикат sort_towns_to_file для каждой страны
  16.  
  17. main :-
  18.     sort_towns_to_file(uk, 'uk_cities.txt'),
  19.     sort_towns_to_file(germany, 'germany_cities.txt'),
  20.     sort_towns_to_file(usa, 'usa_cities.txt'),
  21.     sort_towns_to_file(russia, 'russia_cities.txt'),
  22.     halt.
  23.  
  24.  
  25.  
  26.  
  27. Файл cities.pl
  28. town(london, uk).
  29. town(berlin, germany).
  30. town(new_york, usa).
  31. town(moscow, russia).
  32. town(st-petersburg, russia).
  33. town(liverpool, uk).
  34. town(manchester, uk).
  35. town(frankfurt, germany).
  36. town(washington, usa).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement