ЗАПИСИ. ОПЕРАТОР 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 теж може бути вкладеним.