Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

информа / _Pascal10 / 06 / urok06p

.txt
Скачиваний:
9
Добавлен:
14.05.2015
Размер:
8.06 Кб
Скачать
-------------| BorlandPascal 7.0 |--------------
-------------| ЋЇҐа в®ал п§лЄ . ”г­ЄжЁЁ |--------------

‘®Ўб⢥­­лҐ дг­ЄжЁЁ ў Pascal:

ЋЎй п бвагЄвга :

Program ...
uses ...
var ... - ®ЇЁб ­ЁҐ Ј«®Ў «м­ле ЇҐаҐ¬Ґ­­ле

Function name(xl[,xl1,...]:<type>):<type>;
var ... - ®ЇЁб ­ЁҐ «®Є «м­ле ЇҐаҐ¬Ґ­­ле
Begin
...
End;

Begin - ®б­®ў­®© Ў«®Є Їа®Ја ¬¬л
...
s:= name(xg[,xg1,...]); - ўл§®ў дг­ЄжЁЁ б Ј«®Ў «м­л¬Ё Ї а ¬Ґва ¬Ё
...
End.

xg Ё xl - Ј«®Ў «м­лҐ Ё «®Є «м­лҐ ЇҐаҐ¬Ґ­­лҐ.
xg Ё xl ¬®Јгв Ё¬Ґвм ®¤Ё­ Є®ўлҐ Ё¬Ґ­ .

ЏаЁ¬Ґа:
program wed;
var a1,b1:integer;

function um(a,b:integer):integer;
begin
um:= a*b;
end;

begin
a1:=3; b1:=5;
writeln(um(a1,b1))
end.

/////////////////////
‘®Ўб⢥­­лҐ Їа®жҐ¤гал ў Pascal:

ЋЎй п бвагЄвга :

Program ...
uses ...
var ... - ®ЇЁб ­ЁҐ Ј«®Ў «м­ле ЇҐаҐ¬Ґ­­ле

Procedure name[([var] xl[,xl1,...]:<type>)]; - «®Є «м­лҐ ЇҐаҐ¬Ґ­­лҐ
var ... - ®ЇЁб ­ЁҐ «®Є «м­ле ЇҐаҐ¬Ґ­­ле
Begin
...
End;

Begin - ®б­®ў­®© Ў«®Є Їа®Ја ¬¬л
...
name(xg[,xg1,...]); - ўл§®ў Їа®жҐ¤гал б Ј«®Ў «м­л¬Ё Ї а ¬Ґва ¬Ё
...
End.



_________________________________________________________
‡ ¤ ­ЁҐ:
1. ђҐиЁвм § ¤ зг, ЁбЇ®«м§гп Їа®жҐ¤гал.

 . ЋЇЁб вм Їа®жҐ¤гаг DigitCountSum(K, C, S), ­ е®¤пйго Є®«ЁзҐбвў® C
жЁда 楫®Ј® Ї®«®¦ЁвҐ«м­®Ј® зЁб«  K,   в Є¦Ґ Ёе б㬬г S (K - ўе®¤­®©,
C Ё S - ўл室­лҐ Ї а ¬Ґвал 楫®Ј® вЁЇ ). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал
­ ©вЁ Є®«ЁзҐбвў® Ё б㬬г жЁда ¤«п Є ¦¤®Ј® Ё§ ЇпвЁ ¤ ­­ле 楫ле зЁбҐ«.

Ў. ЋЇЁб вм Їа®жҐ¤гаг InvertDigits(K), ¬Ґ­пойго Ї®а冷Є б«Ґ¤®ў ­Ёп
жЁда 楫®Ј® Ї®«®¦ЁвҐ«м­®Ј® зЁб«  K ­  ®Ўа в­л© (K - Ї а ¬Ґва 楫®Ј®
вЁЇ , пў«пойЁ©бп ®¤­®ўаҐ¬Ґ­­® ўе®¤­л¬ Ё ўл室­л¬). ‘ Ї®¬®ймо нв®©
Їа®жҐ¤гал Ї®¬Ґ­пвм Ї®а冷Є б«Ґ¤®ў ­Ёп жЁда ­  ®Ўа в­л© ¤«п Є ¦¤®Ј®
Ё§ ЇпвЁ ¤ ­­ле 楫ле зЁбҐ«.

