Upload
igor-mclean
View
35
Download
0
Embed Size (px)
DESCRIPTION
Строковый массив. Строка – упорядоченная последовательность символов. - PowerPoint PPT Presentation
Citation preview
Строка – упорядоченная последовательность символов.
Строковый тип данных - структурированный тип в 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 – целочисленные выражения.
Функция concat(s1,s2,…sn) выполняет сцепление (конкатенацию) строк в одну строку.
Значения s Выражение Результат
‘мама мыла раму’ сopy(s,6,4) ‘мыла’
‘Маша ела кашу’ copy(s,1,8) ‘Маша ела’
Выражение Результат
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’ pos(‘cd’,s2) 3
‘abcdcdef’ pos(‘cd’,s2) 3
Процедуры
Процедура delete(s,poz,n) - удаление n символов из строки s, начиная с позиции poz.
Исходное
значение s
Оператор Конечное значение s
‘abcdefg’ delete(s,3,2) ‘abefg’
‘abcdefg’ delete(s,2,6) ‘a’
Исходное
значение s2
Оператор Конечное значение s
‘ЭВМ PC’ insert(‘IBM-’,s2,5) ‘ЭВМ IBM-PC’
‘Рис. 2’ insert(‘№’,s2,6) ‘Рис. №2’
В результате выполнения процедуры уменьшается текущая длина строки в переменной s.
Процедура insert(s1,s2,poz) - вставка строки s1 в строку s2, начиная с позиции poz.
Типовые задачи
Задача 1. Дана строка, состоящая из 20 символов. Посчитать сколько раз буква f встречается в данной строке.
Задача 2. Дана строка, содержащая 20 символов. Подсчитать количество цифр, входящих в данную строку.
Задача 3. Дано произвольное слово. Проверить является ли оно палиндромом. (пример: казак, шалаш)
Задача 4. Дана строка символов. Получить новую строку из первоначальной строки, без точек.
Задача 5. Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами.