Распространённые ошибки при работе со строками Стандартные процедуры работы со строками
Delete (Str,Poz,N) Delete (Str,Poz,N) - удаление N символов строки Str, начиная с позиции Poz. Insert (What,Where,Poz) Insert (What,Where,Poz) - вставка строки What в строку Where, начиная с позиции Poz. Copy (Str,Poz,Nstr) Copy (Str,Poz,Nstr) - выделяет строку длиной Nstr, начиная с позиции Poz, из строки Str. Встроенные процедуры работы со строками
Concat (Str1,Str2,...,StrN) Concat (Str1,Str2,...,StrN) - выполняет сцепление строк в том порядке, в каком указаны в списке параметров. Poz (What,Where) Poz (What,Where) - обнаруживает первое появление подстроки What в строке Where. Встроенные процедуры и функции работы со строками
UpCase (Ch) UpCase (Ch) - преобразует строчную букву в прописную. Str (Number,Stroka) Str (Number,Stroka) - преобразует число в строку. Val (Stroka,Number,Code) Val (Stroka,Number,Code) - преобразует строку в число и выдает код правильности преобразования. Встроенные процедуры и функции работы со строками
Динамическое изменение длины строки Program Var Begin End Program StringLength; Var S : string; {макс. длина строки = 255} Begin S:=''; {пустая строка} Writeln (S,' ',SizeOf(S),' ',Length(S)); {размер=256, длина=0} S:='Пример длинной строки'; {присваиваем строке некоторое значение} Writeln (S,' ',SizeOf(S),' ',Length(S)); {размер=256, длина=21} Delete(S,7,8); {удаляем из строки 8 символов, начиная с 7} Writeln (S,' ',SizeOf(S),' ',Length(S)); {размер=256, длина=13} S:=S+' символов'; {добавляем к строке строку} Writeln (S,' ',SizeOf(S),' ',Length(S)); {размер=256, длина=22} End.
Распространённые ошибки Program Var Begin Program StringElements; Var S : string; {макс. длина строки = 255} Begin S:='ABCD'; {инициализация строки} Writeln (S,' ',Length(S)); {вывод строки и ее длины} S[5] := 'E'; {присваивание элементу строки} Writeln (S,' ',Length(S)); End {ни сама строка, ни ее длина не изменились} End.
Program Var Begin End Program StringElements2; Var Str : string[26]; {длина строки = 26} i : integer; Begin Str:='A'; for i := 1 to 26 do Str[i] := Chr (Ord('A')+i-1); writeln(Str); End.
Program Var Begin End Program stringElements3; Var Str : string[26]; {длина строки = 26} i : integer; Begin S:=''; for i := 'A' to 'Z' do Str := Str + i; Writeln(Str); End.
Запросите у пользователя несколько строк и выведите на экран их длину, результат конкатенации в некотором порядке и произведите проверку, можно ли преобразовать эти строки в числа. Загадайте пользователю детскую загадку. Дайте ему возможность трижды попробовать отгадать Вашу загадку. Сопровождайте работу программы диалогом с пользователем.
Выясните, какая из букв (первая или последняя) встречается в заданном слове чаще. Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.