ў. ЋЇЁб вм Їа®жҐ¤гаг SortInc3(A, B, C), ¬Ґ­пойго ᮤҐа¦Ё¬®Ґ ЇҐаҐ¬Ґ­­ле
A, B, C в ЄЁ¬ ®Ўа §®¬, зв®Ўл Ёе §­ зҐ­Ёп ®Є § «Ёбм гЇ®а冷祭­л¬Ё
Ї® ў®§а бв ­Ёо (A, B, C - ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, пў«пойЁҐбп
®¤­®ўаҐ¬Ґ­­® ўе®¤­л¬Ё Ё ўл室­л¬Ё). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал гЇ®а冷зЁвм
Ї® ў®§а бв ­Ёо ¤ў  ¤ ­­ле ­ Ў®а  Ё§ ваҐе зЁбҐ«: (A1, B1, C1) Ё
(A2, B2, C2).

Ј. ЋЇЁб вм Їа®жҐ¤гаг ShiftRight3(A, B, C), ўлЇ®«­пойго Їа ўл© жЁЄ«ЁзҐбЄЁ©
б¤ўЁЈ: §­ зҐ­ЁҐ A ЇҐаҐе®¤Ёв ў B, §­ зҐ­ЁҐ B - ў C, §­ зҐ­ЁҐ C - ў A
(A, B, C - ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, пў«пойЁҐбп ®¤­®ўаҐ¬Ґ­­®
ўе®¤­л¬Ё Ё ўл室­л¬Ё). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал ўлЇ®«­Ёвм Їа ўл©
жЁЄ«ЁзҐбЄЁ© б¤ўЁЈ ¤«п ¤ўге ¤ ­­ле ­ Ў®а®ў Ё§ ваҐе зЁбҐ«: (A1, B1, C1) Ё
(A2, B2, C2).

¤. ЋЇЁб вм Їа®жҐ¤гаг ShiftLeft3(A, B, C), ўлЇ®«­пойго «Ґўл© жЁЄ«ЁзҐбЄЁ©
б¤ўЁЈ: §­ зҐ­ЁҐ A ЇҐаҐе®¤Ёв ў C, §­ зҐ­ЁҐ C - ў B, §­ зҐ­ЁҐ B - ў A
(A, B, C - ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, пў«пойЁҐбп ®¤­®ўаҐ¬Ґ­­® ўе®¤­л¬Ё
Ё ўл室­л¬Ё). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал ўлЇ®«­Ёвм «Ґўл© жЁЄ«ЁзҐбЄЁ©
б¤ўЁЈ ¤«п ¤ўге ¤ ­­ле ­ Ў®а®ў Ё§ ваҐе зЁбҐ«: (A1, B1, C1) Ё (A2, B2, C2).

Ґ. ЋЇЁб вм Їа®жҐ¤гаг AddRightDigit(D, K), ¤®Ў ў«пойго Є 楫®¬г Ї®«®¦ЁвҐ«м­®¬г
зЁб«г K бЇа ў  жЁдаг D (D - ўе®¤­®© Ї а ¬Ґва 楫®Ј® вЁЇ , «Ґ¦ йЁ© ў
¤Ё Ї §®­Ґ 0-9, K - Ї а ¬Ґва 楫®Ј® вЁЇ , пў«пойЁ©бп ®¤­®ўаҐ¬Ґ­­®
ўе®¤­л¬ Ё ўл室­л¬). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал Ї®б«Ґ¤®ў вҐ«м­® ¤®Ў ўЁвм
Є ¤ ­­®¬г зЁб«г K бЇа ў  ¤ ­­лҐ жЁдал D1 Ё D2, ўлў®¤п १г«мв в Є ¦¤®Ј®
¤®Ў ў«Ґ­Ёп.

