Общие понятия
Строка – последовательность
символов.
Мама мыла раму
9 мая – день Победы
e39a685d250846c59
Перед использованием строки её
нужно объявить:
var s:string;
По умолчанию в строке может
Объявление
string является
служебным
словом
Объявление
Объявление
string является
string является
Это строки
служебным
служебным
словом
словом
содержаться до 255 символов
Объявлениеstring является служебным словомОбъявлениеstring является служебным словомОбъявлениеstring является служебным словомЭто строки
Общие понятия
Так же как и в массиве, в строке
каждый
символ пронумерован,
индексация символов начинается с
единицы.
1 2 3 4 5 6 7 8 9 10 11 12
H e l l o , w o r l d
Для обращения к отдельному
Таким образом, строка
символу так же используются
квадратные скобки:
s[8]:='w';
похожа на массив
символов
Таким образом, строка похожа на массив символов
Формирование
В отличие от формирования
массива циклом, всей строке сразу
можно
некоторое
присваива
значение:
s:='Hello, world';
При этом весь набор символов
присвоить
ние
заключается в одиночные кавычки.
Строку можно считать и с
клавиатуры:
readln(s);
чтение с клавиатуры
присваиваниечтение с клавиатуры
вывод строки на
Вывод строки на экран
Вывод всей строки тоже не
требует цикла:
writeln(s);
Можно, конечно, использовать
цикл:
for i:=1 to 12 do
write(s[i]);
Но для вывода всей строки такую
экран
конструкцию обычно не используют.
вывод строки на экран
Длина строки
Самая
подсчитывает
символов в строке:
простая
функция
количество
length(s)
Значением этой функции может
быть целое число от 0 (пустая
строка) до 255.
Обычно это значение используют
в
и
или
преобразования
анализа
циклах
для
строки
Длина строки
var s:string;
l:integer;
begin
write('Введите строку: ');
readln(s);
l:=length(s);
writeln('Длина строки ',l);
end.
Действия со строками
Самым простым действием над
строками является их склейка.
Осуществляется она при помощи
операции сложения:
s:='Hello, '+'world';
В данном случае результат зависит
от перемены мест «слагаемых».
Можно складывать не только 2
строки:
s:='He'+s1+','+s2+'old';
Действия со строками
Второе действие – копирование
символов из одной строки в
другую. Для этого используют
функцию copy, которая имеет 3
тип
параметра
результата:
строковый
и
copy(s,n,k)
Первый параметр – строка, из
которой копируем, второй – номер
символа, с которого начинаем
Действия со строками
Например:
s:='Информатика';
s1:=copy(s,3,5);
В строковую переменную s1
копируются
5 символов из строки s, начиная с
третьего символа.
Само значение строки s не
Каково значение строк s и s1?
меняется.
Каково значение строк s и s1?
Действия со строками
– удаление
Третье действие
символов из строки. Для этого
используют процедуру delete,
которая тоже имеет 3 параметра:
delete(s,n,k)
Первый параметр – строка, из
которой удаляем, второй – номер
символа, с которого начинаем
удалять, третий
– количество
удаляемых символов.
Действия со строками
Например:
s:='Информатика';
delete(s,3,5);
удаляются 5
Из
символов начиная с третьего
символа.
Само
значение её длины меняется.
Каково значение строки s?
строки s и
значение
строки
s
Каково значение строки s?
Действия со строками
Следующее действие – вставка
одной строки в другую. Для этого
insert,
используют
имеющую 3 параметра:
процедуру
insert(s1,s,n)
–
строка,
Первый параметр
которую вставляем, второй
–
строка, в которую вставляем,
третий
с
которого начинаем вставку.
– номер
символа,
Действия со строками
Например:
s1:='министр';
s:='Адатор‘;
insert(s1,s,3);
В
начиная
вставляется строка s1.
Каково значение строк s и s1?
строковую переменную s,
символа
с
третьего
Каково значение строк s и s1?
сначала
мы
Простые задачи
простые
Разберем
задачи. Простыми они называются
потому, что длина строки при
анализе или преобразовании не
меняется.
Следовательно,
будем
использовать цикл for, в котором
начальное значение равно 1, а
конечное length(s).
А
цикле
посимвольно
в
Подсчет количества
символа 'о'
var s:string; i,k:integer;
begin
readln(s);
k:=0;
for i:=1 to length(s) do
if s[i]='o' then k:=k+1;
writeln(k);
end.
Замена символа 'о' на 'а' (1
на 1)
var s:string; i:integer;
begin
write('Введите строку: ');
readln(s);
for i:=1 to length(s) do
if s[i]='o' then s[i]:='a';
writeln(s);
end.
две
Задания
Сделайте
программы более общими:
1. Символ, количество которых
подсчитывается в строке,
нужно ввести с клавиатуры.
предыдущие
2. Символы,
который
заменяется и на который
проводится замена, вводятся
с клавиатуры.
Задания