Слайд 1Строки
Строковые функции
Pascal
Слайд 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(‘мама’>’папа’); в окне вывода ?
Слайд 21Домашнее задание
Повторить материал урока
Удалить в строке заглавные русские буквы. Для проверки
символа на заглавную русскую букву использовать таблицу ASCII.