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.
- 46. Базы данных в прологе. Предикаты динамическое бд.
- Объявление внутренней базы данных
- Раздел базы данных (database).
- Раздел описания внутренней цели
- Раздел описания предикатов внутренней базы данных
- Работа с внутренними базами данных: добавление и удаление фактов из базы данных.
- 3.6.3. Динамические базы данных
- Раздел описания предикатов внутренней базы данных
- 4. Лекция: Язык баз данных sql: предикаты раздела where оператора select