Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
25.04.2015
Размер:
31.74 Кб
Скачать

Тема 5. Строки. Процедуры и функции действий над строками. Примеры обработки строк.

Тип STRING в Турбо Паскале используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY[0..N] of CHAR , однако в отличие от последнего, количество символов в строке- переменной может меняться от 0 до N, где N-максимальное количество символов в строке. Значение N определяется объявлением типа STRING[N] и может быть любой константой порядкового типа. Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки. Первый значащий символ строки занимает второй байт

и имеет индекс 1.

Значение ORD(ST[0]), т. е. текущую длину строки, можно получить и с помощью функции LENGTH(ST)

VAR FIO: STRING [15];

ADR: STRING [20];

POST: STRING;

К строкам можно применять операцию «+»- сцепление. Например,

ST:=’a ’+’b’;

ST: =ST+’c’;(ST=»abc»);

Все остальные действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций.

  1. CONCAT (S1,[,S2,...,Sn])- функция типа STRING , возвращает строку, представляющую собой сцепление строк – параметров S1, S2, S3,...,Sn.

  2. COPY (ST, INDEX, COUNT)-функция типа STRING ; копирует из строки ST COUNT символов, начиная с символа с номером INDEX;

  3. DELETE (ST, INDEX, COUNT)- процедура ; удаляет COUNT символов из строки ST , начиная с символа с номером INDEX.

  4. INSERT(SUBST, ST , INDEX)-процедура ; вставляет подстроку SUBST в строку ST , начиная с символа с номером INDEX.

  5. LENGTH (ST)-функция типа INTEGER; возвращает длину строки ST.

  6. POS (SUBST, ST) – функция типа INTEGER ; отыскивает в строке ST первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается ; если подстрока не найдена, возвращается ноль.

  7. STR (X [:L [: M], ST)- процедура; преобразует число X любого вещественного или целого типов в строку символов ST (так L- общая ширина поля, выделенного под символьное представление числа X , M- количество символов в дробной части).

  8. VAL (ST, X , CODE)- процедура; преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной; параметр CODE содержит ноль, если преобразование выполнено, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ.

  9. UPCASE (CH) – функция типа CHAR ; возвращает для символьного выражения CH , которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву; если значением CH является любой другой символ ( в том числе строчная буква латинского алфавита), функция возвращает его без преобразования.

Операции отношения =, <>, >, <, >=,<= выполняются над двумя строками посимвольно, слева направо, с учетом внутренней кодировки символов.

1ocн[107-109]

2ocн[135-140] 3ocн[154-165] 4доп[57-82]

Контрольные вопросы

  1. Какие функции используются для обработки строк?

  2. Какие процедуры используются для обработки строк?

  3. В чем отличие строки от одномерного массива символов Array [0..N] of char?

  4. Какое максимальное значение может принимать длина строки?

  5. Какой индекс имеет самый первый байт в строке?

  6. Какой символ возвращает функция UPCASE для буквы русского алфавита?

Соседние файлы в папке лекции паскаль