Строковий тип даних в мові pascal

Далі познайомимося з типом даних, який відноситься до числа структурованих. Це строковий тип даних (рядок). Рядок - це послідовність символів. Кожен символ займає 1 байт пам'яті (код ASCII). Кількість символів в рядку називається її завдовжки. Довжина рядка може перебувати в діапазоні від 0 до 255. Строкові величини можуть бути константами та змінними. Особливістю рядка в Turbo Pascal є те, що з нею можна працювати як з масивом символів, з одного боку, і як з єдиним об'єктом, - з іншого. За рахунок цього обробка рядків достатньо гнучка і зручна. Строкова константа є послідовність символів, укладена в апострофи. Наприклад: 'це строкова константа', '272'. Строкова змінна описується в розділі опису змінних наступним чином:

Var <идентификатор>. string<максимальная длина строки>;

Var Name. string [20].

Параметр довжини може і не вказуватися в описі. В такому випадку мається на увазі, що він дорівнює максимальну величину - 255. Наприклад: Var slovo. string.

Строкова змінна займає в пам'яті на 1 байт більше, ніж вказана в описі довжина. Справа в тому, що один (нульовий) байт містить значення поточної довжини рядка. Якщо строкової змінної не присвоєно ніякого значення, то її поточна довжина дорівнює нулю. У міру заповнення рядка символами її поточна довжина зростає, але вона не повинна перевищувати максимальної за описом величини.

Символи всередині рядка індексуються (нумеруються) від одиниці. Кожен окремий символ ідентифікується ім'ям рядки з індексом, укладеним в квадратні дужки. Наприклад: N [5], S [i], slovo [k + l]. Індекс може бути позитивною константою, змінною, виразом цілого типу. Значення індексу не повинно виходити за межі опису.

Тип string і стандартний тип char сумісні. Рядки і символи можуть вживатися в одних і тих же виразах.

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

Операція зчеплення (конкатенації) (+) застосовується для з'єднання декількох рядків в одну результуючу рядок. Зчіплювати можна як рядкові константи, так і змінні.

Приклад: 'Мама' + 'мила' + 'раму'. В результаті вийде рядок: 'Мама мила раму'. Довжина результуючого рядка не повинна перевищувати 255.

Операції відносини: =, <,>, <=,>=, <>. Дозволяють зробити порівняння двох рядків, в результаті чого виходить логічне значення (true або false). Операція відносини має пріоритет нижчий, ніж операція зчеплення. Порівняння рядків проводиться зліва направо до першого неспівпадаючі символу, і той рядок вважається більше, в якій перший неспівпадаючі символ має більший номер в таблиці символьної кодування. Якщо рядки мають різну довжину, але в загальній частині символи збігаються, вважається, що більш короткий рядок менше, ніж довша. Рядки рівні, якщо вони повністю збігаються по довжині і містять одні й ті ж символи.