Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алго-Методичка.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.31 Mб
Скачать

1.15. Рядковий тип даних

Розв’язуючи задачі нам доводиться виконувати не тільки математичні обчислення, а й опрацьовувати текстову інформацію: знаходити потрібне слово, виконувати електронний переклад, шифрувати або розшифровувати текст і т.д. Для роботи з текстами в Паскалі застосовується структурований тип даних String (рядок). Рядком називається послідовність певної довжини, що складається з символів.

Опис типу:

Var Str:string;

Найбільша довжина рядка не перевищує 255 символів і може бути вказана в його описі. Наприклад, рядкові змінні з найбільшою довжиною 10 символів описують так:

Var S,T:string[10];

Якщо найбільша довжина в описові не вказана, то вона становить 255 символів. Справжня довжина рядка залежить від присвоєного значення і не перевищує вказаної в описі. Для описаних вище змінних можливі такі присвоєння:

Str:='мир'; {справжня довжина 3 символи}

S:='я і ти';{справжня довжина 6 символів}

T:='';{справжня довжина 0 символів}

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

S:='Сім''я'; {присвоєне значення «Сім'я»}

Змінні типу String виводяться на екран з допомогою стандартних процедур Write і Writeln і вводяться за допомогою стандартних процедур Readln і Read. Тобто вводяться і виводяться не поелементно, як символи, а повністю.

Операції з рядками

У Паскалі є два основних способи опрацювання змінних типу String. Перший спосіб передбачає опрацювання всього рядка як єдиного цілого, тобто єдиного об’єкта. Також, можна розглядати рядок як складний об’єкт, що складається з окремих символів, тобто елементів типу Char, що під час опрацювання доступні кожний окремо. До кожного символу можна звернутися за його номером: Str[i] – це звернення до і-го символу рядка Str. Нумерація символів починається з 1.

1. Склеювання.

Під склеюванням розуміється послідовне об’єднання кількох рядків в один.

Приклад

Var Str1, Str2, Str3:string;

begin

Str1:='Я люблю';

Str2:='інформатику.';

Str3:=Str1+ ' ' +Str2;

...

Рядок Str3 набуває значення «Я люблю інформатику.».

2. Порівняння.

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

Приклад

'Balkon'<'balkon' (Ord('B')<Ord('b'));

'Кіт'='Кіт' (рівні за довжиною і збігаються посимвольно).

Стандартні процедури і функції

АЛГО надає у розпорядження цілу низку стандартних функцій і процедур мови Паскаль, призначених для опрацювання рядків. Розглянемо найважливіші з них. Назви функцій подані двома мовами.

1. Вилучення.

Для вилучення з рядка фрагмента використовується процедура Вилучити Delete(Str,n,m), що вирізає з рядка Str m символів, починаючи з n–го. Таким чином, після виклику процедури Delete рядок змінюється.

Приклад

Str1:=’ABCDEFGH’;

Delete (Str1,3,4);

Після виконання цих операторів із рядка будуть вилучені чотири символи (починаючи з третього), тобто рядок стане таким: Str1=‘ABGH’.