
- •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.4 Цели
Цели – это особый вид утверждений, использующихся для постановки задач, которые должна решать программа. Формулируются цели в виде вопросов, выясняющих установленность или возможность установления фактов.
Цель может быть простой или составной. Простая цель состоит из одного вопроса, описываемого аналогично факту программы. Составная цель включает две или более подцели, разделяемые запятыми и описываемые аналогично фактам программы.
Цель может быть задана предикатом, обозначающим заголовок правила. Цель может быть также задана правилом, состоящим из заголовка и тела правила.
Примеры формулировки цели для программ Турбо-Пролога будут рассмотрены далее, по ходу изложения материала курса.
4 Лекция №3. Объекты данных. Константы, переменные, структуры, списки.
Время: 2 часа (90 мин.)
4.1 Основные вопросы
- объекты данных;
- константы, переменные, структуры, списки.
4.2 Текст лекции
4.2.1 Объекты данных – до 20 мин.
Все объекты выражений Турбо-Пролога (предикатов, фактов, правил, целей) называются термами. Каждый терм характеризуется своим именем и областью значений. Для описания типов области значений термов служат домены. Тип каждого из доменов должен быть объявлен в разделе программы domains.
Турбо-Пролог имеет 6 встроенных (стандартных) типов доменов: символы, целые числа, действительные числа, строки, символические имена и файлы. Ниже в табл.1. описаны все стандартные типы доменов Турбо-Пролога.
Таблица 1.
Стандартные типы доменов Турбо-Пролога
Тип данных |
Ключевое слово |
Диапазон значений и правила описаний |
Примеры использования в Турбо-Прологе |
1. Символы |
char |
Все возможные символы, заключенные в апостроф |
’A’; ’a’; ’%’; ’7’; ... |
2. Целые числа |
integer |
От -32768 до +32768 |
-63; 84; 2349; 32763; ... |
3. Действительные числа |
real |
От +1Е-307 до +1Е308 |
-3.15; -0.31; 12.3E -5; 4E27; ... |
4. Строки |
string |
Строки символов (не более 250), которые заключаются в кавычки |
"Петров"; "125_31"; "today"; ... |
5. Символические имена |
symbol |
Последовательности букв, цифр, подчерков, начинающиеся с маленькой буквы. Любые символы, заключенные в кавычки |
flover; school_day; nd21; ...
"Atom"; "Атом-1"; "a_b_c"; ... |
6. Файлы |
file |
Допустимые имена файлов |
mail.txt; ... |
4.2.2 Константы, переменные, структуры, списки – до 70 мин.
4.2.2.1 Константы
Константы в Турбо-Прологе представляются в виде отдельных символов (домен char), целых и действительных чисел (домены integer, real), а также в виде совокупностей символов (т.е. имен), принадлежащих к стандартным доменам string и symbol. Областью действия констант является вся программа.