% Данные о годах правления принцев Уэльсских % правил(имя, год_начала, год_конца) правил(родри, 844, 878). правил(анаравд, 878, 916). правил(хивел_дда, 916, 950). правил(лаго_ад_идвал, 950, 979). правил(хивел_аб_иеуаф, 979, 985). правил(кадваллон, 985, 986). правил(маредудд, 986, 999). % был ли принцем в заданный год принц(Имя, Год) :- правил(Имя, Начало, Конец), Год >= Начало, Год =< Конец. % срок правления принца Y срок_правления(Имя, Срок) :- правил(Имя, Начало, Конец), Срок is Конец - Начало. % Предикат is выполняет вычисления %число Фибоначчи с заданным номером (рекурсивный предикат, очень плохой метод). fib(1, 1) :- !. % Восклицательный знак (оператор отсечения) означает, % что это конечное правило, дальше вычислять не нужно. fib(2, 1) :- !. fib(N, Fn) :- N2 is N-1, fib(N2, F2), N1 is N-2, fib(N1, F1), Fn is F1 + F2.