Стрічки
Під стрічкою розуміється скінченну
послідовність символів (елементів таблиці ASCII). В Pascal така
послідовність не може перевищувати 255 символів. Загальний вигляд опису змінних
типу стрічка:
I спосіб: type Strichka=string[N];
var S:Strichka;
II спосіб: var S:string[N];
Var S: string[N]; де N
вказує довжину максимальної стрічки, яка може бути
присвоєна змінній S.
Якщо стрічка описана var S: string [10];
то
можна
задати такі рядки S:=’фізика’; або S:=‘’;{порожня стрічка}.
Змінній типу стрічка можна
присвоювати значення або вводити оператором readln(s).
Аналогічно того, як при роботі з
масивами, вказується доступ до елементів стрічки шляхом вказування імені
змінної і порядкового номера елемента цієї стрічки. Крім того можна
використовувати зміннуS[0],
яка містить інфомацію про довжину стрічки S.
Фунція Ord(S[0]) видає довжину
стрічки.
Для преставлення стрічки S в оперативній пам’яті
КС виділяється(N+1)
байт пам’яті.
Над стрічками виконуються всі
операції порівняння. Вони визначаються наступним чином:
1) перевіряється довжина двох стрічок; якщо довжина
однієї є більшою, то вона більша;
2) у випадку, коли довжини стрічок одинакові,
більшою вважається та, в якій код першого символа, яким вони відрізняються, є
більшим.
Операції
над стрічками:
1). Додавання (склеювання) рядків:
S1:=
concat
(S1,S2) або S1:=S1+S2. Після її виконання в
кінець S1
допишеться початок S2.
2)
delete(S,n,m) – вилучає із стрічки S, починаючи з позиції n m
символів;
3)
insert(S2,S1,N) –
вставляє S2 в S1, починаючи з позиції N;
4)
length
(S)–визначає
довжину стрічки;
5)
copy
(S,n,m)–копіює із стрічки S m символів, починаючи з
позиції n;
6)
pos(S2,S1)–визначає номер
позиції, починаючи з якої S2
входить в S1
(перше входження). Якщо такого входження немає, то значення функції=0.
7)
str(n, S)–перетворює
число n
в стрічку S; (приклад:
n=123,S=’123’)
8) val
(S,n,c)-переводить стрічку в
число, де S-
стрічка, n-число,
c–змінна
типу байт. Параметр с (індикатор) вказує успішність такого переведення: якщо
стрічка S
переведено в число n,
то c=0;
в іншому випадку значення цієї змінної рівне позиції першого елемента стрічки,
при переведенні якого в число виникає помилка (приклад: S=’12c47’, після виконання val(S, n ,c) n–невідоме, с=3.
9) upcase(c)-переводить малі букви
в великі.
Приклад 1. Ввести рядок S, який може містити максимально 15 символів, і вивести його. Змінній Р присвоїти рядок ‘Lviv’.
Var S:string[15]; P:string[4];
Begin
Readln(S);
Writeln(S);
P:=’Lviv’;
Writeln(p)
End.
Приклад 2. Порахувати кількістьцифр 5 в
стрічці.
Var S:string[20]; i,k:integer;
Begin
Readln(S);
k:=0;
For i:=1 to Length(S) do
If
S[i]=’5’ then k:=k+1;
Writeln(k)
End.
Приклад 3. Порахувати кількістьцифр 5 в
стрічці (ІІ спосіб).
Var S:string[20]; i,k:integer;
Begin
Readln(S);
k:=0;
while Pos(‘5’,S)>0 do
k:=k+1;
Writeln(k)
End.
Приклад 4.
В рядку S:string[10] слова ’Київ’ замінити на
’Львів’.
Var S:string[10]; i:integer;
Begin
Read(s);
i:=Pos(‘Київ’,s);
while i>0 do
begin
Delete(s,i,4);
Insert(‘Львів’,s,i);
i:=Pos(‘Київ’,s);
end;
Write(s)
End.
Руденко,
Речич, Потієнко. Інформатика. 9 клас ст. 172-174
Д./з. №1
1. Видалити всі слова red в рядку.
2. Всі
сполучення abc в рядку замінити на defg, підрахувати кількість таких замін.
3.
Після кожної
букви t в рядку записати букву s.
Д./з. №2
Задано : type slovo=string[8];
Var mas:array [1..12] of slovo;
1.
Порахувати кількість
слів, коротших від слова ‘Львів’.
2.
Вивести всі слова, які відмінні від слова ‘Київ’.
3.
Текст, що
утвориться з останніх літер всіх слів списку mas.
4.
Всі слова
зі списку mas, що містять дві букви s.