с. ЋЇЁб вм Їа®жҐ¤гаг Swap(X, Y), ¬Ґ­пойго ᮤҐа¦Ё¬®Ґ ЇҐаҐ¬Ґ­­ле X Ё Y
(X Ё Y - ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, пў«пойЁҐбп ®¤­®ўаҐ¬Ґ­­® ўе®¤­л¬Ё Ё
ўл室­л¬Ё). ‘ ҐҐ Ї®¬®ймо ¤«п ¤ ­­ле ЇҐаҐ¬Ґ­­ле A, B,C, D Ї®б«Ґ¤®ў вҐ«м­®
Ї®¬Ґ­пвм ᮤҐа¦Ё¬®Ґ б«Ґ¤гойЁе Ї а: A Ё B, C Ё D, B Ё C Ё ўлўҐбвЁ ­®ўлҐ
§­ зҐ­Ёп A, B, C, D.

¦. ЋЇЁб вм Їа®жҐ¤гаг Minmax(X, Y), § ЇЁблў ойго ў ЇҐаҐ¬Ґ­­го X ¬Ё­Ё¬ «м­®Ґ
Ё§ §­ зҐ­Ё© X Ё Y,   ў ЇҐаҐ¬Ґ­­го Y - ¬ ЄбЁ¬ «м­®Ґ Ё§ нвЁе §­ зҐ­Ё©
(X Ё Y - ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, пў«пойЁҐбп ®¤­®ўаҐ¬Ґ­­® ўе®¤­л¬Ё Ё
ўл室­л¬Ё). €бЇ®«м§гп зҐвлॠўл§®ў  нв®© Їа®жҐ¤гал, ­ ©вЁ ¬Ё­Ё¬ «м­®Ґ
Ё ¬ ЄбЁ¬ «м­®Ґ Ё§ ¤ ­­ле зЁбҐ« A, B, C, D.

§. ЋЇЁб вм Їа®жҐ¤гаг Mean(X, Y, AMean, GMean), ўлзЁб«пойго б।­ҐҐ
 аЁд¬ҐвЁзҐбЄ®Ґ AMean = (X+Y)/2 Ё б।­ҐҐ ЈҐ®¬ҐваЁзҐбЄ®Ґ GMean = sqrt(X*Y)
¤ўге Ї®«®¦ЁвҐ«м­ле зЁбҐ« X Ё Y (X Ё Y - ўе®¤­лҐ, AMean Ё GMean -
ўл室­лҐ Ї а ¬Ґвал ўҐйҐб⢥­­®Ј® вЁЇ ). ‘ Ї®¬®ймо нв®© Їа®жҐ¤гал ­ ©вЁ
б।­ҐҐ  аЁд¬ҐвЁзҐбЄ®Ґ Ё б।­ҐҐ ЈҐ®¬ҐваЁзҐбЄ®Ґ ¤«п Ї а
(A, B), (A, C), (A, D), Ґб«Ё ¤ ­л A, B, C, D.

Ё. ЋЇЁб вм Їа®жҐ¤гаг PowerA234(A, B, C, D), ўлзЁб«пойго ўв®аго,
ваҐвмо Ё зҐвўҐавго б⥯Ґ­м зЁб«  A Ё ў®§ўа й ойго нвЁ б⥯Ґ­Ё
ᮮ⢥вб⢥­­® ў ЇҐаҐ¬Ґ­­ле B, C Ё D (A - ўе®¤­®©, B, C, D - ўл室­лҐ
Ї а ¬Ґвал; ўбҐ Ї а ¬Ґвал пў«повбп ўҐйҐб⢥­­л¬Ё). ‘ Ї®¬®ймо нв®©
Їа®жҐ¤гал ­ ©вЁ ўв®аго, ваҐвмо Ё зҐвўҐавго б⥯Ґ­м ЇпвЁ ¤ ­­ле зЁбҐ«.


2. ђҐиЁвм § ¤ зг, ЁбЇ®«м§гп Ї®«м§®ў вҐ«мбЄЁҐ дг­ЄжЁЁ.

 . ЋЇЁб вм дг­ЄжЁо Signnew(X) 楫®Ј® вЁЇ , ў®§ўа й ойго ¤«п ўҐйҐб⢥­­®Ј®
