Найти количество предметов и сумму часов


Файл комбинированного типа содержит информацию о предметах, которые изучают студенты, а именно: название предмета, номер семестра, количество часов. Найти количество предметов и общую сумму часов в заданном семестре.

Program summchas;
Type
rasp = Record
name : String[50];
NomSem: integer;
Kol4as: integer;
End;
Var
f: file of rasp;
p : rasp;
ch:char;
b:boolean;
n,KvoPred,Kvo4as:integer;
Begin
b:=false;
Assign(F,’D:\pascal\Test1.txt’);
try
reset(f);
except
b:=true;
writeln(’Nenaiden fail’);
rewrite(f);
{zapolnim}
writeln(’dobavim zapis? y/n’);
read(ch);
while upcase(ch)=’Y’ do
begin
writeln(’nazvanie - ‘);
Read(p.name);
writeln(’nomer semestra - ‘);
Read(p.nomsem);
writeln(’kvo 4asov - ‘);
read(p.kol4as);
write(f,p);
writeln(’dobavim zapis? y/n’);
read(ch);
end;
end;
{4itaem}
if b then reset(f);
writeln(’Vvedite nomer semestra’);
read(n);
while not eof(f) do
begin
read(f,p);
if p.NomSem=n then
begin
KvoPred:=KvoPred+1;
Kvo4as:=Kvo4as+p.kol4as;
end;
end;
writeln(’k-vo predmetov - ‘,KvoPred,’ k-vo 4asov - ‘,Kvo4as);
close(f);
End.

Теги: , , , , ,

Отсортировать студентов по среднему баллу


Файл комбинированного типа содержит следующую информацию: фамилию и инициалы студента, название группы, средний бал последней сессии. Нужно вывести список студентов со средним балом выше семи.

Program srball;
Type
stud = Record
fio : String[50];
group: string[10];
SredBal :integer;
End;
Var
f: file of stud;
p : stud;
ch:char;
b:boolean;
Begin
b:=false;
Assign(F,’D:\pascal\Test1.txt’);
try
reset(f);
except
b:=true;
writeln(’Nenaiden fail’);
rewrite(f);
{zapolnim}
writeln(’dobavim zapis? y/n’);
read(ch);
while upcase(ch)=’Y’ do
begin
writeln(’fio - ‘);
Read(p.fio);
writeln(’group - ‘);
Read(p.group);
writeln(’sredbal - ‘);
read(p.sredbal);
write(f,p);
writeln(’dobavim zapis? y/n’);
read(ch);
end;
end;
{4itaem}
if b then reset(f);
while not eof(f) do
begin
read(f,p);
if p.sredbal>7 then writeln(p.fio,’ ‘,p.group,’ ‘,p.sredbal);
end;
close(f);
End.

Теги: , , , , ,