ЗАПИСИ. ОПЕРАТОР With

Попередня сторінка Зміст Задачі Наступна сторінка

Запис - це структурний тип даних, який складається з фіксованого числа компонент одного чи декількох типів.

Формат.
Type <ім'я типу>=record
<індефікатор 1>:<тип поля>; <індефікатор n>:<тип поля>;
end;

Var <індефікатор>:<ім'я типу> Приклад.
Type Student=record Fam:string[20]; Year:1975..1982; end; Var Stud1,Stud2:Student;

В даному прикладі запис Student містить два поля: прізвище студента Fam і його рік народження Year. В розділі Var описано дві змінних Stud1 і Stud2 типу Student.

Звертання до значення поля здійснюється за допомогою індефікатора змінної і індефікатора поля, розділених крапкою. Така комбінація називається складеним іменем. Наприклад, щоб отримати доступ до полів запису Student потрібно записати:

Stud1.Fam, Stud1.Year, Stud2.Fam, Stud2.Year.

Для присвоєння полям значень використовується оператор присвоєння.

Наприклад:
Stud1.Fam:='Шевчук В.Е.'; Stud1.Year:=1979;
Stud2.Fam:='Колосюк С.Г.'; sTUD2.YEAR:=1980;

Допускається застосування оператора присвоєння до записів в цілому , якщо вони мають однаковий тип. Наприклад, для змінних Stud1 і Stud2 можназаписати оператори присвоєння:

Stud1:=Stud2; Stud2:=Stud1;

В деяких задачах зручно користуватись масивами записів можна описати наступним чином:

Type Mas=array[1..30] of Student;
Var G21,G22,G23: Mas;

Звертання до полів запису має громіздкий вигляд. Для розв'язання цієї проблеми в Паскалі передбачений оператор with, який має формат:

with <змінна типу запис> do <оператор>;

Один раз вказавши змінну типу запис в операторі with, можна працювати з іменами полів як із звичайними змінними, тобто без запису перед ідентифікатором поля імені змінної, яка визначає запис.

Приклад. Присвоїти значення полям змінній Stud1 з допомогою оператора winh.

with Stud1 do
begin Fam:='Іваненко М.І';
Year:=1980
end;

Паскаль допускає вкладення записів один в одного(тобто поле запису в свою чергу теж може бути записом), відповідно оператор with теж може бути вкладеним.

Попередня сторінка Зміст Задачі Наступна сторінка