Поле является составной частью типа Запись (record) или класса (в данном случае оно, как правило, называется свойство).
При описании типа данных Запись (record) используют поля, которые описывают характерные свойства данной записи. Запись может содержать информацию о различных объектах реальной жизни (машина, человек, радиоприёмник и пр.), а каждая запись содержит информацию, которая характеризует описываемый объект с той, или иной стороны.
Например, для записи Машина могут быть заданы поля, содержащие информацию о марке автомобиля, его цвете, объёме двигателя, количестве дверей и наличии откидывающейся крыши.
Для записи Человек можно выделить поля для хранения имени, фамилии и отчестве человека, номер и серию его паспорта, возраст и т.д.
В качество полей могут быть использованы не только элементарные типы данных (строка, целое, вещественное), но и составные (массивы, перечисления, записи).
Например:
type parants = record name, surname : string; age : byte; phone : string; end;
students = record name, surname : string; age : byte; mother : parents; father : parent; end;
var student : students;
begin with student do begin name := 'Вася'; surname := 'Пупкин'; age := 15; mother.name := 'Ирина'; mother.surname := 'Пупкина'; mother.phone := '+7 (916) 123-45-67'; end; end.
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
type CheckBalls=class
private
ad:array of real; // диаметры шариков ap:array of real; // веса шариков etD:=24.0; // эталонный диаметр derD:=2.0; // эталонное предельное отклонение etP:=74.0; // эталонный вес derP:=3.0; // эталонное предельное отклонение
procedure CheckBall(m:integer); // проверка шарика с указанным номером begin Write('Шарик № ',m,': диаметр - '); if Abs(aD[m-1]-etD)<=derD then Write('норма') else Write('брак'); Write(', вес - '); if Abs(aP[m-1]-etP)<=derP then Writeln('норма') else Writeln('брак') end;
public
constructor(ma,mp:array of real); begin ad:=Copy(ma); ap:=Copy(mp); end;
procedure CheckAllBalls; begin for var i:=1 to ad.Length do CheckBall(i) end;
end;
begin var n:=120; // число шариков var a:=SeqRandom(n,200,280).Select(t->t/10).ToArray; var b:=SeqRandom(n,700,800).Select(t->t/10).ToArray; Writeln('Параметры шариков (диаметр,вес):'); a.Zip(b,(p,q)->(p,q)).Println; Writeln('Результаты контроля:'); var oL:=new CheckBalls(a,b); oL.CheckAllBalls end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку