Document 4679574

advertisement
Строка – упорядоченная
последовательность символов.
Строковый тип данных - структурированный тип в
Turbo Pascal. Каждый символ строковой величины
занимает 1 байт памяти (код ASCII). Количество
символов в строке называется её длиной. Длина
строки может лежать в диапазоне от 0 до 255.
Строковая
константа
–
последовательность
символов, заключенных в апострофы. Например:
’май’, ‘545’. Два следующих друг за другом апострофа
(‘’) обозначают пустую строку.
Строковая переменная
описания переменных:
описывается
в
разделе
var <идентификатор>: string [<максимальная длина строки>];
А
ИНФОРМАТИКА
1
2 3 4
5 6
7 8 9 10 11
Например: var а:string [11];
В описании строки можно не указывать длину. В таком
случае подразумевается, что она равна максимальной
величине - 255.
Например: var name:string;
Элементы строки идентифицируются именем строки
с индексом, заключенным в квадратные скобки.
Например: а[3]
Индекс может быть положительной константой,
переменной, выражением целого типа. Значение
индекса не должно выходить за границы описания.
Тип string и стандартный тип char совместимы. Строки и
символы могут употребляться в одних и тех же выражениях.
Операции над строками
Операция сцепления (конкатенации) (+) применяется
для
соединения
нескольких
строк
в
одну
результирующую строку. Сцеплять можно как строковые
константы, так и переменные.
Пример: ‘мама’ + ‘ мыла’ + ‘ раму’
‘мама мыла раму’
Длина результирующей строки не должна превышать 255.
Операции
отношения:
=,<,>,<=,>=,<>.
Позволяют
произвести сравнение двух строк, в результате чего
получается логическое значение true или false.
Операция отношения имеет приоритет более низкий, чем
операция сцепления. Сравнение строк производится слева
направо до первого несовпадающего символа, и та строка
считается больше, в которой первый несовпадающий
символ имеет больший номер в таблице символьной
кодировки.
Выражение
Результат
‘True1’<‘True2’
True
‘Mother’>’MOTHER’
True
‘Мама’<>’ Мама’
True
‘Cat’=‘Cat’
True
Если строки имеют различную длину, но в общей части
символы совпадают, считается, что более короткая строка
меньше, чем более длинная. Строки равны, если они
полностью совпадают по длине и содержат одни и те же
символы.
Функции
Функция copy(s,poz,n) выделяет из строки s подстроку
длиной n символов, начиная с позиции poz. Здесь n и poz –
целочисленные выражения.
Значения s
Выражение
Результат
‘мама мыла раму’
сopy(s,6,4)
‘мыла’
‘Маша ела кашу’
copy(s,1,8)
‘Маша ела’
Функция
concat(s1,s2,…sn)
выполняет
(конкатенацию) строк в одну строку.
Выражение
concat(‘Маша’,’ ела ’,’ кашу’)
сцепление
Результат
‘Маша ела кашу’
Функция length(s) определяет текущую длину строки s.
Результат – значение целого типа.
Значения s
Выражение
Результат
‘test-5’
length(s)
6
‘(A+B)*C’
length(s)
7
Функция pos(s1,s2) обнаруживает первое появление в строке
s2 подстроки s1. Результат – целое число, равное номеру
позиции, где находится первый символ подстроки s1. Если в
строке s2 подстроки s1 не обнаружено, то результат равен 0.
Значения s2
‘abcdef’
‘abcdcdef’
Выражение
pos(‘cd’,s2)
pos(‘cd’,s2)
Результат
3
3
Процедуры
Процедура delete(s,poz,n) - удаление n символов из
строки s, начиная с позиции poz.
Исходное
значение s
Оператор
Конечное
значение s
‘abcdefg’
delete(s,3,2)
‘abefg’
‘abcdefg’
delete(s,2,6)
‘a’
В результате выполнения процедуры уменьшается
текущая длина строки в переменной s.
Процедура insert(s1,s2,poz) - вставка строки s1 в строку s2,
начиная с позиции poz.
Исходное
значение s2
Оператор
Конечное
значение s
‘ЭВМ PC’
insert(‘IBM-’,s2,5)
‘ЭВМ IBM-PC’
‘Рис. 2’
insert(‘№’,s2,6)
‘Рис. №2’
Типовые задачи
Задача 1. Дана строка, состоящая из 20
символов. Посчитать сколько раз буква f
встречается в данной строке.
Задача 2. Дана строка, содержащая 20 символов.
Подсчитать количество цифр, входящих в данную строку.
Задача 3. Дано произвольное слово. Проверить является
ли оно палиндромом. (пример: казак, шалаш)
Задача 4. Дана строка символов. Получить новую строку из
первоначальной строки, без точек.
Задача 5. Определить наименьшую длину слова в строке.
Считать, что все слова отделены пробелами.
Download