1.Описать запись с именем Student, содержащую следующие поля:
Фамилия, имя студента;
название предмета;
оценка по данному предмету;
2.Написать программу, выполняющую следующие действия:
Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Student; записи должны быть размещены в алфавитном порядке по названиям предметов;
Вывод на экран информации о количестве студентов, имеющих оценку, которая введена с клавиатуры, по предмету, название которого также введено с клавиатуры; если таких нет, вывести на экран соответствующее сообщение.
Файл должен называться file data он должен быть не типизированным,есои файл не существуют нужно создать и заполнить
вот похожая
{Имеется список студенческой группы, в котором записаны:
фамилия студента, результаты экзаменов по химии, математике и информатике.
Определить списки студентов, кто не будет получать стипендию
(у кого есть тройки), кто будет получать обычную стипендию
(менее 50% отличных оценок) и повышенную стипендию
(более 50% отличных оценок). }
program zap;
uses crt;
type
str=record
fam:string[10];
oc:array[1..3] of integer;
end;
function occ:integer;
label 1;
var
a:integer;
begin
1:readln(a);
if (a<3) or (a>5) then begin
writeln('error vvoda( 3<=ocenka<=5 ' goto 1; end;
occ:=a;
end;
var
tbl:array[1..100] of str;
j,i,n,K:integer;
S:array[1..3] of real;
BEGIN
clrscr;
writeln('rabota s zapisyami'
writeln('-------------------'
writeln;
write('vvesti chislo studentov ==> '
readln;
writeln('vvesti FIO i 3 ocenki '
for i:=1 to n do begin writeln(i:2,' student'
with tbl do begin
readln(fam);
write('ocenka po ximii ' oc[1]:=occ;
write('ocenka po matematike ' oc[2]:=occ;
write('ocenka po informatike ' oc[3]:=occ;
end; end;
writeln('isxodniy spisok '
writeln('------------------------------------------'
writeln('familiya ximiya matematika informatika '
writeln('------------------------------------------'
for i:=1 to n do
with tbl do
writeln(fam,' ',oc[1]:10,oc[2]:11,oc[3]:12);
writeln('------------------------------------------'
writeln;
writeln(' spisok студентов, кто не будет получать стипендию '
for i:=1 to n do
with tbl do
if ((oc[1]=3) or (oc[2]=3) or (oc[3]=3)) then writeln(fam);
writeln('---------------------------------------------------'
writeln(' spisok студентов, кто будет получать обычную стипендию '
for i:=1 to n do
with tbl do
if ((oc[1]=5) and (oc[2]=4) and (oc[3]=4))
or
((oc[1]=4) and (oc[2]=5) and (oc[3]=4))
or ((oc[1]=4) and (oc[2]=4) and (oc[3]=5)) then writeln(fam);
writeln('--------------------------------------------------------'
writeln(' spisok студентов, кто будет получать повышенную стипендию'
for i:=1 to n do
with tbl do
if (oc[1]+oc[2]+oc[3]>=14) then writeln(fam);
writeln('----------------------------------------------------------'
writeln('konec zadachi'
readkey;
END.