Основы современных компьютерных технологий


Управление вычислениями


Основными средствами управления процессом вычислений в Прологе являются стандартные предикаты fail (неуспех) и ! (отсечение).

Назначение этих предикатов и методы их использования рассмотрим на примере следующей программы на Турбо-Прологе:

domains


st=student(fam,pr,oc)

312

fam.pr=symbol

num,oc=integer

g=gr(num,st)

predicates


kurs_22(g)

clauses


kurs_22(gr(261 ,student("ПETPOB П.Р.","Программирование",5))).

kurs_22(gr(261,student("ИBAHOB Б.О. ","Операционные системы",5))).

kurs_22(gr(261,student("CИДOPOB Т.К.","Системы управления",4))).

kurs_22(gr(262,student("ЖИГAPEB С.И. "."Программирование''3))).

kurs_22(gr(262,student(" ДЕМИН ", "Системы управления", 5))).

kurs_22(gr(261 ,student(" ПETPOB П.Р.","Иностранный язык",4))).

kurs_22(gr(263,student(" СИДОРОВ ","Операционные системы",5)))

Приведенная программа в разделе clauses содержит утверждения-факты, в данном случае информацию о результатах пересдачи экзаменов студентами соответствующих групп (номер группы - первый компонент структуры gr) по соответствующим дисциплинам (фамилия, дисциплина, оценка - компоненты структуры student, которая входит в состав структуры gr). Если теперь после компиляции программы в качестве внешней цели ввести запрос:

kurs_22(X)

то в диалоговом окне будет выведена информация:

X=gr(261 ,student("ПETPOB П.Р.","Программирование",5))

Х= gr (261 ,student("ИBAHOB Б.О.", " Операционные системы",5))

Х= gr (261,student ("СИДОРОВ Т.К.", "Системы управления " ,4))

X=gr (262, student(" ЖИГAPEB С.И. "."Программирование" 3 ))

X=gr (262, student(" ДEMИH С.Л. ", "Системы управления", 5))

Х= gr (261 ,student(" ПETPOB П.Р.","Иностранный язык",4))

X=gr (263, student("CИДОРОВ Е.P. ","Операционные системы",5))



Начало  Назад  Вперед



Книжный магазин