Таким способом можно обратиться к любому полю любой записи как для занесения туда некоторого значения, так и для извлечения необходимой информации.
Программа: Вводятся координаты n точек на плоскости. Найти самую удаленную от начала координат точку.
uses crt;
type pixel = record
x, y: integer;
end;
var p, max: pixel; n, i: integer; r, maxr: real;
begin
clrscr;
write('Введите количество точек: ');
readln(n);
max.x:=0; max.y:=0; maxr:=0;
for i:=1 to n do
begin
write('Введите ',i,'-ю точку: ');
readln(p.x, p.y);
r:=sqrt(p.x*p.x + p.y*p.y);
if r > maxr then
begin
maxr:=r;
max.x:=p.x;
max.y:=p.y;
end;
end;
write('Самая удаленная точка: (', max.x,', ', max.y,')');
readkey
end.
В случаях, когда требуется производить операции с полями фиксированной записи, для сокращения обозначений использовать оператор присоединения with. Его структура такова:
With имя записи do оператор;
Благодаря этому оператору пропадает необходимость указывать при обращении к отдельному полю записи кроме собственного идентификатора еще и имя записи.
Пример: Определить запись student, предоставляющую следующие данные: студент 42 группы Петров имеет оценки 5, 3, 4, 4.
- Student. Fio := ’Петров’; Student. Gr:=42; Student. Ball[1]:=5; Student. Ball[2]:=3; Student. Ball[3]:=4; Student. Ball[4]:=4;
- With s do
- Begin
- Fio:=’Петров’; gr:=42; ball[1]:=5; ball[2]:=3; ball[3]:=4; ball[4]:=4;
- End;