
Рядкові величини
Рядкові змінні – це одномірні масиви символів, для опису яких у TURBO PASCAL введений тип String.
Наприклад, якщо рядок містить до 30 символів, її тип буде визначений як type s= String[30];
Довжина рядка не може містити більш, ніж 255 символів.
У TURBO PASCAL визначене поняття рядка змінної довжини, у цьому випадку її опис задається як type s= String;
Тип String без вказівки довжини сумісний з усіма типами рядків.
Особливістю рядкових змінних є те, що до них можна звертатись як до скалярної змінної, так і до масивів. В іншому випадку застосовується конструкція "змінна з індексом", що забезпечує доступ до окремих символів рядка. При цьому нижня границя індекса дорівнює 1. Окремий символ рядка має тип Char.
У пам'яті ЕОМ рядок займає кількість байтів, на одиницю більше її довжини. Нульовий байт рядка містить її довжину.
Для рядків визначені операції присвоювання, злиття (конкатенації) і порівняння.
Для порівняння рядків застосовуються всі операції відношень. Порівняння рядків відбувається посимвольно, починаючи з першого символу. Рядки рівні, якщо мають однакову довжину і посимвольно еквівалентні.
Рядки можуть бути елементами списку введення - виведення, при цьому записується ім'я рядка без індексу.
При введенні рядкових змінних кількість символів, що вводяться, може бути менше, ніж довжина рядка. У цьому випадку символи, що вводяться, розміщуються з початку рядка, а байти, що залишилися, заповнюються пробілами. Якщо кількість символів, що вводяться, перевищує довжину рядка, зайві символи відкидаються.
Ініціалізація рядків може вироблятися як за допомогою типізованих констант:
const sName: String[9]= 'IBM PC/AT';
так і з використанням другого різновиду функції FillChar:
FillChar( var V; NBytes: Word; C: Char );
наприклад:
FillChar(A, SizeOf(A), '0');
Для роботи з рядками в TURBO PASCAL включені процедури і функції, що забезпечують редагування і перетворення рядків Copy, Concat, Delete, Insert, Length, Pos.
ЗАВДАННЯ ДО РОЗВ’ЯЗАННЯ
1. Дано символи S1,…, Sn. Видалити з даної послідовності всі групи букв виду abcd.
2. Дано символи S1,…, Sn. Перетворити послідовність S1,…, Sn, замінивши в ній всі знаки оклику крапками.
3. Дано символи S1,…, Sn. Підрахувати скільки разів серед даних символів зустрічається символ “+” і скільки разів символ “*”.
4. Дано символи S1,…, Sn, серед яких є двокрапка. Підрахувати всі символи, розміщені після першої двокрапки.
5. Дано символи S1,…, Sn. Перетворити послідовність S1,…, Sn, видаливши кожний символ “*” і повторивши кожен символ, відмінний від “*”.