Реферат Курсовая Конспект
Рядковий тип даних - раздел Образование, Інформатика Розв’Язуючи Задачі Нам Доводиться Виконувати Не Тільки Математичні Обчислення...
|
Розв’язуючи задачі нам доводиться виконувати не тільки математичні обчислення, а й опрацьовувати текстову інформацію: знаходити потрібне слово, виконувати електронний переклад, шифрувати або розшифровувати текст і т.д. Для роботи з текстами в Паскалі застосовується структурований тип даних 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’.
2. Вставка.
Для вставки одного рядка в інший використовується процедура Вставити Insert (Str1,Str2,n), що вставляє рядок Str1 у рядок Str2, починаючи з n–го символу. При цьому перший рядок не змінюється , а другий одержує нове значення.
Приклад
Str1:='ABCDEFGH';
Str2:='abcdefgh';
Insert(Str1, Str2, 3);
У результаті виконання даної процедури рядок стане таким: Str2= ‘abABCDEFGHcdefgh’. Таким самим буде результат виконання такої послідовності операторів:
Str2:='abcdefgh';
Insert ('ABCDEFGH',Str2,3);
3. Копіювання.
Функція Фрагмент Copy (Str,n,m) копіює m символів рядка str, починаючи з n-ого символу. При цьому рядок Str не змінюється.
Приклад
Str1:='ABCDEFGH';
Str2:='abcdefgh';
Str3:=Copy(Str1,4,3);
Writeln(Str3);
Writeln(copy(Str2,4,3));
Значення змінної Str3=’DEF’. А на екран будуть виведені такі рядки:
DEF
def
4. Довжина рядка.
Під довжиною рядка розуміють фактичну (а не найбільшу можливу) кількість символів у рядку. Її значення можна отримати за допомогою функції Довжина Length (Str). Результат її виклику – ціле число, що дорівнює кількості символів рядка Str.
Приклад
Str:='Я люблю інформатику.';
K:=Length(Str);
У результаті значення змінної K буде дорівнювати 20.
5. Пошук підрядка.
Функція Знайти Pos (Str1,Str2) визначає позицію підрядка в рядку. Її результат – ціле число. Воно визначає номер елемента, з якого починається перше входження підрядка Str1 у рядок Str2. Якщо Str1 не входить у Str2, то значення функції дорівнює 0.
Приклад
K:=Рos('ка', 'солодка карамелька')
У цьому випадку значення К дорівнює 6, тому що функція Рos повертає номер елемента, починаючи з якого підрядок зустрічається перший раз.
6. Числа і рядки.
Для роботи з числами й рядками застосовують дві процедури перетворення типів.
Текст Str(N,Str1) – переводить числове значення N у рядкове і присвоює результат рядку Str1, причому можна переводити як цілі числа, так і дійсні.
Приклад
Str(1234, Str1) – після виконання Str1='1234';
Str(452.567, Str1) – переводимо дійсне число, результат Str1='452.567';
Друга процедура виконує обернену дію.
Значення Val (Str, N, K) – переводить рядкове значення у числове. Якщо даний рядок є записом числа (цілого або дійсного), то значення К стане рівне 0, а N – шуканому числу. Якщо ж повністю перетворити рядок в число не вдалось, то K буде рівним номеру помилкового символу в рядку, а N – числу, записаному символами перед помилковим.
Наведемо програму, яка демонстує різні варіанти виклику процедури Значення:
Program ValDemo;
Var x, k:integer;
y:real;
– Конец работы –
Эта тема принадлежит разделу:
Інформатика... АЛГО основи програмування... клас Навчальний посібник Шепетівка...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Рядковий тип даних
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов