Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012-2013 Вопросы к экзамену П бак 1 семестр.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
724.74 Кб
Скачать

1 . Операция сравнения (так как в строках определён порядок, то для их возможно сравнить).

В строках определён лексико-графический порядок: из двух строк меньшей считается та у который первый символ меньше.

Пустая строка по умолчанию меньше всех остальных.

2. Операция обращения к элементу строки

В отличии от массивов нельзя s[5]:=’c’ для этого лучше воспользоваться Copy или Concat.

20.Записи.

Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.

Запись Паскаля – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

type < имя _ типа >=record

<имя_поля1>: тип;

<имя_поля2>: тип;

………………….

<имя_поля K >: тип

end ;

где record – служебное слово, а <имя_типа> и <имя_поля> - правильные идентификаторы языка Паскаль.

Type anketa1=record

fio: string[45];

pol: char;

dat_r: record;

god: integer;

mes: string[10];

den: 1..31;

end;

adres: record

gorod: string[25];

ulica: string [20];

dom, kv: integer;

end;

curs: 1..5;

grupp: string[3];

end;

Полями записи могут быть любые типы (базовые, структурированные, конструируемые, процедуры, функции, файлы)

var

student: anketa;

student 1: anketa 1;

Оперирование несколькими полями

Оператор with служит для

With <имя_записи> do

Begin <операторы>

{имена полей здесь используются как <имя_поля>, а не как <имя_записи>.<имя_поля>}

End;

With birthday [father] do

Begin

Day:=30;

Month:=12;

Year:=1964;

End;

Замечание: Для того, чтобы внутри оператора with можно было обратиться не к полю записи, а к глобальной переменной с таким же именем нужно указать имя программы.

НО!

With_my_birthday do

Begin day:=17;

Month:=3;

{поле записи birthday.month}

Year:=2005;

Programma.month:=5;

{глобальная переменная month}

End;

Оператор with может иметь вложенность.

Запись с вариантной частью

Если заранее известно, что в массиве записей некоторые поля могут оставаться пустыми, то для сокращения объема используемой памяти можно использовать запись с вариантной частью (ЗВЧ).

Шаблон:

Type имя=record

Имя_поля1:тип1;

……………………

Имя_поляN:типN;

Case переключатель:тип Of

Метка1: (имя_поля11:тип11;имя_поля12:тип12;…);

………………………………………………………..

Меткаk: (имя_поляk1:типk1;имя_поляk2:типk2);

End;

Вариантная часть начинается зарезервированным словом case, после которого указывается то поле записи, которое в дальнейшем будет служить переключателем (переключатель относится к одному из перечисляемых типов).

Список вариантов может быть константой, диапазоном, может быть объединением нескольких констант или нескольких диапазонов. Набор соответствующих полей берется в круглые скобки.

Пример:

Type kind=(married,single);

Person=record

Name:string;

Datebirth:date;

Case yesno:kinf Of

Married: (name1:string;date1:date);

Single: ();

End;

Type biblio=record

Name,publisher:string[20];

Case item:char of

b’: (author:string[20];year:0..2004);

n’ : (data:date);

m’: (year:1700..2004;

Month:1..12;

Number:integer);

End;