- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •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Предикаты Турбо-Пролога для работы с базой данных.
- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •Основные элементы Турбо-Пролога: имена объектов, термы, константы, переменные, структуры, атомы.
21Предикаты Турбо-Пролога для переадресации внешних устройств.
ТП позволяет переадресовывать логические устройства ввода-вывода с помощью двух встроенных предикатов
- readdevice (СимвИмяФайла) (symbol) : (i) (o)
Определяет или считывает символьное имя файла для устройства ввода.
(i) – связывает текущее устройство чтения с открытым файлом. Под СимвИменемФайла понимается символьное имя клавиатуоы либо симвоьное имя файла, открытого для чтения или модификации.
(o) – связывеат символьное имя файла с именем текущего устройства чтения, которое может быть клавиатурой или файла.
readdevice (X) X=клавиатура
- writedevice (СимвИмяФайла) (symbol) : (i) (o)
Определяет или считывает символьное имя файла для устройства вывода.
(i) – переназначает текущее устройство записи на открытый файл с именем СимвИмяФайла, который может быть одним из заранее определенных символьных имен (screen или printer) или имеет символьное имя, задаваемое пользоваетелем для файла, открытого для записи или модификации.
(o) – связывает параметр СимвИмяФайла с именем текущего устрйоства записи, которое может иметь имя screen, printer или символьное имя файла.
22 Описание файловых доменов в Турбо-Прологе.
Для того, чтобы использовать в прграмме файлы, необходимо в раздел domains произвести описание файлового домена:
file = datafile
file – стандартный тип домена
datafile – символьное имя файла (логическое имя файла)
В файл описания логично указать несколько символьных имен, но само описание должно быть единственным.
file = df1; df2; df3 % (; или)
23 Запись данных в файл в программах на Турбо-Прологе.
Последовательность действий, необходимая для записи в файл:
Открытие файла с помощью предиката openwrite. Если файла с указанным именем нет, то создаетс яновый файл. Если файл уже есть, то его содержимое будет утрачено. Чтобы от этого застраховаться, можно сначала проверить наличие файла предикатом existfile, и принять соответствующие меры, если existfile будет успешным.
Назначение файла в качнстве устройства записи предиката writedevice.
Самма запись в файл write или writef.
Использование любых других предикатов и правил, отвечающих назначению программы.
Закрытие файла предикатом closefile.
/* Считывание данных с клавиатуры и запись их в файл */
domains
file = datafile
kstr, fstr = string
predicates
readin (kstr, fstr) % чтение-запись
create_file
goal
create_file
clauses
create_file:- nl, nl,
write (“Введите имя файла”),
nl, nl, readln(FileName),
openwrite (datafile),
writedevice (datafile),
readln (Kstr),
concat (Kstr, “\13\10”, Fstr),
readin (Kstr, FStr),
closefile (datafile).
readin (_, Fstr):- write (FStr), readln (KStr1),
concat (KStr1, “\13\10”, Fstr1),
readin (Kstr1, Fstr1).