Программная модель
{программа
выборки из файла по среднему баллу (файл
Z4.PAS)}
program
z4;
{$I
FILE0.PAS}
varnamev:string;{имя
физического файла с выборкой}
fv:tfileinfstud;{илф
выборки}
gsb:real;
begin
writeln('Введите
имя файла с информацией о студентах');
readln(namebd);
if
not fs(namebd) then
begin
writeln('ОШИБКА!!!
Файл с именем ',namebd,' не существует');
halt
end;
writeln('Введите
имя файла для выборки');
readln(namev);
if
fs(namev) then
begin
writeln('ОШИБКА!!!
Файл с именем ',namev,' существует');
halt
end;
writeln('Граничный
средний балл?');
readln(gsb);
assign(fbd,namebd);
reset(fbd);
assign(fv,namev);
rewrite(fv);
while
not eof(fbd) do
begin
read(fbd,r);
if
r.sb>=gsb then
write(fv,r);
end;
close(fbd);
close(fv)
end.
Текст файла с общими описаниями
{файл
с общими описаниями FILE0.PAS}
function
fs(name:string):boolean;
var
f:file;
begin
assign(f,name);
{$I-}
reset(f);
{$I+}
if
ioresult<>0 then
fs:=false
else
begin
fs:=true;
close(f)
end
end;
type
tdata=record
d:1..31;
m:1..12;
g:word
end;
tinfstud=record
fam:string[20];
dr:tdata;
gp:word;
sb:real
end;
tfileinfstud=file
of tinfstud;
var
fbd:tfileinfstud;
namebd:string;
r:tinfstud;