програми, але не повинна перевищувати зазначеної в описі. Якщо довжина рядка не вказана в описі, то за замовчуванням вона приймається рівною
255 символів.
Приклад:
Var S: string; Var C: char;
I: byte; S: string [5];
......
S: = 'PASCAL'; S: = 'HELLO';
Write (S [2]); {A} C: = S [1]; {C: = 'H'}
for I: = 4 downto 1 do S [2]: = '*';
Write (S [I]); {CSAP} Writeln (S); {H * LLO}
S : =''; {порожній рядок}
2.2 Операції над рядками
Злиття рядків - конкатенація
Var S1, S2, S3: string;
...
S1: = '-PASCAL';
S2: = 'TURBO';
S3: = S2 + S1;
Writeln (S3); {TURBO-PASCAL}
Порівняння рядків
Порівняння рядків відбувається посимвольний, починаючи з першого символу в рядку, відповідно до їх кодами ASCII.
а) Рядки рівні, якщо вони однакової довжини і посимвольний еквівалентні: ' abcd ' = ' abcd ' p>
'_ abcs ' <> ' abcd '
' abcd ' <> ' ABCD ' .
в) Якщо при черговому порівнянні виявиться, що код одного символу більше коду іншого, то рядок його містить також вважається більшою:
' abcd '> ' abca ' т.к. ASCII - коди 'a' <'b' <'c' <... <'z',
' abcd '> ' aBcb ' 'b'> ; 'B'
2.3 Процедури і функції обробки рядків
Приклад:
Var S1, S2, S3: string;
K: byte;
...
S1: = '12345 ';
S2: = '67890 ';
Функція Length ( S : string ): byte
Функція видає поточну довжину рядка.
K: = Length (S1);
Write (K); {5}
Write (Length (S2)); {5}
Функція Concat (S1, S2, ..., SN: string): string
Функція повертає конкатенацію (злиття) строк.
S3: = Concat (S1, S2);
Writeln (S3); {1234567890}
Writeln (Concat (S1, S2)); {1234567890}
Функція Pos (SubS, S: string): byte
Функція шукає входження підрядка SubS в рядок S і повертає номер першого символу підрядка SubS у рядку S або 0, якщо рядок не містить зазначену підрядок.
S3: = '1234567890 ';
K: = Pos (S1, S3);
Writeln (K); {1}
Write (Pos (S2, S3)); {6}
Функція Copy (S: string; START, LEN: integer): string
Функція повертає підрядок довжиною LEN , починаючи з позиції START рядка S .
S3: = Copy (S1, 2,3);
Writeln (S3); {234}
Writeln (Copy (S2, 3,3)); {890}
Процедура Delete (Var S: string; START, LEN: integer)
Процедура видаляє з рядка S підрядок довжиною LEN , починаючи з позиції START .
S3: = S1 + S2; {1234567890}
Delete (S3, 5,4);
Writeln (S3); {123490}
Процедура Insert (SubS: string; Var S: string; START: integer)
Процедура вставляє підрядок SubS в рядок S з позиції START .
S 1: = 'ПОЧАТОК-КІНЕЦЬ';
Insert ('СЕРЕДИНА-', S 1,8);
Writeln ( S 1); {ПОЧАТОК-середина-кінець}
Процедури: Str (X: w: d; Var S: string);
Val (S: string; Var X: <тип>; Var ErrCode: integer)
Процедура Str перетворює числове значення X (цілий або дійсний тип) в строкове S . Можливо завдання формату для X :
w - загальна довжина поля,
d - кількість цифр у дробовій частині.
Процедура Val перетворює строкове значення S (символьне подання числа) в значення числової змінної X в Відповідно до заданим типом (цілий або дійсний). Значення змінної ErrCode = 0 , якщо зображення числа правильно і являє собою номер помилкового символу у разі неможливості перетворення.
Var X: real;
S: string;
I: integer;