15 -
____________________ ____________..
( ...
)
____________ 2016 .
, 2016
, , ( ), () .
( )
.
1. | |
1.1. | |
1.2. | |
1.3. | |
2. | |
2.1. , | |
2.2. | |
3. | |
3.1. | |
3.2. | |
3.3. | |
4. | |
1. | |
2. | |
3. | |
4. |
1.
1.1.
. () , . , , ,
1.2.
( ) .
sved ( sved.dat ):
(),
(),
( ),
( )
:
()
1.3.
" " (. 1.1), :
( ),
(),
(),
( )
.
9800.00 | |||
|
|
:
2.
2.1. ,
. 2.1 , .
. 2.1
. 2.2 , .
. 2.2
K_RABOTA, :
- zapros (VAR god: integer; VAR f: Boolean), ;
- proverka (god_zap: string; VAR f: Boolean), ;
- obrab (god: integer; VAR rez: mas; VAR n: integer), sved , ;
- sort (VAR rez: mas; n: integer), ;
- molod (rez: mas; n: integer), ;
- vuvod (rez: mas; n: integer; fammol: string), .
2.2.
. 2.3. 2.7 . (, ) . 2.1. . (. 2.1.).
2.1.
sved | ||
n, , i | ||
f-rez | ||
god_z | ||
3.
3.1.
() - ( 7.0.)
( ) 2.1.
, 2.2.
3.2.
( -, 7.0) 1.
. 2.3
. 2.4
. 2.5
..
. 2.6
. 2.7
3.3.
PC . , .
, , 1.2. , (. 1.2).
|
|
4.
( ) , 2 ( 3), :
4) 1975
5) 2005
6) 1990
7)
8) .
( ) ( 4), .
1
PROGRAM K_RABOTA;
{
15- .. 40}
TYPE zap=record
fam: string[20];
otdel: string[30];
god: integer;
oklad: real;
end;
mas = array [1..20] of zap;
VAR
sved: file of zap;
X: zap;
god_z, kol: integer;
fam_rez: mas;
fam_mol: string [20];
f_z: boolean;
PROCEDURE proverka
(VAR g: integer; god_zap: string; VAR f: Boolean);
{ }
Var code: integer;
BEGIN
f:=false;
Val (god_zap, g, Code);
if Code=0 then
if ((g>=1940) and (g<=2000)) then f:=true;
end;
PROCEDURE zapros
(VAR god: integer; VAR f: Boolean);
{ }
VAR god_zap: string;
BEGIN
writeln(' ');
readln (god_zap);
proverka (god, god_zap, f);
end;
PROCEDURE obrab
(god: integer; VAR rez: mas; VAR n: integer);
{ }
BEGIN
Assign(sved,'sved.dat');
reset (sved);
n:=0;
while not EOF (sved) do
begin
read(sved,x);
if (god<=x.god) then begin
n:=n+1;
rez[n]:=x;
end;
end;
close(sved);
END;
PROCEDURE SORT (VAR rez: mas; n: integer);
{ }
VAR
i,k:integer;
c:zap;
BEGIN
for i:=1 to n-1 do
for k:=i+1 to n do
if rez[i].fam<rez[k].fam then begin
c:=rez[i];
rez[i]:= rez[k];
rez[k]:=c;
end;
END;
FUNCTION MOLOD (rez: mas; n: integer): string;
{ }
Var maxgod: integer;
k,i: integer;
BEGIN
maxgod:=rez[1].god;
k:=1;
for i:=2 to n do
if rez[i].god>= maxgod then begin
maxgod:=rez[i].god;
k:=i;
end;
molod:=rez[k].fam;
END;
PROCEDURE VUVOD (rez: mas; n: integer; fammol: string);
{ }
VAR
i: integer;
BEGIN
writeln;
writeln(' ');
writeln;
writeln('------------------------------------');
writeln('!N!!- !!');
writeln('------------------------------------');
for i:=1 to n do
writeln('!',i:2,'!',rez[i].fam:20,'!',
rez[i].otdel:30,'!', rez[i].oklad:10:2,'!');
writeln('------------------------------------');
writeln;
writeln (' :', fammol:20);
END;
{ }
BEGIN
zapros (god_z, f_z);
{ }
if f_z=false then
writeln (' 1940,
2000, ')
Else
BEGIN
obrab (god_z,fam_rez, kol);
{ }
if kol=0 then writeln
(' ')
Else
Begin
if kol>1 then SORT (fam_rez, kol);
{ }
fam_mol:=molod (fam_rez, kol);
{ }
{ }
VUVOD(fam_rez, kol,fam_mol);
|
|
{ }
end;
ND;
END.
2
3
program file_newtype;
USES CRT;
zap=record
fam: string[20];
otdel: string[30];
god: integer;
oklad: real;
end;
var
sved:file of zap;
X:zap;
k:integer;
begin
Assign(sved,'sved.dat');
rewrite (sved);
k:=0;
WRITELN (' Enter');
WRITELN (' *');
WHILE NOT (READKEY='*') DO
begin
writeln(' ');
readln(x.fam);
writeln(' ');
readln(x.otdel);
writeln(' ');
readln(x.god);
writeln(' ');
readln(x.oklad);
K:=k+1;
write(sved,x);
WRITELN (' Enter');
WRITELN (' *');
end;
writeln(' :',K:2); writeln;
reset(sved);
writeln(' '); writeln;
while not EOF (sved) do begin
read(sved,x);
writeln(x.fam:22,x.otdel:32,x.god:5,x.oklad:10:2);
end;
close(sved); end.
4
1. : 1975
:
19900.00 | |||
20000.00 | |||
14500.00 | |||
18000.00 |