- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •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Предикаты Турбо-Пролога для работы с базой данных.
- •Общие сведения о Прологе, области применения, отличия Пролога от других языков программирования.
- •Основные элементы Турбо-Пролога: имена объектов, термы, константы, переменные, структуры, атомы.
Преобразование строки в символ
str_char (Строка, Символ) (string, char) : (i, i) (i, o) (o, i)
(i, o) str_char (“A”, X) X=’A’
(o, i) str_char (X, ‘A’) X=”A”
(i, i) str_char (“A”, ‘A’) True
Преобразование строки в целое число и наоборот
str_int (Строка, ЦелЧисло) (string, real) : (i, o) (o, i) (i, i)
(i, o) str_int (“345”, X) X=345
(o, i) str_int (X, 345) X=”345”
(i, i) str_int (“45”, 45) True
Преобразование строки в дейтсвительное число и наоборот
str_int (Строка, ДействЧисло) (string, integer) : (i, o) (o, i) (i, i)
Преобразование символа в число (код ASCII) и наоборот
char_int (Символ, Число) (char, integer) : (i, o) (o, i) (i, i)
Применение предикатов преобразования данных целесообразно, когда тип объекта встроенного предиката отличается от типа объекта предиката, определенного пользователем. Преобразование необходимы, когда значение одного типа должно быть присвоено к переменной другого типа.
19 Преобразование строки в список атомов
Данные вводимые с клавиатуры для удобства дальнейшей обработки надо преобразовать в термы, которые могут быть обработаны ТП. Например, требуется поместить в базу данных множество утверждений в следующем виде:
fruct (apple)
fruct (peach)
fruct (orange)
fruct (pear)
Включает преобразование строки в список, который содержит имя функтора:
[fruct (apple), fruct (peach), fruct (orange), fruct (pear)],
который записывается в базу данных или файл, причем этот список с помощью соответствующего правила может быть записан таким образом, чтобы каждый элемент списка располагался в отдельной стрке, а в конце строки подсоединилась точка. Основной компонентой правила преобразования входной строки в список является предикат fronttoken.
20 Основные предикаты Турбо Пролога для преобразования данных из одного типа в другой
Преобразование прописных букв в строчные и наоборот
upper_lower (Стр1, Стр2) (string, string) : (i, i) (i, o) (o, i)
(i, i) upper_lower (“B”, “b”) True
(i, o) upper_lower (“ABC”, X) X=”abc”
(o, i) upper_lower (X, “abc”) X=”ABC”
Преобразование строки в символ
str_char (Строка, Символ) (string, char) : (i, i) (i, o) (o, i)
(i, o) str_char (“A”, X) X=’A’
(o, i) str_char (X, ‘A’) X=”A”
(i, i) str_char (“A”, ‘A’) True
Преобразование строки в целое число и наоборот
str_int (Строка, ЦелЧисло) (string, real) : (i, o) (o, i) (i, i)
(i, o) str_int (“345”, X) X=345
(o, i) str_int (X, 345) X=”345”
(i, i) str_int (“45”, 45) True
Преобразование строки в дейтсвительное число и наоборот
str_int (Строка, ДействЧисло) (string, integer) : (i, o) (o, i) (i, i)
Преобразование символа в число (код ASCII) и наоборот
char_int (Символ, Число) (char, integer) : (i, o) (o, i) (i, i)
Преобразование, определяемые пользователем
Пользователь может определить преобразование, не предусмотренные предикатами. Например: целые числа в действительные и наоборот.
predicates
conv_real_int (real, integer)
clauses
conv_real_int (R, N):- R=N.