Примеры
Задача 1
Человек является УМНЫМ_МАЛЬЧИКОМ, когда он УМНЫЙ и когда он МАЛЬЧИК.
Человек является УМНОЙ_ДЕВОЧКОЙ, когда она УМНАЯ и когда она ДЕВОЧКА.
Максим и Гоша - МАЛЬЧИКИ.
Нина и Аня - ДЕВОЧКИ.
Максим является УМНЫМ.
Нина является УМНОЙ.
Дадим данные знания системе. Напишем следующий код:
cleverboy(X):- clever(X), boy(X).
clevergirl(X):- clever(X), girl(X).
boy(maxim).
boy(george).
girl(nina).
girl(ann).
clever(maxim).
clever(nina).
Вопрос: Максим является УМНЫМ_МАЛЬЧИКОМ ?
cleverboy(maxim).
Вопрос: Максим является ДЕВОЧКОЙ ?
girl(maxim).
Задача 2
У человека X и человека Y есть ОДИНАКОВЫЙ_ВОЗРАСТ, когда человек X имеет возраст A и человек Y имеет возраст A.
Далее людям задаются определённые возраста.
Напишем код:
similarage(X,Y):- age(X,A), age(Y,A).
age(maxim,18).
age(alex,18).
age(nina,45).
age(george,14).
age(ann,14).
Вопрос: у Ани и Георгия есть ОДИНАКОВЫЙ_ВОЗРАСТ ?
similarage(ann,george).
Вопрос: у Ани и Максима есть ОДИНАКОВЫЙ_ВОЗРАСТ ?
similarage(ann,maxim).
Задача 3
Ученик ПЛОХОЙ, когда у него оценка 2 или 3.
Ученик ХОРОШИЙ, когда у него оценка 4 или 5.
Далее ставим ученикам оценки.
bad(X):- markTwo(X); markThree(X).
good(X):- markFour(X); markFive(X).
markTwo(george).
markThree(alex).
markFour(nina).
markFive(maxim).
Вопрос: Георгий является ПЛОХИМ ?
bad(george).
Вопрос: Максим является ХОРОШИМ ?
good(maxim).
Правило
При перечислении:
Запятая (,) означает логическое И
Точка с запятой (;) означает логическое ИЛИ
Last updated
Was this helpful?