Рядок даних у мові Pascal h2>
Познайомимося
до типу даних, який належить до структурованих. Це рядковий тип
даних (рядок). Рядок - це послідовність символів. Кожен символ
займає 1 байт пам'яті (код ASCII). Кількість символів у рядку називається її
завдовжки. Фраза може знаходитися в діапазоні від 0 до 255. Рядкові
величини можуть бути константами та змінними. Особливістю рядка в Turbo
Pascal є те, що з нею можна працювати як з масивом символів, з одного
боку, і як з єдиним об'єктом, - з іншого. За рахунок цього обробка рядків
достатньо гнучка і зручна. Строкова константа є послідовність
символів, укладена в апострофи. Наприклад: Це строкою константа ', '272'.
Строкова мінлива описується в розділі опису змінних наступним
так: p>
Var
: String []; p>
Наприклад: p>
Var
Name: string [20]. P>
Параметр
довжини може і не вказуватися в описі. У такому випадку мається на увазі, що він
дорівнює максимальну величину - 255. Наприклад: Var slovo: string. P>
Строкова
мінлива займає в пам'яті на 1 байт більше, ніж вказана в описі довжина.
Справа в тому, що один (нульовий) байт містить значення поточної довжини рядка.
Якщо строковий змінної не присвоєно ніякого значення, то її поточна довжина
дорівнює нулю. У міру заповнення рядка символами її поточна довжина зростає, але
вона не повинна перевищувати максимальної за описом величини. p>
Символи
усередині рядка індексуються (нумеруються) від одиниці. Кожен окремий символ
ідентифікується ім'ям рядки з індексом, укладених у квадратні дужки.
Наприклад: N [5], S [i], slovo [k + l]. Індекс може бути позитивною константою,
змінної, виразом цілого типу. Значення індексу не повинно виходити за
кордону опису. p>
Тип
string і стандартний тип char сумісні. Рядки та символи можуть вживатися
в одних і тих же виразах. p>
рядкові
вираження будуються з рядкових констант, змінних, функцій і знаків
операцій. Над рядковими даними допустимі операції зчеплення та операції
відносини. p>
Операція
зчеплення (конкатенації) (+) застосовується для з'єднання декількох рядків в один
результуючу рядок. Зв'язує можна як рядкові константи, так і
змінні. p>
Приклад:
'Мама' + 'мила' + 'раму'. В результаті вийде рядок: "Мама мила раму".
Довжина результуючої рядки не повинна перевищувати 255. P>
Операції
відносини: =,, =,. Дозволяють призвести
порівняння двох рядків, в результаті чого виходить логічне значення (true
або false). Операція відносини має пріоритет нижчий, ніж операція
зчеплення. Порівняння рядків проводиться зліва направо до першого неспівпадаючі
символу, і той рядок вважається більше, в якій перший неспівпадаючі символ
має більший номер в таблиці символьної кодування. Якщо рядки мають різну
довжину, але в загальній частині символи збігаються, вважається, що більш короткий рядок
менше, ніж довша. Строки рівні, якщо вони повністю співпадають по довжині
і містять одні й ті ж символи. p>
Приклад: p>
Вираз p>
Результат p>
'True1''MOTHER' p>
True p>
'Мама' 'Мама' p>
True p>
'Cat' = 'Cat' p>
True p>
Функція
Copy (S, Pozition, N) виділяє з рядка S підрядок довжиною N символів, починаючи
з позиції Pozition. Тут N і Pozition - цілочисельні вирази. P>
Приклад: p>
Значення S p>
Вираз p>
Результат p>
'Мама мила раму' p>
Copy (S, 6, 4) p>
'мила' p>
'Маша їла кашу' p>
Copy (S, 1, 8) p>
'Маша їла' p>
Функція
Concat (S1, S2, ..., SN) виконує зчеплення (конкатенацію) рядків S1, S2, ..., SN в
один рядок. p>
Приклад: p>
Вираз p>
Результат p>
Concat ( 'Маша', 'їла', 'кашу') p>
'Маша їла кашу' p>
Функція
Length (S) - визначає поточну довжину рядка S. Результат - значення цілого
типу. p>
Приклад: p>
Значення S p>
Вираз p>
Результат p>
'test-5' p>
Length (S) p>
6 p>
'(A + B) * C' p>
Length (S) p>
7 p>
Функція
Pos (S1, S2) - виявляє перша поява в рядку S2 підрядка S1. Результат
- Ціле число, яке дорівнює номеру позиції, де перебуває перший символ рядка S1.
Якщо в S2 підрядка S1 не виявлено, то результат дорівнює 0. P>
Приклад: p>
Значення S2 p>
Вираз p>
Результат p>
'abcdef' p>
Pos ( 'cd', S2) p>
3 p>
'abcdcdef' p>
Pos ( 'cd', S2) p>
3 p>
'abcdef' p>
Pos ( 'k', S2) p>
0 p>
Процедура
Delete (S, Poz, N) - видалення N символів з рядка S, починаючи з позиції Poz. P>
Приклад: p>
Початкове значення S p>
Оператор p>
Кінцеве значення S p>
'abcdefg' p>
Delete (S, 3, 2) p>
'abefg' p>
'abcdefg' p>
Delete (S, 2, 6) p>
'a' p>
В
результаті виконання процедури зменшується поточна довжина рядка в змінної
S. p>
Процедура
Insert (S1, S2, Poz) - вставка рядка S1 в рядок S2, починаючи з позиції Poz. P>
Приклад: p>
Початкове значення S2 p>
Оператор p>
Кінцеве значення S2 p>
'ЕОМ РС' p>
Insert ( 'IBM-', S2, 5) p>
'ЕОМ IBM-PC' p>
'Рис. 2 ' p>
Insert ( 'N', S2, 6) p>
'Рис. N 2 ' p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту
http://comp-science.narod.ru p>