Тема: Комбіновані типи
Допоможіть розібратись будь-ласка.
{ПРОГРАМА РОБОЧА, але морочать голову щоб " Prizv:string [25]; " - переробити через масив, мені здається доцільніше буде через строку..тому не знаю як вліпити туди через масив і взагалі навіщо..; ще "Bal" я написала через byte, може треба integer? бо підкреслили мені..але ж бал і так цифру 5 чи 10 не перевищить, нащо більшого діапазону чисел? маразм якийсь, домахують за кожну дрібницю..}
Завдання:
Обчислити середній бал групи за останню сесію і роздрукувати
список студентів, котрі мають середній бал, нижчий від середнього
балу групи. Для кожного студента вказати дату народження, рік всту-
пу у вищий навчальний заклад, курс, групу, оцінки за кожну сесію.
program lab11;
uses crt;
const
k_elem = 3;
type
Tzap = record
Prizv:string [25];
R_nar:word;
R_Zak:word;
R_Vst:word;
Kurs:word;
Grupa:word;
Bal:byte;
end;
var
a:array [1..k_elem] of Tzap;
i:integer;
sum,ser:real;
BEGIN clrscr;
for i:=1 to k_elem do
with A[i] do begin
write('prizvushe studenta:');
readln(Prizv);
write ('rik narodgenny studenta:');
readln(R_nar);
write('rik vstupu:');
readln(R_vst);
write('kurs:');
readln(kurs);
write('grupa:');
readln(grupa);
write('bal za sesiu:');
readln(bal);
end;
writeln('vuvedeny pochatkovux danux y vuhliadi tabluzi');
for i:=1 to k_elem do
with A[i] do begin
writeln (Prizv,'':(17-length(Prizv)), R_nar:5, R_vst:5, Kurs:3,
Grupa:5, Bal:3);
end;
writeln ('vuvedenny anketnuh danuh studentiv scho mauty ozinku vuschinish 3');
writeln ('':5,'Prizvusche','':6,'Rik narodshenny','':2,'Rik zakinchenny shcolu');
for i:=1 to k_elem do
with A[i] do begin
sum:=sum+bal;
end;
ser:=sum/k_elem;
writeln;
for i:=1 to k_elem do
with A[i] do begin
if (bal<ser) then
writeln (Prizv, '':(25-length(Prizv)), grupa, '':6, bal:5);
end;
readln;
END.