Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная_ОП.doc
Скачиваний:
6
Добавлен:
15.09.2019
Размер:
168.45 Кб
Скачать

Операции над строками:

Тип STRING широко используется в Паскале при обработке текстов. Строка может объявляться следующим образом: var

Перем-я: string[N];

N – любая константа порядкового типа, N<=255

Турбо Паскаль разрешает не указывать N, в этом случае длина строки принимается максимально возможной, т.е. 255. Строку можно также трактовать как цепочку символов. К любому символу в строке можно обратиться точно так же, как к элементу символьного массива, н-р a[3], a[i]

If a[5]=’f’ then… Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки. Первый значащий символ имеет индекс 1 и занимает второй байт.

Операции над строками.

Операция

Назначение

+

Соединение строк

Concat(s1,s2,…sN)

Сцепление N строк

Pos(S1,S)

Целочисленная функция, возвращающая позицию, на которой находится подстрока S1 в строке S

Length(St)

Целочисленная функция, возвращает длину строки ST

Copy(ST,index,k)

Строковая функция, копирует из строки ST K символов, начиная с символа с номером Index

Delete(St,index,k)

Процедура, удаляет из строки ST K символов, начиная с символа с номером Index

Insert(S1,ST,index)

Процедура, вставляет подстроку S1 в строку ST, начиная с символа с номером Index

Обработка записей

В жизни встречается такая информация, которая состоит из данных разного типа. Это анкеты, таблицы, каталожные кар­точки и т.п. Для представления их в программе применяют за­писи.

Запись — это составной тип данных, который объединяет в себе разнотипные элементы (поля записи). Этот тип описывает конструкция:

имя типа = RECORD

имя поля: тип поля;

имя поля: тип поля;

имя поля: тип поля

END;

ПРИМЕР. Описание записи, содержащей сведения о книге.

type

Book = record

Tittle: string[80]; {название} Author: siring[2]; {автор} Year : integer; {год издания} end;

Над записями допустимы операции присваивания, провер­ки на равенство и неравенство, ввода и вывода. С полем записи в программе поступают, как с переменной того же типа, что и поле.

Обращаются к полю по со­ставному имени:

имя записи.имя поля

ПРИМЕР.

var

X,Y: Book; {описание этого типа см.выше}

Z: array [1 ..100] of Book;

begin

X.Tittle := ' ТРИ МУШКЕТЕРА1;

X.Author := 'А.ДЮМА';

X.Year := 1980;

Y:=X;

writeln (Y.Head, Y.Author);

Z [5] := X;

end.

Тип поля может быть любым, в том числе и записью. На­пример:

TYPE

FullName = record

Surname: string;

Name : string [20];

end;

Book = record

Tittle: string;

Author: FullName;

Year: integer;

End;

Если поле является записью, обращение к его элементам (полям поля) происходит по имени, состоящему из трех частей, например, X.Author.Surname. Глубина вложения описаний не ограничена.

Оператор WITH

Он по­зволяет сократить обращение к полям записи. Его схема:

WITH имя_ записи DO оператор

Всюду внутри оператора можно опускать имя записи в составном имени поля, транслятор добавит его сам.