Рядки в Паскаль: поняття, типи, операції, функції
Рядок в Паскалі (Pascal) – це послідовність з певної кількості символів для обробки строкової інформації. Кількість символів в послідовності називається довжиною рядка.
Типи рядків в Паскалі
- Стандартні (String).
- Визначені програмістом на основі String.
- Рядки в динамічної пам’яті.
Рядок типу String може містити до 255 символів. Під кожен символ відводиться по одному байту, в якому зберігається код символу. Ще один байт відводиться під фактичну довжину рядка.
Операції над рядками
- Рядки можна привласнювати один одному. Якщо мах довжина результуючого рядка менше довжини вихідного – зайві символи праворуч відкидаються.
- Рядки можна склеювати (зчіплювати) між собою за допомогою операції конкатенації, яка позначається знаком ‘+’.
- Рядки можна порівнювати один з одним за допомогою операції порівняння. При порівнянні рядки розглядаються посимвольно зліва направо. При цьому порівнюються коди відповідних пар символів. Рядки рівні, якщо вони мають однакову довжину і посимвольно еквівалентні.
Функції для роботи з рядками
- Функція Concat (s1, s2 …, sn) повертає рядок, що є злиттям рядків s1, s2, …, sn.
- Функція Copy (s, start, len) повертає підрядок довжиною len, що починається з позиції start рядка s. Параметри len і start повинні бути цілісними.
- Процедура Delete (s, start, len) видаляє з рядка s починаючи з позиції start підрядок довжиною len.
- Процедура Insert (subs, s, start) – вставляє в рядок s підрядок subs починаючи з позиції start.
- Функція Length (s) повертає фактичну довжину рядка s, результат має тип byte.
- Функція Pos (subs, s) шукає входження підрядка subs в рядок s і повертає номер першого символу subs в s або 0.
- Процедура Str (x, s) перетворює числове значення x в рядок s, при цьому x може бути заданий як в процедурах виведення byte і writeln.
- Процедура Val (s, x, errcode) перетворить рядок s в значенні числової змінної x, при цьому рядок s повинен містити символьні представлення числа. У разі успішного перетворення змінна errcode буде дорівнює нулю. Якщо ж виявлено помилку, то errcode буде містити номер позиції першого помилкового символу, а значення x буде невизначеним.