Слайд 2Определение
Символ — это буква, цифра или какой-либо знак.
Строка – упорядоченная последовательность
символов, заключенная в апострофы.
Количество символов в строке называется ее длиной.
Длина строки может лежать в диапазоне от 0 до 255.
Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII
Слайд 3Таблица кодов ASCII
Символ может быть записан, ограниченный апострофами (‘a’) или записан в
коде (#97)
сhr(<код символа>) – функция, возвращающая символ по его коду в кодовой таблице ASCII.
ord(<символ>) – функция, возвращающая код по соответствующему символу.
Слайд 5Описание строк
Var
<имя_строки>:string;
<имя_строки>:string[n];
n - максимально возможная длина строки. Если параметр опущен, то
по умолчанию он считается равным 255.
Var
name : string[15];
Слайд 6Элемент строки
К строке можно обратиться посимвольно.
i-й символ строки s записывается как s[i].
Например, если s = ‘Мир',
то s[1] = это ‘М',
s[2] = это ‘и',
s[3] = это ‘р'
Слайд 7Конкатенация (слияние)
Над строковыми данными определена операция слияния, обозначаемая знаком +.
Например:
a
:= 'Pascal'; b := 'ABC' c := a + b; В этом примере переменная c приобретет значение 'PascalABC'.
Аналогичную операцию выполняет функция concat(s1,s2,...,sn)
c:=concat(a,b);
результат с='PascalABC'
Слайд 8Сравнение строк
Над строками определены операции сравнения <,>,=,<>,<=,>=, результат выполнения операции логический.
Две
строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, при сравнении недостающие символы короткой строки заменяются символом с кодом 0.
Слайд 9Сравнение строк
В результате сравнения двух строк получается логическое значение (true или false).
Примеры:
‘строка’<>’строки’ (true);
‘Abc’<’abc’ (true);
‘год’>’век’; (true);
Слайд 10Длина строки
length(s);
определяет текущую длину строки s.
Пример:
s=‘Программирование’;
length(s) = 16;
Слайд 11Копирование в строке
copy(s,p,k);
возвращает подстроку, выделенную из строки s, длиной k символов,
начиная с символа под номером p.
Пример:
s := ‘порт сервера DNS';
s1 := copy(s, 9, 4); {s2 будет ‘вера'}
Слайд 12Позиция символа в строке
pos(s1,s);
возвращает номер первой позиции подстроки s1 в исходной строке
s. Если подстроки нет, то выдает 0.
Пример:
s := способ хранения';
x1 := pos(‘ранения', s); {x1 будет 9}
x2 := pos(‘рана', s); {x2 будет 0}
Слайд 13Вставка строки в строку
insert(s1,s,p);
вставляет строку s1 в строку s, начиная с символа
под номером p строки s. Пример:
s := 'Система Pascal';
insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}
Слайд 14Удаление в строке
delete(s,p,k);
удаляет из строки s подстроку длиной k символов, начиная с
символа под номером p.
Пример:
s := 'Система Turbo Pascal'; delete(s,8,6); {s будет равно 'Система Pascal'}
Слайд 15Преобразования
Str (x,s); - преобразует числовое значение x в строковое s.
Val (s,v,error); -
преобразует строковое значение s в числовое v, где значение переменной error равно позиции первого по порядку неправильного символа в s, если преобразование не произошло, или 0 в случае успешного преобразования.
Слайд 16Задание
Добавить комментарии в программе, демонстрирующей основные функции и процедуры обработки строк
Слайд 17Задача
В введенной строке подсчитать количество букв «о»,
заменить букву «м» на
«п»,
удалить запятые.
Слайд 18Задача.
Составить программу, вставляющую перед каждой цифрой 4 в исходной строке слово «да».
(добавить комментарии)
Слайд 19Задача для самостоятельного решения
Подсчитать сумму всех цифр, которые встречаются в строке. (Указания:
рассмотреть строку посимвольно, построить условие, проверяющее, является ли очередной символ числовым, при истинности данного условия преобразовать символ в число и добавить в сумму)
Слайд 20Проверка усвоения материала
Дана строка s = ‘Удачного дня, ребята!’
1) length(s) = ?
2)
s1=‘же’+copy(s,15,6); s1 = ?
3) delete(s,13,8); s = ?
4) insert(‘ вам’,s,9); s = ?
5) write(‘мама’>’папа’); в окне вывода ?