Слайд 1Строки в Pascal
Учитель информатики и ИКТ
МБОУ лицей г Янаул РБ
Закирова
Р.И.
Слайд 2Строковый тип данных
Для обработки строковой информации в Турбо Паскаль введен
строковый тип данных. Строкой в Паскале называется последовательность из определенного
количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
var s: string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Слайд 3Строковые константы записываются как последовательности символов, ограниченные апострофами.
Пример:
'Текстовая строка'
'abcde‘
Пустой
символ обозначается двумя подряд стоящими апострофами.
Слайд 4Процедуры и функции для работы со строками
строки можно присваивать друг
другу. Если максимальная длина переменной слева меньше длины присваиваемой строки,
то лишние символы справа отбрасываются.
…
s1 := 'this is text';
s2 := s1;
…
Слайд 5Процедуры и функции для работы со строками
Строки можно объединять с
помощью операции конкатенации, которая обозначается знаком +.
…
s1 := 'John';
s2 :=
'Black';
s1 := s1 + ' ' + s2;
…
Слайд 6Строки можно сравнивать друг с другом с помощью операций отношения.
При сравнении строки рассматриваются посимвольно слева направо.
Строки равны, если
они имеют одинаковую длину и посимвольно эквивалентны. В строках разной длины существующий символ всегда больше соответствующего ему отсутствующего символа. Меньшей будет та строка, у которой меньше код первого несовпадающего символа (вне зависимости от максимальных и текущих длин сравниваемых строк).
'abc' > 'ab' (true)
'abc' = 'abc' (true)
'abc' < 'abc ' (false)
Слайд 7ввод-вывод
Имя строки может использоваться в процедурах ввода-вывода.
…
readln (s1);
write
(s1);
…
Слайд 8К отдельному символу строки можно обращаться как к элементу массива
символов, например s1[3]. …
s1[3] := 'h';
writeln (s2[3] + 'r');
…
Слайд 9Процедуры и функции для работы со строками
В системе Turbo Pascal
имеется несколько полезных стандартных процедур и функций, ориентированных на работу
со строками.
Length(s:string):integer
Функция возвращает в качестве результата значение текущей длины строки-параметра
Пример.
n := length('Pascal'); {n будет равно 6}
Слайд 10Concat(s1,[s2,...,sn]:string):string
Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый
параметр является выражением строкового типа. Если длина строки-результата превышает 255
символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+".
Слайд 11Copy(s:string; index:integer; count:integer):string
Функция возвращает подстроку, выделенную из исходной строки s,
длиной count символов, начиная с символа под номером index.
Пример.
s :=
'Система Turbo Pascal';
s2 := copy(s, 1, 7); {s2 будет равно 'Система'}
s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}
s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}
Слайд 12Delete(var s:string; index,count:integer)
Процедура удаляет из строки-параметра s подстроку длиной count
символов, начиная с символа под номером index.
Пример.
s := 'Система Turbo
Pascal';
delete(s,8,6);
{s будет равно 'Система Pascal'}
Слайд 13Insert(source:string; var s:string;index:integer)
Процедура предназначена для вставки строки source в строку
s, начиная с символа index этой строки.
Пример.
s := 'Система Pascal';
insert('Turbo
',s,9);
{s будет равно 'Система Turbo Pascal'}
Слайд 14Pos(substr,s:string):byte
Функция производит поиск в строке s подстроки substr. Результатом функции
является номер первой позиции подстроки в исходной строке. Если подстрока
не найдена, то функция возвращает 0.
Пример.
s := 'Система Turbo Pascal';
x1 := pos('Pascal', s);
{x1 будет равно 15}
x2 := pos('Basic', s);
{x2 будет равно 0}
Слайд 15Задача:
Вставить в заданную позицию строки другую строку.
Описание переменных:
s1, s2 – строки;
i –
позиция вставки.
Алгоритм решения задачи:
Определить значения s1, s2 и i.
С помощью процедуры insert() вставить s2 в s1, начиная с
позиции i.
Слайд 16var s1,s2: string; i: byte;
begin write('Input string 1: ');
readln(s1);
write('Input string 2: ');
readln(s2);
write('Input position: ');
readln(i);
Insert(s2,s1,i);
writeln(s1);
readln
end.
Слайд 17Задача:
Найти в строке определенную последовательность символов и заменить ее
другой.
Описание переменных:
s, s_old, s_new – исходная строка, заменяемая подстрока,
вставляемая подстрока;
i – номер символа строки, с которого начинается подстрока;
l_old – длина заменяемой подстроки.
Алгоритм решения задачи:
Ввести строку, подстроку, которую требуется заменить, и подстроку, которую требуется вставить на место прежней.
Найти место вхождения подстроки в строку с помощью функции pos().
Удалить старую подстроку с помощью процедуры delete().
Вставить новую подстроку, используя процедуру insert().