Скачать презентацию Записи Запись это тип Скачать презентацию Записи Запись это тип

16_Записи.ppt

  • Количество слайдов: 23

Записи Записи

 • Запись – это тип данных, которому соответствует группа данных разных типов. • • Запись – это тип данных, которому соответствует группа данных разных типов. • Каждый из элементов этой группы называется полем. • При работе с записями оперируют понятиями имя записи и имя поля. • Имена записям и ее полям присваиваются в соответствии со стандартными правилами. • Для обращения к записи используется ее имя. • Для обращения к полю записи используется составное имя, которое состоит из имени записи и имени поля, разделенных точкой.

Определение типа записи Определение типа записи

Пример определения типа записи Type TFio=String[30]; TGr= String[5]; TRes. Rec = record fam, name: Пример определения типа записи Type TFio=String[30]; TGr= String[5]; TRes. Rec = record fam, name: TFio; gr : TGr; bad: integer; sr. Ball : real; end;

Примеры инициализации записей const some. Stud: TRes. Rec = (fam: ‘Півень’; name: ’Гнат’; gr: Примеры инициализации записей const some. Stud: TRes. Rec = (fam: ‘Півень’; name: ’Гнат’; gr: ’ПІ001’; bad: 0; sr. Ball: 4. 53); var r 1, r 2, r 3: TRest. Rec; begin r 1. fio: =’Петренко А, П, ’; r 1. gr : = ‘КI 001’; r 1. sr. Ball : = 2. 8; r 1. bad: =3; …

Примеры инициализации записей With r 2 do begin fam: =’Кузьменко’; name: =‘Максим’; gr : Примеры инициализации записей With r 2 do begin fam: =’Кузьменко’; name: =‘Максим’; gr : = ‘KІ123’; bad : = 0; sr. Ball : = 0. 0; end; r 3: =r 2; r 3. name: =’ Микола’;

Пример использования записей при работе с комплексными числами // Тип для комплексного числа Type Пример использования записей при работе с комплексными числами // Тип для комплексного числа Type TComplex = record re, im : real; end;

Ввод комплексного числа function get. Complex. From. Edit (edt 1, edt 2: TEdit): TComplex; Ввод комплексного числа function get. Complex. From. Edit (edt 1, edt 2: TEdit): TComplex; begin result. re: =str. To. Float(edt 1. Text); result. im: =str. To. Float(edt 2. Text); end;

Вывод комплексного числа function comp. To. Str(x: TComplex): String; var z: char; // знак Вывод комплексного числа function comp. To. Str(x: TComplex): String; var z: char; // знак мнимой части begin if x. im <0 then z: ='-' else z: ='+'; result: =format('%1. 2 f %1 s %1. 2 fi', [x. re, z, abs(x. im)]); end;

Сложение комплексных чисел function add. Comp(x 1, x 2: TComplex): TComplex; begin result. re: Сложение комплексных чисел function add. Comp(x 1, x 2: TComplex): TComplex; begin result. re: =x 1. re+x 2. re; result. im: =x 1. im+x 2. im; end;

Массивы записей Type TComplex = record re, im : Integer; end; TCompl. Array = Массивы записей Type TComplex = record re, im : Integer; end; TCompl. Array = array[1. . 10] of TComplex;

Отображение массивов записей Отображение массивов записей

Отображение массивов записей Отображение массивов записей

Пример обработки массива: поиск лучшего по баллу … var best: TRes. Rec; k: integer; Пример обработки массива: поиск лучшего по баллу … var best: TRes. Rec; k: integer; begin best=ar[1]; for k: =1 to count do if ar[k]. ball>best. ball then best: =ar[k]; result: = best. fam+’ ‘+best. name+’, ‘+ best. gr; end;

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

Функція порівняння записів за результатами модуля function compare. Result (const r 1, r 2: Функція порівняння записів за результатами модуля function compare. Result (const r 1, r 2: TRes. Rec): boolean; begin if r 1. neud <> r 2. neud then result : = r 1. neud < r 2. neud else result : = r 1. sr. Ball > r 2. sr. Ball; end;

Функція порівняння записів за групою та прізвищем function compare. Gr. Fio (r 1, r Функція порівняння записів за групою та прізвищем function compare. Gr. Fio (r 1, r 2: TRes. Rec): boolean; begin if r 1. group <> r 2. group then result : = r 1. group <= r 2. group else result : = r 1. fio <= r 2. fio; end;

Процедурный тип для функции сравнения записей type TCompare. Func = function (const r 1, Процедурный тип для функции сравнения записей type TCompare. Func = function (const r 1, r 2: TRes. Rec): boolean;

procedure sort. Res(var ar: TRes. Arr; count: integer; compare: TCompare. Func); var i, j: procedure sort. Res(var ar: TRes. Arr; count: integer; compare: TCompare. Func); var i, j: integer; r: TRes. Rec; ok: boolean; begin i: = count; repeat i: =i-1; ok: =true; for j: =1 to i do if not compare(ar[j], ar[j+1]) then begin r: =ar[j]; ar[j]: =ar[j+1]; ar[j+1]: =r; ok: =false; end; until ok; end;

Поля записей как массивы Type TFio=String[30]; TGr=String[5]; TMark. Array = array[1. . 10] of Поля записей как массивы Type TFio=String[30]; TGr=String[5]; TMark. Array = array[1. . 10] of integer; TRes. Rec = record Fio : TFio; Gr : TGr; marks : TMark. Array; end;

Обращение к элементу поля-массива var r: TRes. Rec; … r. mark[1]: =5; Обращение к элементу поля-массива var r: TRes. Rec; … r. mark[1]: =5;

Обращение к элементу массива записей с полем-массивом type … TRes. Array=array[1. . 30] of Обращение к элементу массива записей с полем-массивом type … TRes. Array=array[1. . 30] of TRes. Rec; Var a: TRes. Array; begin a[15]. mark[6]: =5; …

Что вычисляет этот фрагмент? … var k, r: integer; begin result: =0; for r: Что вычисляет этот фрагмент? … var k, r: integer; begin result: =0; for r: =1 to count do for k: =1 to 10 do result: = result + ar[r]. mark[k]; result : =result/count/10; end;