47
cities_of_state(state,city1,city2,city3,city4)
/* города страны(страна,город1,город2,город3,город4) */
Напишите утверждения для пяти стран и их городов. Запустите про-
грамму и задайте такую внешнюю цель, чтобы программа напечатала четыре
города одного из государств.
Программа "Президенты" (листинг 3.3) демонстрирует использование
различных типов объектов. Утверждения данной программы содержат
сведения о шести президентах США.
Предикат
president(name,party,state,birth_year,year_in,year_out)
/* президент(имя, партия, штат, год рождения, начальный год пре-
бывания у власти, конечный год пребывания у власти) */
имеет объекты типа символьной строки и типа целого числа, как это видно
из раздела программы domains.
____________________________________________________________
Листинг 3.3
/* Программы: Президенты */
/* Назначение: Демонстрация отношений (предикатов) */
/* и получение информации из БД
. */
domains
name,party,state = symbol
birth_year,year_in,year_out = integer
predicates
president(name,party,state, birth_year,year_in,year_out)
goal
president(X,democrat,S,Yb,Yi,Yo),nl, write(X," - democrat"),nl, write("State
",S),nl,
write("Birth year - ",Yi),nl, write("Year-in - ",Yi),nl, write("Year-out -
",Yo),nl,nl.
clauses
president(eisenhower, republican, texas, 1890,1953,1961).
president(kennedy, democrat, massachusetts, 1917,1961,1963).
president(johnson,democrat,texas, 1908,1963,1969).
president(nixon,republican,california, 1913,1969,1974).
president(ford,republican,nebraska, 1913,1974,1977).
president(carter,democrat,georgia, 1924,1977,1981).
/***** конец программы *****/
___________________________________________________________