(
,
-), .
, -
, ,
1 10. -
, 1
98
. . . Programming Taskbook 4.6
10. , -
1.
, , -
.
Param1◦. MinElem(A, N) , -
A N.
A, B, C N A,
N B, N C.
Param2. MaxNum(A, N) ,
A N.
A, B, C
N A, N B, N C .
Param3. MinmaxNum(A, N, NMin, NMax), -
A
N. : NMin ( -
) NMax ( ).
-
A, B, C N A, N B, N C.
Param4. Invert(A, N), -
A N (-
). A -
. A, B, C -
N A, N B, N C .
Param5. Smooth1(A, N), -
A N : A K -
K -
A. A .
A
N, .
Param6. Smooth2(A, N), -
A N : A 1 -
, A K(K = 2,..., N)
A K−1 A K. A -
.
A N, .
Param7. Smooth3(A, N), -
|
|
A N :
-
(
). A
. -
A N, -
.
Param8. RemoveX(A, N, X), -
A N , X. A
N .
X A, X B, X C A, B, C N A,
N B, N C -
.
Param9. RemoveForInc(A, N), -
A N ,
:
, , ,
, , . .
, 5.5, 2.5, 4.6, 7.2, 5.8, 9.4
5.5, 7.2, 9.4. A N -
. A,
B, C N A, N B, N C
.
Param10. DoubleX(A, N, X), -
A N , X. A
N .
X A, X B, X C A, B, C
N A, N B, N C -
.
Param11. SortArray(A, N),
A N. A
. -
A, B, C N A, N B, N C.
Param12. SortIndex(A, N, I), -
A N I
100
. . . Programming Taskbook 4.6
, A ,
A ( A
). I -
.
A, B, C N A, N B, N C.
Param13. Hill(A, N), -
A N :
, -
,
, . . ( -
). A
. -
A, B, C N A, N B, N C.
Param14. Split1(A, N A, B, N B, C, N C),
A N A B
C N B N C ; B
|
|
A (1, 3,...),
C A (2, 4,...).
B C N B N C .
A N A
B C.
Param15. Split2(A, N A, B, N B, C, N C),
A N A B C
N B N C; B
A, C ( ).
B C N B N C .
A N A
B C.
Param16. ArrayToMatrRow(A, K, M, N, B), -
A K B M N
( A ). -
; ,
0. -
B .
A K M N
B M N.
Param17◦. ArrayToMatrCol(A, K, M, N, B), -
A K B M N
( A ). -
; ,
0. -
B .
A K M N
B M N.
Param18. Chessboard(M, N, A),
M N A M N, -
0 1, , A 1,1 = 0.
A .
M N
A M N.
Param19. Norm1(A, M, N) , -
A M N:
Norm1(A, M, N) = max {| A 1,J | + | A 2,J | +... + | A M,J|},
J 1 N. A
M N Norm1(A, K, N), K = 1,..., M.
Param20. Norm2(A, M, N) , -
A M N:
Norm2(A, M, N) = max {| A I,1| + | A I,2| +... + | A I,N|},
I 1 M. A
M N Norm2(A, K, N), K = 1,..., M.
Param21. SumRow(A, M, N, K) , -
A M N,
K - ( K > M, -
0). A M N K
SumRow(A, M, N, K).
Param22. SumCol(A, M, N, K) , -
A M N,
K - ( K > N, -
0). A M N K
SumCol(A, M, N, K).
Param23. SwapRow(A, M, N, K 1, K 2),
A M N
102
. . . Programming Taskbook 4.6
K 1 K 2. A ;
K 1 K 2 M, .
, A M N
K 1 K 2.
Param24. SwapCol(A, M, N, K 1, K 2),
|
|
A M N
K 1 K 2. A -
; K 1 K 2 N, .
, A M N
K 1 K 2.
Param25. Transp(A, M),
( ) -
A M. A
. , -
A M.
Param26. RemoveRows(A, M, N, K 1, K 2),
A M N K 1 K 2
(, 1 < K 1 ≤ K 2). K 1 > M,
; K 2 > M,
K 1 M. A M, N
. RemoveRows,
A M N K 1 K 2
.
Param27. RemoveCols(A, M, N, K 1, K 2),
A M N K 1
K 2 (, 1 < K 1 ≤ K 2). K 1 > N,
; K 2> N,
K 1 N. A M, N
. RemoveCols,
A M N K 1
K 2 .
Param28. RemoveRowCol(A, M, N, K, L),
A M N ,
A K,L(, M > 1 N > 1; K > M
L > N, ). A M, N
. A
M N K, L. A RemoveRowCol
.
Param29. SortCols(A, M, N), -
A M N
( : -
, , -
; ,
. .). A -
. SortCols,
A M N.
Param30◦. IsIdent(S) , ,
S , ,
, -
. S -
, 0. S ,
−1, S , −2.
S , -
. IsIdent
.
Param31. FillStr(S, N) , -
N, -
S ( - -
|
|
). ,
N -
N.
Param32. UpCaseRus(S),
S ( S
). S . -
UpCaseRus, .
Param33. LowCaseRus(S), -
S ( S
). S .
LowCaseRus, .
104
. . . Programming Taskbook 4.6
Param34. TrimLeftC(S, C), S -
, C. S
. C .
TrimLeftC, .
Param35. TrimRightC(S, C), S -
, C. S
. C .
TrimRightC, .
Param36. InvertStr(S, K, N) , -
S,
N S, ee K - . K -
S, ;
K + N, , ee K -
. InvertStr S -
: (K 1, N 1), (K 2, N 2), (K 3, N 3).
Param37. PosSub(S 0, S, K, N) ,
, S -
S 0, N S,
K - ( , PosSub
). K S, 0,
K + N, ,
K - . S -
S 0, 0.
PosSub S 0, S -
: (K 1, N 1), (K 2, N 2), (K 3, N 3).
Param38. PosLast(S 0, S) ,
, S
S 0. , S 0
S . S S 0,
0.
S 0 S.
Param39. PosK(S 0, S, K) ,
, S K - -
S 0(K > 0). S 0 S K,
0. , -
S 0 S .
: S 0, S K.
Param40◦. WordK(S, K) ,
K - S ( ,
/ ). -
K,
. , S
K 1, K 2, K 3.
Param41. SplitStr(S, W, N),
S W , S ( W N -
). ,
/
; , S 10 . -
SplitStr, N,
S, .
Param42. CompressStr(S) ,
S : S,
C, -
{ K }, K C (,
S { }). ,
S = bbbccccce bbbc{5}e.
CompressStr .
Param43. DecompressStr(S) , -
|
|
, CompressStr (. Param42).
S ;
. DecompressStr
.
Param44. DecToBin(N) ,
N
. 01
( 0).
,
.
Param45. DecToHex(N) ,
N 16-
. 09,
AF (
106
. . . Programming Taskbook 4.6
0). , 16-
.
Param46. BinToDec(S) ,
S
. S ,
01 ( 0).
, , -
.
Param47. HexToDec(S) ,
S 16-
. S , -
09, AF (
0). , ,
16- .
Param48. IntFileSize(S) , -
S. -
, −1.
.
Param49◦. LineCount(S) , -
S. ,
−1.
.
Param50. InvertIntFile(S),
S .
,
.
.
Param51. AddLineNumbers(S, N, K, L),
S
: N, N + 1 .
. K ,
L (K > 0, L > 0).
, , -
. ,
N, K L.
Param52. RemoveLineNumbers(S), -
S -
, AddLineNumbers (.
Param51), , .
,
. .
Param53◦. SplitIntFile(S 0, K, S 1, S 2), -
K (≥ 0) S 0
S 1, a -
S 2.
. S 0,
K, S 1 S 2.
Param54. SplitText(S 0, K, S 1, S 2), K
(≥ 0) S 0 -
S 1, a
S 2. . -
S 0,
K, S 1 S 2.
Param55. StringFileToText(S),
S .
, S 1
S 2 .
Param56. TextToStringFile(S),
S .
, S 1
S 2 .
Param57. EncodeText(S, K),
S,
, K -
(0 < K < 10). , K = 3
û, . , ,
. , ,
.
K, .
Param58. DecodeText(S, K),
108
. . . Programming Taskbook 4.6
S, K
( Param57).
K, .
Param59−Param63
, , .
Param64−Param70 (x -),
(y -).
Param59◦. TDate Day (),
Month () Year () LeapYear(D)
TDate, TRUE, D
, FALSE .
LeapYear (,
). , 4,
, 100 400.
Param60◦. TDate LeapYear (. Param59),
DaysInMonth(D) TDate,
, D.
DaysInMonth (-
, ).
Param61◦. TDate DaysInMonth (. Param59
Param60), CheckDate(D) -
TDate, , D.
D , 0;
, 1;
, 2.
CheckDate .
Param62. TDate DaysInMonth CheckDate (.
Param59−Param61), PrevDate(D)
TDate, D ( D
, ). D
. PrevDate
.
Param63. TDate DaysInMonth CheckDate (.
Param59−Param61), NextDate(D)
TDate, D ( D
, ). D
. NextDate
.
Param64. TPoint X Y
( ) Leng(A, B)
, AB
:
| AB | =
q
(A. X − B. X) 2 + (A. Y − B. Y) 2
(A B TPoint).
AB, AC, AD, A, B, C, D.
Param65. TPoint Leng (. Param64), -
TTriangle A, B, C TPoint (
) Perim(T) ,
T (T TTriangle).
ABC, ABD, ACD, -
A, B, C, D.
Param66. TPoint, TTriangle Leng Perim (.
Param64 Param65), Area(T)
, T (T TTriangle)
:
S ABC= √ p (p −| AB |)(p −| AC |)(p −| BC |),
p . -
ABC, ABD, ACD, A, B, C, D.
Param67. TPoint, TTriangle Leng Area (. -
Param64Param66), Dist(P, A, B)
(P, A, B TPoint), D (P, AB)
P AB
D (P, AB) = 2 S P AB/| AB |,
S P AB PAB.
P AB, AC, BC,
P, A, B, C.
Param68. TPoint, TTriangle Dist (.
Param64, Param65, Param67), Heights(T, h 1, h 2, h 3),
110
. . . Programming Taskbook 4.6
h 1, h 2, h 3 T (T
TTriangle, h 1, h 2, h 3 ), -
T. A, T. B, T. C.
ABC, ABD, ACD, -
A, B, C, D.
Param69. TPoint Leng (. Param64), -
PerimN(P, N) ,
N -, ( ) -
P N (> 2) TPoint. -
,
.
Param70. TPoint, TTriangle Area (.
Param64Param66), AreaN(P, N) ,
N -, ( -
) P N (> 2)
TPoint. -
, .