зЁб«  X б«Ґ¤гойЁҐ §­ зҐ­Ёп: -1, Ґб«Ё X < 0; 0, Ґб«Ё X = 0; 1, Ґб«Ё X > 0.
‘ Ї®¬®ймо нв®© дг­ЄжЁЁ ­ ©вЁ §­ зҐ­ЁҐ ўла ¦Ґ­Ёп Signnew(A) + Signnew(B)
¤«п ¤ ­­ле ўҐйҐб⢥­­ле зЁбҐ« A Ё B.

Ў. ЋЇЁб вм дг­ЄжЁо CircleS(R) ўҐйҐб⢥­­®Ј® вЁЇ , ­ е®¤пйго Ї«®й ¤м ЄагЈ 
а ¤Ёгб  R (R - ўҐйҐб⢥­­®Ґ). ‘ Ї®¬®ймо нв®© дг­ЄжЁЁ ­ ©вЁ Ї«®й ¤Ё
ваҐе ЄагЈ®ў б ¤ ­­л¬Ё а ¤Ёгб ¬Ё. Џ«®й ¤м ЄагЈ  а ¤Ёгб  R ўлзЁб«пҐвбп
Ї® д®а¬г«Ґ S = pi*R^2. ‚ Є зҐб⢥ §­ зҐ­Ёп _ ЁбЇ®«м§®ў вм 3.14.

ў. ЋЇЁб вм дг­ЄжЁо SumRange(A, B) 楫®Ј® вЁЇ , ­ е®¤пйго б㬬㠢бҐе 楫ле
зЁбҐ« ®в A ¤® B ўЄ«озЁвҐ«м­® (A Ё B - 楫лҐ). …б«Ё A > B, в® дг­ЄжЁп
ў®§ўа й Ґв 0. ‘ Ї®¬®ймо нв®© дг­ЄжЁЁ ­ ©вЁ б㬬л зЁбҐ« ®в A ¤® B Ё
®в B ¤® C, Ґб«Ё ¤ ­л зЁб«  A, B, C.

Ј. ЋЇЁб вм дг­ЄжЁо Calc(A, B, Op) ўҐйҐб⢥­­®Ј® вЁЇ , ўлЇ®«­пойго
­ ¤ ­Ґ­г«Ґўл¬Ё ўҐйҐб⢥­­л¬Ё зЁб« ¬Ё A Ё B ®¤­г Ё§  аЁд¬ҐвЁзҐбЄЁе
®ЇҐа жЁ© Ё ў®§ўа й ойго ҐҐ १г«мв в. ‚Ё¤ ®ЇҐа жЁЁ ®ЇаҐ¤Ґ«пҐвбп 楫л¬
Ї а ¬Ґв஬ Op: 1 - ўлзЁв ­ЁҐ, 2 - г¬­®¦Ґ­ЁҐ, 3 - ¤Ґ«Ґ­ЁҐ, ®бв «м­лҐ
§­ зҐ­Ёп - б«®¦Ґ­ЁҐ. ‘ Ї®¬®ймо Calc ўлЇ®«­Ёвм ¤«п ¤ ­­ле A Ё B ®ЇҐа жЁЁ,
®ЇаҐ¤Ґ«пҐ¬лҐ ¤ ­­л¬Ё 楫묨 N1, N2, N3.

¤. ЋЇЁб вм дг­ЄжЁо IsPower5(K) «®ЈЁзҐбЄ®Ј® вЁЇ , ў®§ўа й ойго TRUE, Ґб«Ё
жҐ«л© Ї а ¬Ґва K (> 0) пў«пҐвбп б⥯Ґ­мо зЁб«  5, Ё FALSE ў Їа®вЁў­®¬
б«гз Ґ. ‘ ҐҐ Ї®¬®ймо ­ ©вЁ Є®«ЁзҐбвў® б⥯Ґ­Ґ© зЁб«  5 ў ­ Ў®аҐ Ё§ 10
楫ле Ї®«®¦ЁвҐ«м­ле зЁбҐ«.

Ґ. ЋЇЁб вм дг­ЄжЁо DigitCount(K) 楫®Ј® вЁЇ , ­ е®¤пйго Є®«ЁзҐбвў®
жЁда 楫®Ј® Ї®«®¦ЁвҐ«м­®Ј® зЁб«  K. €бЇ®«м§гп нвг дг­ЄжЁо, ­ ©вЁ
Є®«ЁзҐбвў® жЁда ¤«п Є ¦¤®Ј® Ё§ ЇпвЁ ¤ ­­ле 楫ле Ї®«®¦ЁвҐ«м­ле зЁбҐ«.

