Для того чтобы в
программе получить доступ к n-му символу строки
используется запись s[n]. Если поменять значение s[0] то это отразится на длине строки. В следующем примере из строки 'Привет' мы сделаем 'Привет!': s[0]:=#7; s[7]:='!';.
Сравнение строк. Строки сравниваются последовательно, по символам. Сравниваются первые
символы строк, если они равны — то вторые, и т. д. Если на каком-то этапе
появилось различие в символах, то меньшей будет та строка, в которой меньший
символ. Если строки не различались, а затем одна из них закончилась, то она и
считается меньшей. Примеры: 'ананас'<'кокос', 'свинья'>'свинина', ''<'A',
'hell'<'hello'.
Склеивание
(конкатенация) строк. К строкам можно применять
операцию «+», при этом результатом будет строка, состоящая
из последовательно записанных «слагаемых». Пример: после действия s:= 'abc'+'def'+'ghi'; переменная
s будет содержать ‘abcdefghi’.
Процедуры и
функции для работы со строками. Наиболее часто
употребляется функция length(s:
string): integer (после двоеточия записан тип значения,
возвращаемого функцией, в нашем случае — целое число). Эта функция
возвращает длину строки s.
Возвращает вырезку из строковой переменной s, начиная с символа с номером start, длина
которой len
s:=’Бестолковый’;
s1:=Copy(s,4,4);
{в s1 станет ‘толк’}
функция
Pos(s1: string; s: string):
byte
Ищет подстроку s1 в
строке s. Если находит, то возвращает номер символа, с которого
начинается первое вхождение s1 в s;
если s1 не входит в s, то функция
возвращает 0
n:=pos(‘министр’,
‘администратор’); {=3}
n:=pos(‘abc’,
‘stuvwxyz’);{=0}
процедура
Insert(s1: string; s: string;
start: integer)
Вставляет строку s1 в строковую
переменную s начиная с символа с номером start.
S:=‘кот’;
insert(‘мпо’,s,3);
{в s станет ‘компот’}
процедура
Delete(s: string; start: integer;
len: integer)
Удаляет из строковой переменной s фрагмент, начинающийся с символа с номером start
и длиной len
s:= ‘треугольник’;
delete(s,4,7);
{в s останется ‘трек’}
Лекция 6. Перечисляемый и ограниченный типы
1. Перечисляемый тип
Предположим, что нам требуется переменная для
хранения дня недели. В этом случае можно воспользоваться целым типом (например byte) и хранить дни недели в виде чисел 1, 2, ... 7, но это будет не очень
наглядно. Турбо Паскаль предоставляет более удобный вариант, а именно создание
перечислимого типа, например, такого: