Для хранения данных в Прологе вы обычно добавляете их в базу данных фактов:
university(mit).
university(carnegie_mellon).
Тогда у вас есть свобода либо реализовать свои предикаты с помощью встроенного поиска Пролога, либо использовать его для предоставления вам списка фактов с setof/3
или findall/3
, например:
?- findall(university(X), university(X), Universities).
Universities = [university(mit), university(carnegie_mellon)].
Вы, безусловно, можете сделать university
фактов несущими больше данных и использовать их для фильтрации:
university('Oxford', uk).
university('MIT', usa).
?- findall(X, (university(X, uk)), Universities).
Universities = ['Oxford'].
Это очень элементарные примеры. Боюсь, вам, вероятно, придется потратить некоторое время на изучение учебника по Прологу, чтобы продвинуться дальше. Похоже, вам нужно более сильное владение этим языком для выполнения задания, которое на самом деле ничто , как и любой другой язык, который вы знаете.