с. ЋЇЁб вм дг­ЄжЁо DegToRad(D) ўҐйҐб⢥­­®Ј® вЁЇ , ­ е®¤пйго ўҐ«ЁзЁ­г
гЈ«  ў а ¤Ё ­ е, Ґб«Ё ¤ ­  ҐЈ® ўҐ«ЁзЁ­  D ў Ја ¤гб е (D - ўҐйҐб⢥­­®Ґ
зЁб«®, 0 < D < 360). ‚®бЇ®«м§®ў вмбп б«Ґ¤гойЁ¬ ᮮ⭮襭ЁҐ¬:
180 Ја. = pi а ¤Ё ­®ў. ‚ Є зҐб⢥ §­ зҐ­Ёп pi ЁбЇ®«м§®ў вм 3.14.
‘ Ї®¬®ймо дг­ЄжЁЁ DegToRad ЇҐаҐўҐбвЁ Ё§ Ја ¤гб®ў ў а ¤Ё ­л Їпвм
¤ ­­ле гЈ«®ў.

¦. ЋЇЁб вм дг­ЄжЁо Power2(A, N) ўҐйҐб⢥­­®Ј® вЁЇ , ­ е®¤пйго ўҐ«ЁзЁ­г
A^N (A - ўҐйҐб⢥­­л©, N - жҐ«л© Ї а ¬Ґва) Ї® б«Ґ¤гойЁ¬ д®а¬г« ¬:
A(0) = 1;
A(N) = A*A*...*A (N ᮬ­®¦ЁвҐ«Ґ©), Ґб«Ё N > 0;
A(N) = 1/(A*A*...*A) (|N| ᮬ­®¦ЁвҐ«Ґ©), Ґб«Ё N < 0.

§. ЋЇЁб вм дг­ЄжЁо RootsCount(A, B, C) 楫®Ј® вЁЇ , ®ЇаҐ¤Ґ«пойго
Є®«ЁзҐбвў® Є®а­Ґ© Єў ¤а в­®Ј® га ў­Ґ­Ёп Aчx2 + Bчx + C = 0 (A, B, C -
ўҐйҐб⢥­­лҐ Ї а ¬Ґвал, A 6= 0). ‘ ҐҐ Ї®¬®ймо ­ ©вЁ Є®«ЁзҐбвў® Є®а­Ґ©
¤«п Є ¦¤®Ј® Ё§ ваҐе Єў ¤а в­ле га ў­Ґ­Ё© б ¤ ­­л¬Ё Є®нддЁжЁҐ­в ¬Ё.
Љ®«ЁзҐбвў® Є®а­Ґ© ®ЇаҐ¤Ґ«пвм Ї® §­ зҐ­Ёо ¤ЁбЄаЁ¬Ё­ ­в .

Ё. ЋЇЁб вм дг­ЄжЁо RingS(R1, R2) ўҐйҐб⢥­­®Ј® вЁЇ , ­ е®¤пйго Ї«®й ¤м
Є®«мж , § Є«о祭­®Ј® ¬Ґ¦¤г ¤ўг¬п ®Єаг¦­®бвп¬Ё б ®ЎйЁ¬ 業в஬
Ё а ¤Ёгб ¬Ё R1 Ё R2 (R1 Ё R2 - ўҐйҐб⢥­­лҐ, R1 > R2). ‘ ҐҐ Ї®¬®ймо
­ ©вЁ Ї«®й ¤Ё ваҐе Є®«Ґж, ¤«п Є®в®але ¤ ­л ў­Ґи­ЁҐ Ё ў­гв७­ЁҐ а ¤Ёгбл.
‚®бЇ®«м§®ў вмбп д®а¬г«®© Ї«®й ¤Ё ЄагЈ  а ¤Ёгб  R: S = pi*R^2. ‚ Є зҐб⢥
§­ зҐ­Ёп pi ЁбЇ®«м§®ў вм 3.14.