- •2.2.2.1 Вызов Турбо-Пролога и главное меню системы
- •2.2.3 Редактор Турбо-Пролога
- •2.2.3.1 Создание и редактирование программного файла
- •3 Лекция №2. Элементы и конструкции языка Турбо-Пролог
- •3.1 Основные вопросы
- •3.2 Текст лекции
- •3.2.1.1 Имена (идентификаторы)
- •3.2.2.1 Предикаты
- •3.2.2.2 Факты
- •3.2.2.3 Правила
- •3.2.2.4 Цели
- •4 Лекция №3. Объекты данных. Константы, переменные, структуры, списки.
- •4.1 Основные вопросы
- •4.2 Текст лекции
- •Стандартные типы доменов Турбо-Пролога
- •4.2.2.1 Константы
- •4.2.2.2 Переменные
- •4.2.2.3 Структуры
- •4.2.2.3 Списки
- •5 Лекция №4. Структура программы на Турбо-Прологе
- •5.1 Основные вопросы
- •5.2 Текст лекции
- •5.2.2 Структура программы на Турбо-Прологе – до 10 мин.
- •5.2.3.1 Раздел опций компилятора
- •5.2.3.2 Раздел констант
- •5.2.3.3 Раздел доменов
- •5.2.3.4 Раздел предикатов
- •5.2.3.5 Раздел утверждений
- •5.2.3.6 Раздел дбд
- •5.2.3.7 Раздел целей
- •6 Лекция №5. Унификация и поиск с возвратом: программа с фактами
- •6.1 Основные вопросы
- •6.2 Текст лекции
- •7 Лекция №6. Унификация и поиск с возвратом: программа с фактами и правилом
- •7.1 Ключевые (основные) вопросы (моменты)
- •7.2 Текст лекции
- •8 Лекция №7. Унификация и поиск с возвратом: программа с фактами и несколькими правилами
- •8.1 Основные вопросы
- •8.2 Текст лекции
- •9 Лекция №8. Вопросно-ответные системы
- •9.1 Основные вопросы
- •9.2 Текст лекции
- •10 Лекция №9. Средства отладки в Турбо-Прологе
- •10.1 Основные вопросы
- •10.2 Текст лекции
- •/*Программа 5 */
- •11 Лекция №10. Простейший ввод-вывод. Окна.
- •11.1 Основные вопросы
- •11.2 Текст лекции
- •11.2.1 Простейший ввод-вывод
- •11.2.2 Окна
- •12 Лекция №11. Управление поиском решений: предикаты отсечения и возврата
- •12.1 Основные вопросы
- •12.2 Текст лекции
- •/* Программа 5 */
- •Vse_reshenia:-roditel(X,y), write(X, "родитель", y), nl, fail.
- •Vita - родитель sasha
- •/* Программа 6 */
- •/* Программа 7 */
- •13 Лекция №12. Арифметика в Турбо-Прологе. Рекурсия.
- •13.1 Основные вопросы
- •13.2 Текст лекции
- •/* Программа 8 */
- •/* Программа 9 */
- •14 Лекция №13. Динамические базы данных
- •14.1 Основные вопросы
- •14.2 Текст лекции
- •/* Программа работы с дбд*/
- •15 Лекция №14. Работа со списками
- •15.1 Основные вопросы
- •15.2 Текст лекции
- •/* Программа 10*/
- •/* Программа 11 */
- •/* Программа 12 */
- •16 Лекция №15. Экспертные системы
- •16.1 Основные вопросы
- •16.2 Текст лекции
- •/* Программа эс*/
3 Лекция №2. Элементы и конструкции языка Турбо-Пролог
Время: 2 часа (90 мин.)
3.1 Основные вопросы
- элементы языка Турбо- Пролог;
- конструкции языка Турбо- Пролог.
3.2 Текст лекции
3.2.1 Элементы языка Турбо-Пролог – до 10 мин.
Алфавит языка Турбо-Пролог включает следующие символы:
-
Латинские буквы (заглавные и строчные): A,…,Z и a,…,z;
-
Русские буквы (заглавные и строчные): А,…,Я, и а,…,я;
-
Арабские цифры: 0,1,…,9;
-
Специальные символы:
“.” - точка; “,” - запятая; “:” - двоеточие; “;” - точка с запятой; “+” - плюс; “-” - минус; “_” - знак подчеркивания; “*” - знак умножения; “/” - знак деления; “|” - функтор списков; “(”,“)” - круглые скобки; “[”,“]” - прямоугольные скобки; “”” - кавычки; “’”- апостроф (одинарная кавычка); “%” - знак процента “>” - больше, “<” - меньше; “>=” - больше или равно, “<=” - меньше или равно; “<>” или “><” - не равно; “:-” - функтор правил (или if), соответствующий связке “если”.
-
Ключевые или зарезервированные слова. Эти слова нельзя использовать как имена, определяемые программистом:
AND |
CLAUSES |
CONSTANTS |
DATABASE |
DOMAINS |
GLOBAL |
FINDALL |
FREE |
GOAL |
IF |
FAIL |
INCLUDE |
OR |
PREDICATES |
NOT |
BOUND |
3.2.1.1 Имена (идентификаторы)
В Турбо-Прологе имена используются программистом для обозначения различных программных объектов (переменных, предикатов, доменов и т.д.). Корректные имена могут включать следующие символы:
-
латинские буквы (заглавные и строчные);
-
цифры;
-
знаки подчеркивания.
Все имена должны начинаться с буквы, за которой может следовать любая комбинация букв, цифр или знаков подчеркивания. Любое имя должно состоять не более чем из 250 символов.
На имена в Турбо-Прологе накладываются два важных ограничения:
-
имена переменных должны обязательно начинаться с заглавной буквы или знака подчеркивания.
-
имена всех остальных программных объектов должны начинаться только со строчной (маленькой) буквы.
Замечание: имена символических констант могут заключаться в кавычки. В этом случае можно использовать любые символы, в том числе и символы русского алфавита.
3.2.2 Конструкции языка Турбо-Пролог – до 80 мин.
Турбо-Пролог - это язык программирования, предназначенный для решения задач, в которых фигурируют объекты и отношения между ними. Для объявления отношений между объектами в используются предикаты.
3.2.2.1 Предикаты
Предикаты, с логической точки зрения, – это высказывательные функции от одной или нескольких переменных, которые при подстановке значений из некоторого множества, называемого предметной областью, становятся высказываниями и могут принимать логические значения TRUE (истина) или FALSE (ложь). Синтаксически описание предиката в Турбо-Прологе имеет вид:
P(X1, X2,…, Xn)
Здесь P – имя предиката; X1, X2,…, Xn – аргументы предиката.
С содержательной точки зрения предикат задает некое отношение между его аргументами, т.е. формула P(X1, X2,…,Xn) понимается как обозначение того, что “X1, X2,…,Xn находятся между собой в отношении P”. В случае, когда n=1 предикат называется унарным и определяет некоторое свойство. При n=2 предикат называется бинарным и определяет отношение. При n=3 предикат называется тернарным и т.д. В общем случае выражение P(X1, X2,…, Xn) определяет n-арный предикат.
Примерами предикатов в Турбо-Прологе могут служить следующие унарный и бинарный предикаты, определяющие свойство человека (person) быть студентом (student) и родителем (roditel)другого человека:
-
student(person)
roditel(person, person)
Наряду с предикатами в Турбо-Прологе используются также и другие типы выражений, строящиеся на основе предикатов, а именно: факты, правила, цели.