.


:




:

































 

 

 

 


8.




 

, . , :

1. , , .

2. .

3. .

4. .

5. - .

6. .

.

I. , 4 3 , , .

II. N () , 4,5; N=4.

 

Program dom8;

type ev=record

alg:1..5;

ist:1..5;

evm:1..5;

end;

type zap=record

fio: string;

birthdae:1980..2000;

date:2000..2015;

attestat: ev;

need_hostel: boolean;

entrance: ev;

sredniy: real;

end;

 

fpk=file of zap;

 

type

TMyFuncType = function(a:zap): boolean;

 

var fizap,rb:fpk; s1,a,b:zap; i,j:integer; fio, s: string;

 

function all(a:zap): boolean;

begin

result:=true;

end;

 

function condition1(a:zap): boolean;

begin

if ((a.sredniy<4) and ((a.attestat.alg=3) or (a.attestat.ist=3) or (a.attestat.evm=3))) then result:=true

else result:=false;

end;

 

function condition2(a:zap): boolean;

begin

if ((a.sredniy>4.5)) then result:=true

else result:=false;

end;

 

function Delete(fizap:fpk): boolean;

var i, num:integer;

temp: zap;

begin

i:=1; num:=0;

reset(fizap);

repeat

read(fizap,a);

if (condition1(a)) then begin num:=i; break; end;

i:=i+1;

until eof(fizap);

result:=false;

if(num<>0) then begin

writeln(' ',num,' ',filesize(fizap),' ');

seek(fizap, filesize(fizap) - 1);

read(fizap, temp);

seek(fizap, i - 1);

write(fizap, temp);

seek(fizap, filesize(fizap) - 1);

truncate(fizap);

close(fizap);

result:=true;

end;

end;

 

procedure PrintFile(fizap:fpk; p: TMyFuncType);

var a:zap; i:integer; s:string;

begin

i:=1;

reset(fizap);

writeln('======= ===========');

repeat

read(fizap,a);

if p(a) then begin

s:='';

if(a.need_hostel) then s:='';

writeln(i:2,' : ',a.fio:9,', : ',a.birthdae,', : ',a.date,', : ', s: 3,

', : ',a.attestat.alg,',',a.attestat.ist,',',a.attestat.evm,'(',a.sredniy:1:2,'), : ',a.entrance.alg,',',a.entrance.ist,',',a.entrance.evm);

i:=i+1;

end;

until eof(fizap);

writeln('=======================================');

close(fizap);

end;

 

begin

{clrscr;}

assign(fizap,'res.dat');

assign(rb,'tmp.dat');

rewrite(fizap);

s1.fio:='';

s1.birthdae:=1996;

s1.date:=2013;

s1.attestat.alg:=5;

s1.attestat.ist:=5;

s1.attestat.evm:=5;

s1.need_hostel:=true;

s1.entrance.alg:=3;

s1.entrance.ist:=4;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1995;

s1.date:=2014;

s1.attestat.alg:=3;

s1.attestat.ist:=4;

s1.attestat.evm:=3;

s1.need_hostel:=false;

s1.entrance.alg:=5;

s1.entrance.ist:=4;

s1.entrance.evm:=4;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1997;

s1.date:=2012;

s1.attestat.alg:=3;

s1.attestat.ist:=2;

s1.attestat.evm:=5;

s1.need_hostel:=true;

s1.entrance.alg:=5;

s1.entrance.ist:=5;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1998;

s1.date:=2012;

s1.attestat.alg:=5;

s1.attestat.ist:=3;

s1.attestat.evm:=4;

s1.need_hostel:=true;

s1.entrance.alg:=5;

s1.entrance.ist:=5;

s1.entrance.evm:=5;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1994;

s1.date:=2012;

s1.attestat.alg:=5;

s1.attestat.ist:=5;

s1.attestat.evm:=5;

s1.need_hostel:=true;

s1.entrance.alg:=5;

s1.entrance.ist:=5;

s1.entrance.evm:=5;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1999;

s1.date:=2014;

s1.attestat.alg:=4;

