- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •4. Способы объявления доменов (типов данных) в Турбо-Прологе.
- •5.Объявление предикатов в программах Турбо-Пролога.
- •6. Утверждения программы Турбо-Пролога: факты и правила.
- •7.Внутренняя и внешняя цели в программах Турбо-Пролога.Раздел goal
- •8.Этапы программирвоания на тп
- •9.Декларативный и процедурный смысл программы на Турбо-Прологе.
- •10.Сопоставление. Правила сопоставимости термов, структур.
- •11.Арифметика в тп, Арифметические функции в тп
- •12.Рекурсия.Пример рекурсивного правила(вычисление факториала, возведение числа в целую степень).
- •13 Стандартные предикаты. Поточный шаблон стандартного предиката.
- •14 Стандартные предикаты ввода-вывода в Турбо-Прологе.
- •15Отсечение в программах на Турбо-Прологе.
- •16Списки. Описание списков в программе. Голова и хвост списка.
- •17Основные стандартные предикаты Турбо-Пролога для работы со строками.
- •18Преобразование строки в список символов.
- •Преобразование строки в символ
- •19 Преобразование строки в список атомов
- •20 Основные предикаты Турбо Пролога для преобразования данных из одного типа в другой
- •Преобразование строки в символ
- •Преобразование, определяемые пользователем
- •21Предикаты Турбо-Пролога для переадресации внешних устройств.
- •22 Описание файловых доменов в Турбо-Прологе.
- •23 Запись данных в файл в программах на Турбо-Прологе.
- •24 Чтение данных из файла в программах на Турбо-Прологе.
- •25 Дозапись данных в конец существующего файла в программах на Турбо-Прологе
- •26 Предикаты Турбо-Пролога для работы с окнами
- •27Статические и динамические базы данных в программах на Турбо-Прологе
- •28Создание динамических баз данных средствами Турбо-Пролога
- •30Способы занесения информации в динамическую базу данных
- •29Предикаты Турбо-Пролога для работы с базой данных.
- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •Основные элементы Турбо-Пролога: имена объектов, термы, константы, переменные, структуры, атомы.
24 Чтение данных из файла в программах на Турбо-Прологе.
Открытие файла предикатом openread.
Назначение файла устройству чтения с помощью readdevice.
Само чтение из файла.
Использование произвольных предикатов и правил.
Закрытие файла предикатом close.
/* Считывание данных из файла и вывод их на экран и принтер */
domains
file = datafile
predicates
read_and_print
read_file
goal
read_file
clauses
read_file:- write (“Введите имя файла”), nl,
readln(FileName), nl,
openread (datafile, FileName), readdevice (datafile),
read_and_print, closefile (datafile),nl,
write (“Нажмите любую клавишу”), readdevice (keyboard),
readchar (_), exit.
read_and_print:- not (eof(datafile)), readln (Fstr), write (Fstr), nl,
writedevice (printer), write (Fstr), writedevice (screen), read_and_print.
read_and_print:- eof(datafile),!.
25 Дозапись данных в конец существующего файла в программах на Турбо-Прологе
process_append:- write (“Введите имя файла”), nl,readln (Filename), nl, write (“Программа готова принять данное для записи”), nl,
openappend (datafile, Filename), writedevice (datafile), readln (Kstr), concat (Ksrt, “\13\10”, Fstr), readin (Kstr, Fstr), closefile (datafile).
26 Предикаты Турбо-Пролога для работы с окнами
makewindow (Номер, АтрЭкр, АтрРамки, Заголовок, Строка, Столбец, Выс, Шир, ЧиститьОкно, ПодЗагол, ЗнакиГраницы) (integer, integer, integer, string, integer, integer, integer, integer, integer, integer, string) : (все i) (все o).
Чистить окно: 0 – не чистить окно после его создания, 1 – чистить.
ПодЗагол: -1 – заголовок в центре верхней границы рамки окна, число – с указанной позиции.
ЗнакиГраницы: 1 – верхний левый угол, 2 – вп, 3 – нл, 4 – нп, 5 – горизонтальная линия, 6 – вертикальная.
window_str (СтрокаЭкрана) (string) : (i) (o) – считывание или запись строки из (или) в активное окно.
window_attr (Атрибут) (integer) (i) – установка атрибута активного окна.
framewindow(АтрибутРамки) (integer): (i) – изменение атрибута рамки окна.
framewindow (АтрРамки, Заголовок, ПозЗагол, ЗнакиГраницы) : (integer, string, integer, string) : (все i) – Изменение атрибута и заголовка рамки окна.
resizewindow (НачСтр, НачКол, КолСтр, КолКол) (все integer) : (все i) – изменение положения и размера окна.
colorsetup (Число) (integer) : (i) – изменение цвета в текущем окне. 0 – изменяет цвет окна, 1 – рамки.
Проверка, существует ли окно с указанным номером.
existwindow (НомерОкна) (integer) : (i)
Перемещение содержимого текущего окна
scroll (ЧислоСтрок, ЧислоКол) (integer, integer) : (i, i). Положительный параметр – вверх или влево, отрицательный – вниз или вправо.