Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Массивтерден өзгеше жазулар әр түрлі типті мәндерді біріктіруге мүмкіндік береді, сондықтан да о деректер құрудың ең тиімді механизмі болып табылады.
Жазу – әр түрлі типті құрауыштардың (өрістердің) бекітілген санынан тұратын деректер типі. Жазуның жеке құрауыштары әр түрлі типті болғандықтан, массивтегідей индекстің көмегімен ұқсастырыла (идентификациялана) алмайды. Сондықтан өрістерді белгілеу үшін идентификаторлар (атаулар) қолданылады:
Идентификатор | Fakultet жазуның құрауыштары (өрістері) | |||||
t | fisika | mat | inf | ist | srb | |
Типі | string | byte | byte | byte | byte | real |
Мәндері | Иванов | ,5 |
Жазуның әр элементіне аты бойынша қатынасуға болады, ол жазуның атынан нүктемен бөлінеді:
Fakultet.t, Fakultet.fisika, Fakultet.mat, Fakultet.inf, Fakultet.ist, Fakultet.srb
Жазулар, басқа деректер сияқты, сипаттау бөлімінде анықталады. Өрістер тізімі record қызметші сөзінен басталады да, end сөзімен аяқталады.
Type типтің аты = record
1-элемент: тип;
....
n-элемент: тип;
end;
Мысал 1. Топтың n студенттінің әрқайсысы үшін төрт пәнінен (физика, математика, информатика, тариф) бағалары белгілі. Ең үлкен орташа балы бар студенттін аты-жөнін табу керек.
Program esep1;
Type student = record
t: string[30];
fi, mat, inf, ist: byte;
srb: real;
end;
var top: array[1..30] of student;
i,n: byte; max: real;
begin
readln(n);
{топтың әрбір і-студент үшін top[i] жазуы жасалады}
for i:=1 to n do
with top[i] do
begin
readln(t, fi, mat, inf, ist);
srb:=(fi+mat+inf+ist)/4;
end;
max:=0;
{ең үлкен орташа балл анықталады}
for i:=1 to n do
if top[i].crb > max then max:=top[i].crb;
{ең үлкен орташа балы бар студент табылады}
for i:=1 to n do
if top[i].crb=max then
writeln(top[i].t, ‘ ‘, top[i].crb);
end.
Дата публикования: 2015-10-09; Прочитано: 826 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!