Download - Barikov Brovin Pluscheva Progr
-
-
(44)
- 2003
-
2
: .., .., .. : - ; . . ...
, , , .
, 220100 " , , " .
- . -
(). 2003. 6084 1/16 6,6 .. .-.. 6,6 150 . . 190000, , .., 67
-
3
.................................................................................................................................................... 4 1 , .................................................................................................................................................... 4 2 ............................................................................................................. 4 3 ................................................................................................................. 5 4 ............................................ 9
1. ............................................................................................. 10 2. ........................................................................................ 20 3. ........................................................................................................ 24 4. .................................................................................................... 34 5. ......................................................................................... 40 6 ...................................................................................... 49 7. .......................................................................... 61 8. ..................................................................................... 68
5 ............................................ 76 6 ........................................... 82 7 ................................................ 94 8 ........................................................................................................... 98 9 - ............................................................. 101 . ............................................................................ 102
-
4
, 220100 , , , . , .
, , . , .
, , , .
, , 4.
1 ,
.
. . . . .
2 18 96 14 9 - 13 36 60 * *
3 18 67 16 6 12 11 45 22 * *
4 18 87 9 - 9 18 69 *
2
,
, ,
.
.
:
- ,
-
5
;
- ,
(Turbo Pascal, Object Pascal, C++ )
,
;
- ,
.
3
:
1.
. . . . . . . . : , , , , . . : , , . . . .
2.
.
. .
.
. . :
. .
: , , . :
. : .
. .
-
6
3.
.
, , , , , .
. .
.
: ,
, , . :
, , .
: , , .
, .
.
.
4.
. ,
: , ,
. .
. .
. . :
, , , ,
.
. . :
, ,
, .
.
.
. . .
.
. , , .
.
.
. .
. .
. : ,
. : .
. . .
: c, , .
-
7
.
5.
. , , - . .
: , , . . . : , , . : , , , . . . .
. .
. .
. : -,
-, -.
. .
. . .
. .
. .
.
. .
: .
.
. : ,
, .
.
. : , ,
, . .
. :
. .
. . .
.
-
8
6. .
. : , , , , , , , , . . , . . , , . .
1.
4 - - 4 20
2.
4 - - 6 30
3.
6 9 6 6 20
4.
4 6 6 6 20
5.
6 9 - 5 31
6.-
6 - - 6 30
30 24 12 33 151
-
9
4
, , .
1. 1. .
2. 2. .
3. 3. .
4. 4. .
5. 5. .
6. 6. .
7. 7. .
8. 8. .
, , , , . . .
-
10
1.
: - 3, - 4.
:
, .
,
.
1. : , .
2. : , , ( 3 6).
3. . 4. . 5. Real
. () . 6. .
, .
7. : , , , , .
-
11
1) Y
X
2) Y
X
3) Y
X
4) Y
X
5) Y
X
6) Y
X
-
12
7) Y
X
8) Y
X
9) Y
X
10) Y
X
11) Y
X
-
13
12) Y
X
0
13) Y
X
0
14) Y
X
0
15) Y
X
0
16) Y
X
0
17) Y
X
0
-
14
18) Y
X
0
19) Y
X
0
21) Y
X
0
20) Y
X
0
22) Y
X
0
-
15
24) Y
X
26) Y
X
0
23) Y
X
25) Y
X
0
0
27) Y
Y=R/2
X
R/2
0
28) Y
Y=R/2
X
R/2
0
-
16
30) Y
Y=R/2
X
R/2
0
29) Y
Y=R/2
X
R/2
0
31) Y
Y=X2
Y=1
0 X
32) Y
Y=X2
Y=1
0 X
33) Y
Y=X2
Y=1
0 X
34) Y
Y=X2
Y=1
0 X
-
17
35) Y
0
X
-1 Y=-1
Y=-X2
36) Y
0
X
-1 Y=-1
Y=-X2
37) Y
0
X
-1 Y=-1
Y=-X2
38) Y
0
X
-1 Y=-1
Y=-X2
39) Y
R Y=X
-R R X
-R
0
-
18
:
Y
R
R/2
0 X
X,Y
X=0 Y=0
(.) . .
X2+Y
2>R
2
y>=R/2
y
-
19
Program Tochka;
{
: x, y
: s - }
Var x, y: Real;
s: String;
Begin
{ }
Write( :);
ReadLn(x, y);
{ }
If (x = 0) And (y = 0)
Then WriteLn ( );
Else Begin
If x * x + y * y > r * r { ?}
Then s:=
Else { }
If y >= r / 2 { ?}
Then s:=
Else { }
If y
-
20
2.
: - 3, - 4.
:
, .
,
.
1. : , .
2. :
,
- , ,
.
3. . 4. . 5. .
. 6. .
, .
7. : , , , , .
-
21
1
, .
2
k- .
3
.
4
.
5
.
6
.
7
(, , , ), .
8
(, , , ) .
9
, .
10
(, , , , , ), (, , , , , , ).
11
, (, , , , ).
12
k 1 99 k , , k .
-
22
13
k k , k.
14
d 1 999, , .
15
d 1 99, , .
16
. .
17
(, , , ) (., ., ., ., ., .).
18
(, , , ). (, , , ). .
19
.
20
, y (), m (), d () .
21
d (), m (), y() d1, m1, y1 .
22
, d (), m ().
23
d (), m () k- .
-
23
24
, 1 wd1, wd , d (), m ().
25
, 1 wd1, , 13- .
CASE
Program PloFig;
{ .
: t - ,
a,l,h,r - .
: s - . }
Var t:Byte;
a,l,h,r,s:Real;
Begin { }
WriteLn(' :');
Write('1-,2-,3-? ->');
ReadLn(t);
If (t3)
Then Begin WriteLn(' !');
Write( Enter ->);
ReadLn; Halt;
End;
{ }
Case t Of
1: Begin Write(' ? ->');
ReadLn(a);
s:=a*a;
End;
2: Begin Write(' ? ->');
ReadLn(l,h);
s:=l*h;
End;
3: Begin Write(' ?->');
ReadLn(r);
s:=Pi*r*r;
End;
End;
WriteLn(' : ',s:10:5);
End.
-
24
3.
: - 3, - 4.
: , .
,
, 3 : - ( ), - ( ), - ( ).
1. : , .
2. . 3. .
. 4. . 5. For
. , : While Repeat.
6. . .
7. . 8. : ,
, , , .
-
25
1
1. X, m S:
12
,...5,3,1
2m
i
XiS
2. { nY } n , Yn
4,3,2);sin()sin(25.0 21 nYYY nnn
Y0, Y1 .
Yn - Yn-1
-
26
2. {Yn} n , Y0=0, Yn
...3,2,1;1
1
1
nY
Yn
n
Y0 .
Yn Yn-1
-
27
8
1. X S:
)127(...)7()3()1(
)128(...)8()4()2(
XXXX
XXXXS
2. {Yn} n , Yn
...4,3,2;sinsin1
1
2
2
1
2
nYY
Y
nn
n
Y0, Y1 .
Yn Yn-1
-
28
12
1. , 7, [A,B].
2. )1
1(1 nn Y
P
{Yn},
,...4,3,2);1(;1 11 nYnYY nn
nY
1.
13
1. , 5 3, [A,B].
2. K A - k- A,
,...3,2,1;1
;1
1
10
nXk
AX
k
kXAX
k
n
nn
nX , |Xn Xn-1| <
14
1. , 7 4, [A,B]. 2. X-q*sin(X)=m, 0
-
29
16
1. m, Ym, Y0, Y1,Y2, Yi
,...5,4,3;)( 232 iYYtgY iii ,m
2. )1(*2)1(*3
*5lim
22 nn
n
n .
17
1. m,
m
i
im YS1
),5.0ln( Y0, Y1, Y2, Yi
,...5,4,3;*2 32
21 iYYYY iiii ,m
2. 1*2
5lim
23
3
nn
n
n .
18
1. m, Ym, Y0, Y1, Yi
,...4,3,2;3
*2 21
iYY
Y iii ,m
2.
12 )1.1)(sin(*
1
n nn .
19
1. m, Ym , Y0 ,Y1,Y2, Yi
Yi= sin2 (Yi-1) + cos
2 (Yi-3); i=3,4,5, ,m
2.
1 )(*
1
n Ann .
20
1. m,
m
i
im YS1
, Y0, Y1, Y2, iY
;cos()sin( )31 iii YYY i=3,4,5,,m
2.
1 )1*5(*)1*5(
1
n nn .
-
30
21
1. m,
m
i
im YS1
2 Y0 ,Y1, Yi
;)cos()sin( 21 iii YYY i=2,3,4,,m
2.
12 1*2
)1(n
n
n
n .
22
1. {Xi} {Yi} . X20 ,Y20,
2.2;6.1
;5.3;2
)5(*
01
0
1
1
YXY
XYX
X
ii
ii
i
2.
1
0 )30cos(
n n
n
.
-
31
FOR
Program Fibon;
{ .
: n - .
: fn - .}
Var n,i:Byte; { 0..255 } { i- }
fn,fi,fi1,fi2:Longint;
{fi- , fi1- ,
fi2- .}
Begin {$R+}
Write(' ? '); ReadLn(n);
If n>46
Then Begin WriteLn(' !');
Write( Enter->);
ReadLn; Halt;
End;
If n
-
32
WHILE
Program ProSum;
{ }
{ : c - .
: p - , s - .}
Var c,p,s,a,b:Real;
i,j:Byte; {i- , j-
a- , b- }
Begin WriteLn(' 0',c:6:3,' = ',s:7:5);
End.
-
33
REPEAT WHILE
Program KvadrKoren;
{
.
: x - , eps - .
: y - }
Var x,y,yp,eps:Real;
{y - ,
yp - }
Begin Write(' >0 : ');
ReadLn(x);
If x);
ReadLn; Halt;
End;
Write(' 0
-
34
4.
: - 3, - 4.
:
;
.
, .
1. : .
2. : , , .
3. : .
4. . 5. . 6. .
c . 7. , .
, , .
8. : , , , , .
-
35
1
b1,b2,,b2n. x1,x2,,xn y1,y2,,yn, : b1,b3,,b2n-1 b2,b4,,b2n.
2
a1,a2,,am. . , i- , ia , 1 .
3
:
naaaaaaaaaa ...,...,,, 321321211 a1,a2,,an.
4
x1,x2,,xn , .
5
a1,a2,,an b1,b2,,bn. , :
nn bababa ,,...,,,, 2211 .
6
x1,x2,,xm. , , b.
7
x1,x2,,xn y1,y2,,yn. : xi yi xi, yi.
8
a1,a2,,an. , , , . .
9
, x1,x2,,xn (n>=2) , x2,x3,,xn,x1.
-
36
10
a1,a2,,an. , , , , b.
11
b1,b2,,bn, : 2
i
-
37
19
: 1,2,,n, , . .
20
x1,x2,,xn . .
21 1>2>>n i,i+1,,i+k , .
22
b1,b2,,b2m. , : b2m,b1,b2m-1,b2, ,bm+1,bm.
23 x1,x2,,xn. , , .
24 1,2,,2n. , : 1,n+1,2,n+2,,n,a2n.
25
1,2,,n. , .
26 n .
27 x1,x2,,xn y1,y2,,ym z1,z2,,zn+m, . . .
28 n .
-
38
29
b1,b2,,bm.
30
1,2,,n.
31
a1,a2,,an, .
32 2 a1,a2,,an b1,b2,,bn. nnbababa ...2211 .
33
2222
1 ... naaa , a1,a2,,an
.
34 , , a1, a2,, am .
35 y1
-
39
Program MinMaxMas;
{
: k - ,
M - .
: M - .}
Const R=10; { }
Type Tind=1..R; { }
Tmas=Array [Tind] Of Integer; { }
Var k,i,nmin,nmax:Tind; {1..R}
M:Tmas; { }
min,max:Integer; { }
Begin
{$R+} { }
Write(' ',R,': ');
ReadLn(k);
{ }
Write(' ',k,' :');
For i:=1 To k
Do Read(M[i]); { }
{ }
min:=M[1]; nmin:=1; { }
max:=M[1]; nmax:=1; { }
For i:=2 To k { }
Do If M[i]max { }
Then Begin max:=M[i]; { }
nmax:=i { }
End;
{ }
M[nmin]:=max; M[nmax]:=min;
{ }
WriteLn(' :');
For i:=1 To k
Do Write (M[i],' '); { }
WriteLn;
End.
-
40
5.
: - 3, - 4.
: , ,
;
, .
, , .
1. :
) ; ) . 2.
. 3. : , ,
, , . 4. :
. . 5. .
. 6. .
. 7. , . 8. ,
. .
9. : , , , ,
-
41
: 1
: 3
: 5
:
2
: 4
: 6
-
42
: 7
: 9
: 11
: 10
: 8
:
12
-
43
: 13
:
15
:
17
: 18
: 16
:
14
-
44
1 , .
2 , .
3 , .
4 , .
5 , .
6 , .
7
: , , , .
8 , .
9 , .
10
, . 11 , .
-
45
12
.
13 : , , , .
14 , .
15 , .
16
: , , , .
17
: , , , .
18
.
19
, .
20
, .
-
46
Program MatrInt;
{ :
}
Uses Crt; { }
Const R=10; { () }
Type Tind=1..R; { }
Tvect=Array[Tind] Of Integer; { }
Tmatr=Array[Tind] Of Tvect; { }
{$R+}
Procedure InMatr(kStr,kStb:Tind;Var M:Tmatr);
{ .
: kStr - ,
kStb - .
: M - .}
Var i,j:Tind; { }
Begin WriteLn(' :');
For i:=1 To kStr
Do Begin
For j:=1 To kStb
Do Read(M[i,j]);
ReadLn;
End;
End;{InMatr}
Function NomMin(kStr,kStb:Tind; Const M:Tmatr):Tind;
{ .
: kStr - ,
kStb - ,
M - .
: NomMin - .}
Var i,j,nmin:Tind; min:Integer; { }
Begin
min:=M[1,1]; nmin:=1;
For i:=1 To kStr
Do For j:=1 To kStb
Do If M[i,j]
-
47
Function NomMax(kStr,kStb:Tind; Const M:Tmatr):Tind;
{ .
: kStr - ,
kStb - ,
M - .
: NomMax - .}
Var i,j,nmax:Tind; max:Integer; { }
Begin
max:=M[1,1]; nmax:=1;
For i:=1 To kStr
Do For j:=1 To kStb
Do If M[i,j]>max
Then Begin max:=M[i,j];
nmax:=i;
End;
NomMax:=nmax;
End; {NomMax}
Procedure ObmenStr(kStr,kStb:Tind; Var M:Tmatr);
{
.
: kStr - ,
kStb - ,
M - .
: M - .}
Var strM:Tvect; nmin,nmax:Tind; { }
Begin
nmin:=NomMin(kStr,kStb,M);
nmax:=NomMax(kStr,kStb,M);
If nminnmax
Then Begin strM:=M[nmin];
M[nmin]:=M[nmax];
M[nmax]:=strM;
End;
End; {ObmenStr}
Procedure Okno(x1,y1,x2,y2,cf,ct:Byte);
{ }
Begin
Window(x1,y1,x2,y2); { }
TextBackGround(cf); { }
TextColor(ct); { }
ClrScr; { }
End;{Okno}
-
48
Procedure OutMatr(kStr,kStb:Tind; Const M:Tmatr);
{ .
: kStr - ,
kStb - ,
M - .}
Var i,j:Tind; { }
Begin
For i:=1 To kStr
Do Begin For j:=1 To kStb
Do Write(M[i,j]:3);
WriteLn;
End;
End;{OutMatr}
Var n,m,nStb:Tind; Matr:Tmatr;
Begin
Okno(1,1,80,25,0,15); { }
Write(' ? '); ReadLn(n,m);
Okno(1,6,38,20,2,15); {
}
InMatr(n,m,Matr); { }
WriteLn(' ');
OutMatr(n,m,Matr); { }
ObmenStr(n,m,Matr); { }
Okno(40,6,80,20,3,15); {
}
WriteLn(' ');
OutMatr(n,m,Matr); { }
ReadLn;
End.
-
49
6
: - 3, - 4.
: ,
; ,
; ;
.
5 . . !
1. . 2.
. 3. ,
, , . . .
4. . .
5. .
6. : , , , ,
-
50
1
. ; - , . , (). . .
2
. ; - , . , . . .
3
. ; - , . , . .
4
. ; - , . , . .
5
. ; - , . , . .
6
. ; - , . , . .
-
51
7
. ; - , . , (). . .
8
. ; - , . , .
9
. ; - , . .
10
. ; - , . , . .
11
. ; - , . , . .
12
. ; - , . , . .
13
. ; - , . , . .
-
52
14
. ; - , . , : . .
15
. ; - , . , : (a, ab, abc, abcd,). .
16
. ; - , . , : (z, yz, xyz,). .
17
. ; - , . , : . .
18
. ; - , . , : . .
19
. ; - , . , : . .
-
53
20
. ; - , . , , : . .
21
. ; - , . , , : . .
22
. ; - , . , , : . .
23
. ; - , . , , : . .
24
. ; - , . , , : . .
-
54
25
. ; - , . , , : . .
26
. ; - , . , , : . .
27
. ; - , . , , : , . .
28
. ; - , . .
29
. ; - , . , ( ) , . .
30
. ; - , . , .
-
55
31
. ; - , . , . .
32
. ; - , . .
-
56
Program FileText;
{ }
Uses Crt; { Crt}
Procedure Exist(Var nameFT:String);
{ }
Var ch:Char;
FT:Text;
Begin
Assign(FT,nameFT);
{$I-} { -}
Reset(FT);
{$I+} { -}
If IOResult=0
Then Begin
WriteLn(' !');
Write(' ? Y/N ->');
ReadLn(ch);
If ch In ['n','N','','']
Then Repeat
WriteLn(' :');
ReadLn(nameFT);
Assign(FT,nameFT);
{$I-}
Reset(FT);
{$I+}
If IOResult=0
Then Begin
WriteLn(' !');
Write(' ? Y/N->');
ReadLn(ch);
End;
Until (IOResult0)Or(ch In['y','Y','','']);
End;
End;
Procedure SozdFT(Const nameFT:String);
{ }
Var
FT:Text;
i:Byte;
st:String;
Begin
-
57
Assign(FT,nameFT);
ReWrite(FT); { }
Write(' . ');
WriteLn(' - .');
i:=0;
WriteLn(' ',i+1,'- :');
ReadLn(st); { }
While st'' { }
Do Begin
WriteLn(FT,st); { }
Inc(i);
WriteLn(' ',i+1,'- :');
ReadLn(st);
End;
WriteLn(' ',i,' ');
Close(FT); { }
End;
Procedure ProsmFT(Const nameFT:String);
{ }
Var st:String;
FT:Text;
Begin
Assign(FT,nameFT);
Reset(FT); { }
If Eof(FT) Then Begin
Writeln(' !');
WriteLn(' Enter ->');
ReadLn; Halt;
End;
Writeln(' :'); Writeln;
While Not Eof(FT) { :}
Do Begin
Readln(FT,st); { }
Writeln(st); { }
End;
Writeln;
Close(FT); { }
End; {ProsmFT}
Procedure RedaktFT(Const nameF1,nameF2:String);
{ .
-
58
: F1 - .
: F2 - .}
Procedure UdalLP(Var st:String);
{ .
: st- , .
: st - .}
Var L,i:Byte;
Begin
L:=Length(st); { }
i:=1; { }
While i
-
59
Var L,p1,p2:Byte;
{L - ,
p1,p2 - }
sl1,sl2:String;{ }
flag:Boolean; { }
Begin
L:=Length(st); { }
Repeat
flag:=FALSE; { }
p1:=1; sl1:=Slovo(p1,st); { }
While p1+Length(sl1)
-
60
{ }
Var nameF1,nameF2:String; { }
Begin
ClrScr; { }
Write(' : ');
ReadLn(nameF1);
Exist(nameF1);
SozdFT(nameF1); { }
Write(' '); ProsmFT(nameF1);
Write(' : ');
ReadLn(nameF2);
Exist(nameF2);
RedaktFT(nameF1,nameF2); { }
Write(' '); ProsmFT(nameF2);
ReadLn;
End. {FileText}
-
61
7.
: - 3, - 4.
: ,
;
; ;
.
5, . !
1. . 2.
. 3.
. 4. : ,
, , , . 5.
. 6.
. 7. : ,
, , , .
-
62
1
2
. .
3
.
4
5
. .
6
7
8
9
.
-
63
10
11
12
13
14
. . 1 .
15
16
17
18
19
20
21
-
64
Program FileZap;
{ }
Const MAX_DL=15; { }
KOL_OC=3; { }
Type Tzap=Record
fam:String[MAX_DL]; {}
OC:Array[1..KOL_OC] Of 0..5; {}
End;
Tfile=File Of Tzap;
Function FileExist(Const nameF:String):Boolean;
{ .
: nameF - .
: FileExist - .}
Var F:File; { }
Begin Assign(F,nameF);
{$I-} { -}
Reset(F); { }
{$I+} { -}
If IOResult=0 { ?}
Then Begin FileExist:=TRUE; Close(F); { }
End
Else FileExist:=FALSE;
End; {FileExist}
Procedure SozdFZ(Const nameF:String);
{ .
: nameF - .}
Var z:Tzap; j:Byte; otv:Char; FZ:Tfile;
Begin If FileExist(nameF) { ?}
Then Begin WriteLn(' ',nameF,' !');
Exit; { }
End;
Assign(FZ,nameF);
Rewrite(FZ); { }
WriteLn(' :');
Repeat Write(' ? '); ReadLn(z.fam);
Write(' ? '); For j:=1 To KOL_OC
Do Read(z.OC[j]); ReadLn;
Write(FZ,z); { }
Write(' ? '); ReadLn(otv);
Until Not ( otv In ['','','Y','y']);
-
65
Close(FZ); { }
End; { SozdFZ }
Procedure ProsmFZ(Const nameF:String);
{ .
: nameF - .}
Var z:Tzap; j:Byte; FZ:Tfile;
Begin If Not FileExist(nameF) { ?}
Then Begin WriteLn(' ',nameF,' !');
Exit;
End;
Assign(FZ,nameF);
Reset(FZ); { }
If Eof(FZ) { ?}
Then Begin WriteLn(' ',nameF,' !');
Exit;
End;
WriteLn(' : ',nameF);
While Not(Eof(FZ)) { }
Do Begin Read(FZ,z); { }
Write(z.fam,' ':MAX_DL-Length(z.fam)+1);
For j:=1 To KOL_OC
Do Write(z.OC[j]:3); WriteLn
End;
Close(FZ); { }
End; {ProsmFZ}
Procedure SortFZ(Const nameF:String);
{
.
: nameF - .}
Function SumB(z:Tzap):Byte;
{ .
: z - .
: SumB - .}
Var s,j:Byte;
Begin s:=0;
For j:=1 To KOL_OC
Do s:=s+z.OC[j];
SumB:=s
End; {SumB}
-
66
Var z1,z2:Tzap; i:Word; flag:Boolean; FZ:Tfile;
nkz:Word; { }
Begin
If Not FileExist(nameF) { ?}
Then Begin WriteLn(' ',nameF,' !');
Exit;
End;
Assign(FZ,nameF);
Reset(FZ); { }
nkz:=FileSize(FZ)-1; { }
flag:=TRUE; { }
While (nkz>0) and flag { }
Do Begin
flag:=FALSE; { }
For i:=0 To nkz-1 { }
Do Begin
Seek(FZ,i);
Read(FZ,z1,z2);{ }
If SumB(z1)
-
67
End;
End;
End; {UsechFZ}
{ }
Var nameFZ { }
kStud:Word; { }
r:0..4; { } {$R+}
Begin
WriteLn{ :}
ReadLn(nameFZ);
Repeat
WriteLn(' !');
WriteLn('1 - , 2 - ,');
Write('3 - , 4 - , 0 - : ');
ReadLn(r);
Case r Of
1: SozdFZ(nameFZ); { }
2: SortFZ(nameFZ); { }
3: ProsmFZ(nameFZ); { }
4: Begin Write(' ? ');
ReadLn(kStud);
UsechFZ(nameFZ,kStud); { }
End;
End; {Case}
WriteLn;
Until r=0;
End.
-
68
8.
: - 3, - 4.
:
;
.
5 .
1. . 2.
. 3. , ,
, . 4.
. 5. : ,
, , , .
-
69
1
L L1 L2: , .
2
L E1 E, L.
3
L 1 , L.
4
L 1 2.
5
L, , E , .
6
L.
7
L .
8
L .
9
L , .
10
L .
11
L .
-
70
12
L, , .
13
, L1 L2.
14
, L .
15
L1 L2.
16
L1 L.
17
L1 L2.
18
L L1, L.
19
L, , L1 L2.
20
L, , L1 L2.
21
L, , L1, L2.
22
L, , L1 L2, .
23
L1 L2 , L.
-
71
24
L1 L2 L1, L1 L2.
25
.
26
.
27
, .
28
.
29
.
30
.
31
.
32
.
33
, .
34
.
35
, .
36
L 1 2.
37
.
-
72
38
.
39
, L.
40
L.
41
.
42
L , .
43
, .
44
, , .
45
, .
-
73
Program Spisok;
{ }
Type Tinf=Char; { }
TP=^Tel; { }
Tel=Record { }
inf:Tinf;{ }
pSled:TP;{ }
End;
Procedure Init(Var head:TP);
{ }
Begin
head:=NIL;
End;{Init}
Procedure InSpN(infEl:Tinf; Var head:TP);
{ }
Var pn:TP; { }
Begin
New(pn); { }
pn^.inf:=infEl; { }
pn^.pSled:=head;{ }
head:=pn; { }
End;{InSpN}
Procedure SozdSpN(Var head:TP);
{ :
}
Var s:Char;
Begin
Init(head); { }
WriteLn(' ! * ');
Repeat
Read(s);
InSpN(s,head) { }
Until s='*';
ReadLn;
End;{SozdSpN}
-
74
Procedure InitZ(infEl:Tinf; Var head:TP);
{ }
Begin
New(head); { }
head^.inf:=infEl; { }
head^.pSled:=NIL; { }
End;{InitZ}
Procedure InSpP(infEl:Tinf; Var pred:TP);
{ }
Var pn:TP; { }
Begin
If predNIL { ?}
Then Begin
New(pn);
pn^.inf:=infEl; { }
pn^.pSled:=pred^.pSled; { }
pred^.pSled:=pn; { }
pred:=pn;
End;
End;{InSpP}
Procedure SozdSpP(Var head:TP);
{ :
}
Var s:Char; pred:TP;
Begin
InitZ(' ',head);
pred:=head; { }
WriteLn(' ! * ');
Repeat
Read(s);
If s'*'
Then InSpP(s,pred){ }
Until s='*';
ReadLn
End;{SozdSpP}
Procedure ProsmSp(head:TP);
{ }
Var pt:TP; {C }
Begin
If head=NIL
Then Begin
WriteLn(' !');
-
75
Write( Enter ->);
ReadLn; Exit;
End;
WriteLn(' :');
pt:=head; { }
While ptNIL
Do Begin
Write(pt^.inf);
pt:=pt^.pSled;{ }
End;
WriteLn;
End; {ProsmSp}
Procedure OutSpN(Var head:TP);
{ }
Var pu:TP; { }
Begin
If headNIL
Then Begin
pu:=head; { }
head:=head^.pSled;
Dispose(pu);
End;
End; {OutSpN}
{ }
Var head:TP;
Begin
SozdSpN(head); { }
Write(' '); ProsmSp(head);
OutSpN(head); { }
Write(' '); ProsmSp(head);
SozdSpP(head); { }
Write(' '); ProsmSp(head);
ReadLn;
End.
-
76
5
, .
4. .
1:
1. : , , .
2. : .
3. .
4. . 5. . 6. . 7.
. c . 8. : ,
, , , .
1
6
V = D mod 32 + 1
V ; D ; mod .
, 03467, V = 67 mod 32 + 1 = 3 + 1 = 4, , :
-
77
4
. ; - , . , . .
Program LexSortStr;
{ }
Procedure LexSort(Var st:String);
{ .
: st - .
: st - .}
Function Slovo(pn:Byte; st:String):String;
{ .
: pn - ,
st - .
: Slovo - .}
Var L,p:Byte;
Begin L:=Length(st); p:=pn;
{ }
While (p
-
78
sl2:=Slovo(p2,st); { }
If sl2
-
79
6. .
7. . c .
8. , . 9. : ,
, , , .
2
7
V = D mod 21 + 1
V ; D ; mod . , 03469, V = 69 mod 21 + 1 = 6 + 1 =7, , :
7
7
Program MasZap;
{ }
Const KMAX=10; { }
Type Tzap=Record
name:String[15]; {}
area:Real; {}
popul:Real; {}
End;
Tmas=Array[1..KMAX] of Tzap;
{$R+}
-
80
Procedure SozdMZ(Var kz:Byte; Var MZ:Tmas);
{ .
: kz - ,
MZ - .}
Var i:Byte;
Begin Write(' ', KMAX,': ');
ReadLn(kz);
For i:=1 To kz Do
Begin Write(' ? ');
ReadLn(MZ[i].name);
Write(' ? ');
ReadLn(MZ[i].area, MZ[i].popul);
End;
End; { SozdMZ }
Procedure SortMZ(kz:Byte;Var MZ:Tmas);
{ .
: kz - ,
MZ - .
: MZ .}
Var i:Byte; z:Tzap; flag:Boolean;
Begin
If kz=0
Then Begin WriteLn(' !');
WriteLn( Enter ->);
ReadLn; Exit; { }
End;
Repeat
flag:=FALSE;
For i:=1 To kz-1
Do If MZ[i].popul/MZ[i].area
-
81
Begin
If kz=0
Then Begin
WriteLn(' !');
Write( Enter ->);
ReadLn; Exit; { }
End;
WriteLn(ComStr:40); WriteLn;
WriteLn(' ','':20,'':20);
WriteLn;
For i:=1 To kz
Do With MZ[i]
Do WriteLn(name:16,area:20:7,popul:20:7);
WriteLn;
End; {OutMZ}
Var { }
ks:Byte; { }
MS:Tmas; { }
Begin
SozdMZ(KS,MS);
OutMZ(' ',ks,MS);
SortMZ(KS,MS);
OutMZ(' ',ks,MS);
Write(' Enter ->');
ReadLn;
End.
-
82
6
, .
, , . . .
1. .
1 ( ).
2 . . , 4 : 4, 3+1, 2+2, 2+1+1, 1+1+1+1.
3 mnC :
1, m=0, n>0 m=n>=0;
C(n,m) = 0, m>n>=0;
C(n-1,m-1) + C(n-1,m) .
4
, f(x)=0 [a,b] .
5 . min(x) x, min1(k), , k.
-
83
6
. , , s, i- j- .
7 , 0. , ( ).
8 n : - (, ) , , ( ), .
9
. ,, n , 1 n . . , : , . , , n , n .
10 n , 1 n. . , 1- n-. i j (i
-
84
13
n m, (n,m). , , (n,m)=(m,r), r n m.
14 u0,u1,u2, : u0=0, u1=1, un=un-1+ un-2 (n=2,3, ). un n, .
15
a,c,m. f(m),
n, 00. , .
17 1
1 1 1, 1 2 1 . 1 3 3 1 n. n 1 4 6 4 1 . .
18 m,n1,,nm (m>=2). (n1,,nm),
(n1,,n)=((n1,,n-1),nk) ( =3,,n ) .
19
t0=1, tk=t0tk-1+ t1tk-2++ tk-2t1+ tk-1t0, k=1,2, . tn.
-
85
20
2n+1 , n n (n , n , ). , . , , . , , .
21
2n , n n-1 (1,...,n , n+1 , n+2,...,2n ). . , , . , . , , .
22 4 4 16 ( , b, c, d ) , . . 23 9 3 3 1, 2, 3 , , , , 6. .
24
3 3 1,2,3,4,5,6,7,8,9 , , , , .
25
4 4 15 1 15. . . . , , .
-
86
Program FactRecFunc;
{ }
Function FactR(k:Byte):Longint;
{ F=K!
: k - .
: FactR - .}
Begin
If k=0 Then FactR:=1
Else FactR:=k*FactR(k-1);
End; { FactR }
Const P=12; { }
Var n:0..P; f:Longint;
Begin {$R+}
Write(' 0
-
87
5
.
6 .
7
.
8 .
9
.
10
.
11 .
12 .
13
.
14 . 15
.
16 .
17
.
18 .
-
88
1 2 3 4
5 6 7 8
B1 B2 B3 B4
B5 B6 B7 B8
-
89
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8
-
90
1
Program SortMas;
{ }
Const R=10; { }
Type Tind=1..R;
Tmas=Array[Tind] Of Integer;
Procedure SortVibor(n:Tind; Var M:Tmas);
{
}
Var i,k,imin:Tind; t:Integer;
Begin For i:=1 To n-1
Do Begin imin:=i; { }
For k:=i+1 To n
Do If M[k]M[i+1] { }
Then Begin { }
t:=M[i]; M[i]:=M[i+1]; M[i+1]:=t;
End;
End; {SortObmen}
Procedure SortObmenF(n:Tind; Var M:Tmas);
{
}
Var i,k:Tind; flag:Boolean; t:Integer;
Begin
k:=n;{ }
Repeat flag:=FALSE; { }
For i:=1 To k-1
Do If M[i]>M[i+1]
-
91
Then Begin { }
t:=M[i]; M[i]:=M[i+1]; M[i+1]:=t;
flag:=TRUE; { }
End;
k:=k-1;
Until (Not flag) Or (k=1);
End; {SortObmenF}
Procedure SortVstav(n:Tind; Var M:Tmas);
{
}
Var i,j,k:Tind; t:Integer;
Begin For i:=2 To n
Do Begin t:=M[i]; { }
j:=1;
{ }
While (j
-
92
2
Program SortStrMatr;
{ }
Uses Crt; { }
Const R=10;
Type Tind=1..R;
Tvect=Array[Tind] of Integer;
Tmatr=Array[Tind] of Tvect;
{$R+}
Procedure InMatr(kstr,kstb:Tind;Var M:Tmatr);
{ }
Var i,j:Tind;
Begin Writeln(' :');
For i:=1 To kstr
Do Begin For j:=1 To kstb
Do Read(M[i,j]);
ReadLn;
End;
End;{InMatr}
Function NStbMin(kstr,kstb:Tind; Const M:Tmatr):Tind;
{ }
Var i,j:Tind; min:Integer;
Begin min:=M[1,1]; NStbMin:=1;
For i:=1 To kstr
Do For j:=1 To kstb
Do If M[i,j]M[imax,nstb]
Then imax:=k;
StrM:=M[i]; M[i]:=M[imax]; M[imax]:=StrM;
End;
End;{SortMatr}
-
93
Procedure Okno(x1,y1,x2,y2,cf,ct:Byte);
{ }
Begin Window(x1,y1,x2,y2); { }
TextBackGround(cf); { }
TextColor(ct); { }
ClrScr; { }
End;{Okno}
Procedure OutMatr(kstr,kstb:Tind; Const M:Tmatr);
{ }
Var i,j:Tind;
Begin For i:=1 To kstr
Do Begin For j:=1 To kstb
Do Write(M[i,j]:4);
WriteLn;
End;
End;{OutMatr}
Var N,M,NStb:Tind; Matr:Tmatr;
Begin Okno(1,1,80,25,0,15); { }
Write(' ? '); ReadLn(N,M);
Okno(1,6,38,20,2,15); { }
InMatr(N,M,Matr); { }
NStb:=NStbMin(N,M,Matr);{ }
SortMatr(N,NStb,Matr); { }
Okno(40,6,80,20,3,15); { }
WriteLn(' ');
OutMatr(N,M,Matr); ReadLn;
End.
-
94
7
, , .
. .
. , , , , :
- ; - ; - ( ); - .
: - ( ); - ( ); - ; - , ( [1], ):
- ; - .
, 0 10
-
95
1
( ) . . . , .
2
.
- , - (1% ), - .
.
3
.
- , - , :
( - )*13% , ,
- .
.
-
96
4
. .
. .
5
. .
. , .
6
. ,
.
7
. ,
.
8
.
, , .
-
97
9
. .
. , .
10
, , .
( ). .
-
98
8
1. . . . .
2. . . . .
3. . , , .
4. . . , . .
5. . . . .
6. . , . .
7. . . . .
8. . . .
9. . . .
10. . . .
11. . . . . . .
12. . . . . .
13. . . . . .
14. . . , . .
15. . -, - , -.
16. : .
17. : .
18. . : , . .
-
99
19. . , , , . : .
20. . . .
21. . . .
22. . . . . .
23. : , , .
24. . 25. . .
. . . 26. :
. 27. :
. , .
28. . . . . . . .
29. . . . . .
30. : .
31. . , . . . . .
32. . . . .
33. .
34. . .
35. . . . . . . .
36.pp . .
37. . . .
-
100
38. . , , , . .
39. . .
40. . .
41.. . . . .
42. . .
43. : , , ( , ).
44. : , , .
45. .
46. . . 47. . . 48. . . 49. . . 50. . . 51. . ,
. . 52. . ,
. . 53. . ,
. . 54. .
. . . 55. .
. 56. :
. System: . 57. Crt. . .
. .
-
101
9 -
9.1
) 1. .. . . . .:
. 1999 . - 280. 2. .., .. Turbo Pascal
7.0. : , .: , 2000 . 496c. 3. .. 7.0. . . .:
, 2000 . - 616.
) 1. .., .., ..
. : , 1997 . 368. 2. .. Turbo Pascal . .: . , 2000 .
- 256. 3. . / . ..
.: , 2002 . 336.
9.2
1. 19.701-90 , , . .
2. 19.101-77 . 3. 19.106-78 ,
. 4. 19.202-78 .
. 5. 19.401-78 .
. 6. 19.402-78 .
.
7. 19.502-78 . .
8. 7.32-2001 , . - .
-
102
.
-
103
-
44
44.2201.03
.
- 2003 .
-
104
-
44
44.2201.01
.
- 2003 .
-
105
1. 2. 3.
3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7.
4. 4.1. 4.2. 4.3. 4.4. 4.5. 4.6.
-
106
-
44
44.2201.01
.
- 2003 .