logo
Раздел описания предикатов внутренней базы данных

2.2.4 Раздел описания внутренней цели

С зарезервированного слова goal начинается раздел описания внутренней цели программы.

В ЭС "Тип темперамента" в самом теле программы мы использовали внутреннюю цель:

goal

makewindow(1,10,12," Экспертная система : Тип темперамента ",0,0,25,80),

write("ЭС разработана студенткой 542 класса"),nl,

write("Кучеренко Надеждой"),nl,

write("--------------------------------------------"),nl,

run.

Само предложение, определяющее цель, состоит из семи подцелей, разделенных запятыми.

Первая подцель:

makewindow(1,10,12," Экспертная система : Тип темперамента ",0,0,25,80),

Предикат makewindow создает новое окно на экране. Когда окно создано, оно становится активным (текущим), и вся выводимая информация автоматически направляется в него.

Предикат makewindow имеет формат:

makewindow(WNo,ScrAttr,FrAttr,Heading,Row,Col,Height,Width)

Описания аргументов этого предиката приведены в таблице 2, атрибуты цветов образуются из значений, приведенных в таблице 3.

Таблица 2 - Описания аргументов предиката makewindow

Аргумент

Описание

Wno

Номер окна

ScrAttr

Атрибут цвет букв.

FrAttr

Атрибут цвета рамки окна.

Heading

Текст заголовка окна.

Row,Col

Определяет левый верхний угол окна.

Height

Высота окна, включая рамку

Width

Ширина окна, включая рамку.

Таблица 3 - Описание атрибуты цветов предиката makewindow

Цвет букв

Величина

Цвет рамки

Величина

Черный

0

Черный

0

Серый

8

Голубой

16

Голубой

1

Зеленый

32

Светло­голубой

0

Синий

48

Зеленый

2

Красный

64

Светло­зеленый

10

Алый

80

Синий

3

Коричневый

96

Светло­синий

11

Белый

112

Красный

4

Светло­красный

12

Алый

5

Светло­алый

13

Коричневый

6

Желтый

14

Белый

7

Второй подцелью является печать следующей строки символов на экране:

"ЭС разработана студенткой 542 класса"

Эта подцель образована при помощи предиката write, одного из многих "встроенных" предикатов TURBO PROLOG. Подобные предикаты не требуют специального описания в программе, их можно использовать сразу.

Встроенный предикат write в данной программе встречается в виде:

write("ЭС разработана студенткой 542 класса"),

Двойные кавычки при этом применяются для ограничения символьной строки; подобным образом должны выделяться все символьные строки.

Третья подцель задается еще одним встроенным предикатом: nl. Предикат nl переводит курсор в начало следующей строки.

Четвертой подцелью является вывод на экран строки:

" Кучеренко Надеждой "

Пятая подцель, еще один предикат nl.

Шестая подцель предназначена для вывода на экран строки

"--------------------------------------------"

Эта строка служит для визуального разделения информации о создателе экспертной системы и началом процедуры определения класса животных.

Седьмая подцель - предикат nl.