Пятница, 03.05.2024, 08:34
Приветствую Вас Гость | RSS

Язык программирования ПРОЛОГ

Преобразование данных

Преобразование данных

   ТП для преобразования данных из одного типа в другой имеет следующие стандартные предикаты.

   Преобразование прописных букв в строчные и наоборот

 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.

Преобразование строк в списки атомов с функторов

   Данные вводимые с клавиатуры для удобства дальнейшей обработки надо преобразовать в термы, которые могут быть обработаны ТП. Например, требуется поместить в базу данных множество утверждений в следующем виде:

fruct (apple)

fruct (peach)

fruct (orange)

fruct (pear)

   Включает преобразование строки в список, который содержит имя функтора.

[fruct (apple), fruct (peach), fruct (orange), fruct (pear)]

который записывается в базу данных или файл, причем этот список с помощью соответствующего правила может быть записан таким образом, чтобы каждый элемент списка  располагался в отдельной стрке, а в конце строки подсоединилась точка. Основной компонентой правила преобразования входной строки в список является предикат fronttoken.
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Long Time Ago © 2024
Сделать бесплатный сайт с uCoz