Янз бүрийн төрөлтэй өгөгдлүүдийг нэг өгөгдлийн төрөл мэт нэгэтгэсэн төрлийг бичлэг (Record) төрөл гэдэг. Түүний гишүүдийг талбар гэнэ. Бичлэг төрлийг RECORD END нөөц үгээр зарлана. (Бичлэг нь C/C++ хэлний struct гэсэн үг. Энэ талаар дараа бичинэ.)
Формат нь:
Type
нэр = Record
<Талбар1>: <Төрөл>;
<Талбар2>: <Төрөл>;
<Талбар3>: <Төрөл>;
...
<ТалбарN>: <Төрөл>
End;
Ижил төрөлтэй талбаруудыг ,-аар тусгаарлаж, жагсааж бичиж болно.
Жишээлбэл,
Type
myRecord = Record
k, h, a, i: integer;
r: arary[1.100] of real;
o: boolean;
s: string
End;
Бичлэг төрлийн хувьсагчийг ердийн хувьсагч зарлахтай адилхан зарладаг. Дээрхи myRecord төрлийн хувьсагчийг дараах байдлаар зарлана гэсэн үг.
myR: myRecord;
myRec: array[1.10] of myRecord;
Бичлэгийн талбаруудад хандахдаа, мөн утга олгохдоо бичлэг төрлийн хувьсагчийн ард . тавьж цэгийн ард нь талбарын нэрийг бичинэ. Ж, Printf(' k = ', myR.k); w := myRec[2].r[1]; myR.k := 10; myR.s := 'Good luck!', myRec[1].o := TRUE; г.м.
Мөн WITH оперторыг ашиглан бичлэгийн талбаруудад шууд утга олгож болно. Формат нь:
With <хувьсагч> do <оператор>;
Ж.
With myR do begin
k := 0;
s := 'Easy';
o := FALSE;
end;
Жишээ бодлого. N тооны хүний биеийн жин ба өндөр өгөгджээ. Энэ хүмүүсийг өндөр ба жингийн харьцаа нь хамгийн их байхаас нь эхлэн эрэмбэлж гарга.
Энэ бодлогыг Бичлэг ашиглаж бодъё.
Program Example_Record;
Type
People = record
m, h: integer;
end;
var
person: array[1..100] of People;
n, i, j: integer;
q: array[1..100] of real;
p: People;
qq: real;
begin
write(' n = ');
read(n);
for i:=1 to n do begin
writeln(' ', i, '-r khun');
write(' Jin: ');
read(person[i].m);
write(' Ondor: ');
read(person[i].h);
q[i] := person[i].h / person[i].m;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if q[i] < q[j] then begin
p := person[i];
person[i] := person[j];
person[j] := p;
qq := q[i];
q[i] := q[j];
q[j] := qq;
end;
for i:=1 to n do begin
writeln('');
writeln(' ', i, '-r khun');
write(' Jin: ');
writeln(person[i].m);
write(' Ondor: ');
writeln(person[i].h);
writeln(' Kharitsaa: ', q[i]:0:2);
end;
end.
No comments:
Post a Comment