русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование строк в Прологе.


Дата добавления: 2013-12-23; просмотров: 9337; Нарушение авторских прав


Строка – это набор символов. При программировании на Прологе символы могут быть «записаны» при помощи алфавитно-цифрового представления или при помощи их ASCII-кодов. Обратный слэш (\), за которым непосредственно следует ASCII-код (N) символа, интерпретируется как символ. Для представления одиночного символа выражение \N должно быть заключено в апострофы (‘\N’). Для представления строки символов ASCII-коды помещаются друг за другом и вся строка заключается в кавычки («\N\N\N»).

Операции, обычно выполняемые над строками, включают:

· объединение строк для образования новой строки;

· разделение строки для создания двух новых строк, каждая из которых содержит некоторые из исходных символов;

· поиск символа или подстроки внутри данной строки.

Для удобства работы со строками Пролог имеет несколько встроенных предикатов, манипулирующих со строками:

· str_len – предикат для нахождения длины строки;

· concat – предикат для объединения двух строк;

· frontstr – предикат для разделения строки на две подстроки;

· frontchar – предикат для разделения строки на первый символ и остаток;

· fronttoken – предикат для разделения строки на лексему и остаток.

Синтаксис предиката str_len:

str_len (Str_value, Srt_length), где первый терм имеет тип string, а второй терм имеет тип integer.

Пример 58:

str_len («Today», L)- в данном случае переменная L получит значение 5;

str_len («Today», 5) – в данном случае будет выполнено сравнение длины строки «Today» и 5. Так как они совпали, то предикат выполнится успешно, если бы длина строки не была равна 5, то предикат вылонился бы неуспешно.

Синтаксис предиката concat:

concat (Str1, Str2, Str3), где все термы имеют тип string.

Пример 59:

concat («Today», «Tomorrow», S3)- в данном случае перменная S3 получит значение «TodayTomorrow»;



concat (S1, «Tomorrow», «TodayTomorrow») – в данном случае S1 будет присвоено значение «Today»;

concat («Today», S2, «TodayTomorrow») – в данном случае S2 будет присвоено значение «Tomorrow»;

concat («Today», «Tomorrow», «TodayTomorrow»)- будет проверена возможность склейки строк «Today» и «Tomorrow» в строку «TodayTomorrow».

Синтаксис предиката frontstr:

frontstr (Number, Str1, Str2, Str3), где терм Number имеет тип integer, а остальные термы имеют тип string. Терм Number задает число символов, которые должны быть скопированы из строки Str1 в строку Str2, остальные символы будут скопированы в строку Str3.

Пример 60:

frontstr (6,«Expert systems», S2, S3)- в данном случае перменная S2 получит значение «Expert», а S3 получит значение ,« systems».

Синтаксис предиката frontchar:

frontchar (Str1, Char_, Str2), где терм Char_ имеет тип char, а остальные термы имеют тип string.

Пример 61:

frontchar («Today », C, S2)- в данном случае перменная C получит значение «T», а S2 получит значение ,«oday»;

frontchar («Today », ‘T’, S2) – в данном случае S2 будет присвоено значение «oday»;

frontchar («Today», C, «oday») – в данном случае C будет присвоено значение «T»;

frontchar (S1, «T», «oday») – в данном случае S1 будет присвоено значение «Today»;

frontchar («Today», «T», «oday»)- будет проверена возможность склейки строк «T» и «oday» в строку «Today».

Синтаксис предиката fronttoken:

fronttoken (Str1, Lex, Str2), где все термы имеют тип string. В терм Lex копируется первая лексема строки Str1, остальные символы будут скопированы в строку Str2. Лексема – это имя в соответствии с синтаксисом языка Турбо-Пролог или строчное представление числа или отдельный символ (кроме пробела).

Пример 62:

fronttoken («Expert systems», Lex, S2)- в данном случае перменная Lex получит значение «Expert», а S2 получит значение ,« systems».

fronttoken («$Expert», Lex, S2)- в данном случае перменная Lex получит значение «$», а S2 получит значение ,«Expert».

fronttoken («Expert systems», Lex, « systems»)- в данном случае перменная Lex получит значение «Expert»;

fronttoken («Expert systems», «Expert», S2)- в данном случае перменная S2 получит значение « systems»;

fronttoken (S1, «Expert», « systems»)- в данном случае перменная S1 получит значение «Expert systems»;

fronttoken («Expert systems», «Expert», « systems»)- в данном случае будет проверена возможность склейки лексемы и остатка в строку «Expert systems».



<== предыдущая лекция | следующая лекция ==>
Создание динамических баз данных | Представление бинарных деревьев


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.009 сек.