s1.attestat.ist:=4;

s1.attestat.evm:=4;

s1.need_hostel:=false;

s1.entrance.alg:=3;

s1.entrance.ist:=2;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1996;

s1.date:=2014;

s1.attestat.alg:=5;

s1.attestat.ist:=4;

s1.attestat.evm:=3;

s1.need_hostel:=true;

s1.entrance.alg:=4;

s1.entrance.ist:=4;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1995;

s1.date:=2014;

s1.attestat.alg:=3;

s1.attestat.ist:=4;

s1.attestat.evm:=2;

s1.need_hostel:=false;

s1.entrance.alg:=5;

s1.entrance.ist:=2;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1997;

s1.date:=2012;

s1.attestat.alg:=3;

s1.attestat.ist:=2;

s1.attestat.evm:=2;

s1.need_hostel:=true;

s1.entrance.alg:=2;

s1.entrance.ist:=5;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

close(fizap);

 

writeln(' :');

PrintFile(fizap, all);

writeln(' ');

writeln('( 4 3 ):');

PrintFile(fizap, condition1);

 

rewrite(rb);

reset(fizap);

repeat

read(fizap,a);

if not(condition1(a)) then write(rb,a);

until eof(fizap);

 

rewrite(fizap);

reset(rb);

repeat

read(rb,a);

write(fizap,a);

until eof(rb);

close(rb);

close(fizap);

writeln(' :');

PrintFile(fizap, all);

 

reset(fizap);

seek(fizap,FileSize(fizap));

s1.fio:='';

s1.birthdae:=1994;

s1.date:=2014;

s1.attestat.alg:=5;

s1.attestat.ist:=3;

s1.attestat.evm:=4;

s1.need_hostel:=false;

s1.entrance.alg:=3;

s1.entrance.ist:=4;

s1.entrance.evm:=3;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1996;

s1.date:=2013;

s1.attestat.alg:=5;

s1.attestat.ist:=5;

s1.attestat.evm:=5;

s1.need_hostel:=true;

s1.entrance.alg:=3;

s1.entrance.ist:=5;

s1.entrance.evm:=5;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1998;

s1.date:=2014;

s1.attestat.alg:=3;

s1.attestat.ist:=3;

s1.attestat.evm:=5;

s1.need_hostel:=false;

s1.entrance.alg:=3;

s1.entrance.ist:=4;

s1.entrance.evm:=5;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

s1.fio:='';

s1.birthdae:=1999;

s1.date:=2014;

s1.attestat.alg:=3;

s1.attestat.ist:=4;

s1.attestat.evm:=5;

s1.need_hostel:=false;

s1.entrance.alg:=4;

s1.entrance.ist:=4;

s1.entrance.evm:=5;

s1.sredniy:= (s1.attestat.alg+s1.attestat.ist+s1.attestat.evm)/3;

write(fizap,s1);

close(fizap);

 

writeln(' (, , , )');

PrintFile(fizap, all);

 

writeln(' ');

writeln('( 4 3 ):');

PrintFile(fizap, condition1);

 

repeat until not(Delete(fizap));

writeln(' :');

PrintFile(fizap, all);

 

writeln(' ');

writeln('( , 4,5):');

PrintFile(fizap, condition2);

 

writeln(' :');

read(fio);

reset(fizap);

writeln(' :');

repeat

read(fizap,a);

if (a.fio = fio) then begin

s:=' ';

if(a.need_hostel) then s:='';

writeln(' : ',a.fio:9,', : ',a.birthdae,', : ',a.date,', : ', s: 8,

', : ',a.attestat.alg,',',a.attestat.ist,',',a.attestat.evm,', : ',a.entrance.alg,',',a.entrance.ist,',',a.entrance.evm);

end;

until eof(fizap);

close(fizap);

writeln(' ');

erase(rb);

end.

 

 

:

 

 





:


: 2015-10-01; !; : 632 |


:

:

, .
==> ...

1748 - | 1612 -


© 2015-2024 lektsii.org - -

: 0.034 .