|
||||||||||
Строковые выраженияСтр 1 из 4Следующая ⇒
6 Обработка символьной информации Строка (и строка-переменная, и строка-константа) — это последовательность символов. При использовании в выражениях строка-константа обязательно заключается в апострофы. Количество символов в строке-переменной (длина строки) может динамически изменяться от 0 до 255. Определение строкового типа устанавливает максимальное количество символов, которое может содержать строка. Формат описания: 1-ый способ: Type имя_типа_строки = string [ максимальная_длина_строки ] ; Var имя_строки : имя_типа_строки ; 2-ой способ: Var имя_строки : string [ максимальная_длина_строки ] ; Длина строки может не указываться, в этом случае принимается максимально возможная длина строки, равная 255 символов. Пример 6.1 ( описания строк ): Type MyString = String [ 70 ] ; Var St1 : MyString ; St2 : String ; St3 : String [ 30 ] ; Строку можно описать с помощью типизированной константы. Пример 6.2 ( строка — типизированная константа ): Сonst St : String = ’ Сегодня хорошая погода ! ’ ; Строковые выражения Выражения, в которых операндами служат строковые данные, называются строковыми выражениями. Они состоят из строковых констант, переменных, указателей строковых функций и знаков операций над строками. Над строковыми данными допустимы операция сцепления и операции отношения. Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку. Например:
Длина результирующей строки не должна превышать 255. Операции отношения ( =, <>, <, >, >=, <= ) производят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления — вначале всегда выполняются все операции сцепления (если они присутствуют), и лишь потом выполняются операции отношения. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False, если выражение ложно. Например:
Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки считаются равными, если они полностью совпадают по длине и содержат одни и те же символы. Для присваивания строковой переменной результата строкового выражения используется оператор присваивания ( := ). Допускается смешение в одном выражении операндов строкового и литерного типа. Если при этом литерной переменной присваивается значение строкового типа, длина строки должна быть равна единице, иначе возникает ошибка времени выполнения. Для обработки строковых данных используются стандартные процедуры и функции.
|
||||||||||
|