строкові вираження

Вирази, в яких операндами служать рядкові дані, називаються рядковими виразами. Вони складаються з рядкових констант, змінних, покажчиків функ-цій і знаків операцій. Над рядковими даними допустимі операція зчеплення і операції відносини.

Операція зчеплення (+) застосовується для зчеплення декількох рядків в одну результуючу рядок.

Вираз 'А' + 'Т' + '' + '386' 'Турбо' + 'Паскаль +' 7.0 '

Результат 'AT 386' Турбо Паскаль 7.0 '

Слід враховувати, що в операціях зчеплення довжина результуючого рядка не повинна перевищувати 255.

Операції відносини (=, <>,>, <,>=, <=) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления, т. е. вначале всегда выполняются все операции сцепления, если они присутствуют, и лишь потом реализуются операции отношения. Сравнение строк производится слева напра-во до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False. если выражение ложно. Например:

Вираз 'MS-DOS'<'MS-Dos' 'programm'>'Programm'

Результат True True

Якщо рядки мають різну довжину, але в загальній частині символи збігаються, вважається, що більш короткий рядок менше, ніж довша. Рядки вважають-ся рівними, якщо вони повністю збігаються по довжині і містять одні й ті ж сім-воли.

Для присвоювання строкової змінної результату строкового вираження використовується оператор присвоювання (: =).

Strl: = 'Група, учнів';

Str2: = Strl + 'школи-ліцею';

Fio: = 'Бочаров А.А.';

Якщо значення змінної після виконання оператора присвоювання перевищує по довжині максимально допустиму при описі величину, всі зайві символи праворуч відкидаються.

Опис А Вираз Значення А

A: String [6] А: = 'ГРУПА 1'; 'ГРУПА'

Допускається змішання в одному вираженні операндів строкового і літерного типу. Якщо при цьому литерной змінної присвоюється значення строкового ти-па, довжина рядка повинна дорівнювати одиниці, інакше виникає помилка виконан-ня.

До окремих символів рядка можна звернутися за номером (індексом) даного символу в рядку. Індекс визначається виразом цілочисельного типу, яке записується в квадратних дужках відразу за ідентифікатором строкової змін-ної або константи.

Наприклад, вирази Str2 [l + 2] і Str2 [6] забезпечать доступ до третього ( 'у') і шостому ( 'а') символам останнього значення змінної Str2 в наведеному вище прикладі (див. Приклад 1).

Запис Str2 [0] дає доступ до нульового байту, який містить значення поточної довжини рядка. Значення нульового байта не повинно перевищувати 255, але порушення цього правила не викликає програмного переривання, так як директива Компільо-тора R за замовчуванням знаходиться в пасивному стані. Для забезпечення суворого контролю за діапазоном допустимих значень індексу слід перевести директиву R в активний стан. В цьому випадку компілятор активізує додаткові команди для перевірки правильності діапазону. Зазвичай актив-ний режим R встановлюється на стадії налагодження програм.

Схожі статті