Belova_TM
.pdfПрограммирование в системе Delphi с использованием подпрограмм 121
Рис. 7.5. Изображение формы
3. Пример программы:
program Project1; uses
Forms,
Unit1 in 'Unit1.pas' {Form1}; {$R *.res}
begin
Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;
end.
unit Unit1; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit; |
// поле для ввода X |
Edit2: TEdit; |
// поле для ввода N |
122 Программирование в системе Delphi с использованием подпрограмм
Edit3: TEdit; |
// поле для вывода S (процедура) |
|
Edit4: TEdit; |
// поле для вывода S (функция) |
|
Edit5: TEdit; |
// поле для вывода S (рекурсивная |
|
|
// функция) |
|
StaticText1: TStaticText; |
// |
|
StaticText2: TStaticText; |
// комментарии к полям |
|
Button1: TButton; |
|
// кнопка выполнить |
procedure Button1Click(Sender: TObject); // процедура, //вызываемая при щелчке левой кнопкой мыши на Button1; end;
var
Form1: TForm1; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var X,S,R:extended;
N,K:integer;
procedure FAKTproc(K:integer;var R:extended); // вычисление с
// помощью процедуры var i:integer;
begin
R:=1;
for i:=1 to K do R:=R*i;
end;
function FAKTfunc(K:integer):extended; // вычисление с помощью
//функции var i:integer; begin
Result:=1;
for i:=1 to K do Result:=Result*i;
end;
function FAKTrec(K:integer):extended; // вычисление с помощью
//рекурсии
begin
if k>0 then
Программирование в системе Delphi с использованием подпрограмм 123
Result:=k*FAKTrec(k–1) else Result:=1;
end; begin
X:=StrToFloat(Edit1.Text);
N:=StrToInt(Edit2.Text);
S:=0;
for K:=1 to N do begin FAKTproc(K,R); S:=S+cos(K*X)/R; end;
Edit3.Text:=FloatToStr(S);
S:=0;
for K:=1 to N do begin R:=FAKTfunc(K); S:=S+cos(K*X)/R; end;
Edit4.Text:=FloatToStr(S);
S:=0;
for K:=1 to N do begin R:=FAKTrec(K);
S:=S+cos(K*X)/R;
end;
Edit5.Text:=FloatToStr(S);
end;
end.
Контрольные вопросы к главе 7
1.Для чего предназначаются подпрограммы?
2.Что включает в себя заголовок процедуры?
3.Что включает в себя заголовок функции?
4.Какую структуру имеет процедура?
5.Какую структуру имеет функция?
124Программирование в системе Delphi с использованием подпрограмм
6.Чем отличается процедура от функции?
7.Какая существует взаимосвязь между формальными и фактическими параметрами?
8.Какие существуют разновидности параметров подпро-
грамм?
9.Чем отличаются параметры-переменные от параметровконстант?
10.Чем отличаются параметры-значения от параметровконстант?
11.С какой целью используются открытые массивы?
12.В чем суть рекурсивного метода организации вычисле-
ний?
13.Какие достоинства и недостатки рекурсивного метода?
14.Каким образом реализуется косвенная рекурсия?
Задания к лабораторной работе № 7
1. Составить программу вычисления функции Y и суммы S, представляющей собой формулу разложения заданной функции Y в ряд. При составлении программы необходимо использовать процедуры или функции, основанные на нерекурсивном и рекурсивном методах вычислений.
Варианты заданий приведены ниже (табл. 7.2).
Примечания:
1.В первой графе содержится порядковый номер задания. Рекомендуется выбирать номер задания, соответствующий порядковому номеру фамилии студента в списке группы.
2.Во второй графе приводится формула функции Y.
3.В третьей графе помещается формула разложения функции Y в ряд.
4.В четвертой графе показан диапазон значения аргумента x, для которого следует выполнить вычисления. Рекомендуется вычислить Y и S для
11 точек заданного диапазона изменения x.
Шаг изменения аргумента x определить по формуле:
H= xk xí 10
где хн – начальное значение x;, хк– конечное значение x.
5. В пятой графе указано значение n– количество членов суммы S.
Задания к лабораторной работе № 7 |
125 |
Таблица 7.2
Варианты заданий
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Диапазон |
|
||||||
|
Функция Y |
|
|
|
|
|
|
|
Сумма S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
изменения |
n |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аргумента |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
Y=3 |
x |
|
|
|
|
|
|
|
|
|
|
ln3 |
|
|
|
|
|
ln23 |
2 |
|
|
|
|
|
|
|
lnn3 |
|
|
n |
|
|
|
|
|
|
|
|
10 |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S=1+ |
|
|
|
x+ |
|
|
|
|
|
|
|
|
|
x |
|
+…+ |
|
|
|
|
|
|
|
|
|
x |
|
|
|
0,1 x 1 |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
n! |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
Y= ln |
|
2sin |
x |
|
|
|
|
S cos x |
cos2x |
|
cosnx |
|
|
|
|
x |
9 |
|
40 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
5 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
Y |
|
|
sinx |
S x x3 |
|
... ( 1)n |
x2n 1 |
|
|
|
|
|
|
|
|
|
|
|
10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
|
x |
1 |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
3! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n 1)! |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
Y ex |
|
|
|
|
|
|
|
|
|
S 1 |
|
x |
|
|
|
|
x2 |
|
... |
xn |
|
|
|
|
|
|
|
1 x 2 |
15 |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
2! |
|
n! |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
xcos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
Y e |
|
cos(xsin |
) |
|
|
cos /4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
cosn /4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
4 |
S 1 |
|
x ... |
xn |
0,1 |
|
1 |
|
25 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|
|
x |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
Y |
|
|
cosx |
S 1 x2 |
... ( 1)n |
x2n |
|
|
|
|
|
|
|
|
|
|
10 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
|
x |
1 |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n)! |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
Y |
1 |
ln |
1 x |
|
|
|
|
|
|
|
|
|
|
x5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x4n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
1 |
|
4 |
|
|
|
|
1 x |
S x |
... |
|
|
|
|
|
|
|
|
|
|
0,1 x 0,8 |
40 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
4n 1 |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
arctg(x) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Y |
|
e |
cosx |
cos(sinx) |
S 1 |
cosx |
|
... |
cosnx |
|
|
|
|
|
0,1 |
|
1 |
|
20 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|
|
x |
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Y (1 2x2)ex2 |
S 1 3x2 |
... |
2n 1 |
x2n |
|
|
|
|
|
0,1 x 1 |
10 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 1 |
|
|
|
|
1 |
x 1 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
Y |
1 |
lnx |
|
|
|
|
|
|
|
x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,2 x 1 |
10 |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
2 |
... |
|
1 |
|
|
|
|
x 1 2n 1 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2n 1 x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
2 |
|
|
2 |
|
|
|
|
|
cos2x |
|
|
|
|
|
|
|
|
|
|
|
n cosnx |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
Y |
|
(x |
|
|
|
|
|
|
|
) |
|
|
S cosx |
|
|
|
|
|
|
|
|
|
|
|
|
|
... ( 1) |
|
|
|
|
|
|
|
|
|
|
/5 x |
20 |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
3 |
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
n2 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
ex e x |
S 1 x2 |
|
... |
x2n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|||||||||||||||||||||||||||||||||||||||||||||||||
|
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
|
x |
1 |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n)! |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 Программирование в системе Delphi с использованием подпрограмм
Окончание табл. 7.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Диапазон |
|
||||||
|
Функция Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сумма S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
изменения |
n |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аргумента |
|
||||||
|
|
Y e2x |
|
|
|
|
|
|
|
|
|
|
|
S 1 |
2x |
... |
|
(2x)n |
|
|
|
|
|
|
|
0,1 x 1 |
20 |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
x2 |
|
|
|
x |
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
n2 1 xn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
Y |
|
|
|
|
|
|
|
|
|
|
1 e |
2 |
|
|
S 1 2 |
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 x 1 |
30 |
||||||||||||||||||||||||||||||||||
4 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
n! |
2n |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
Y arctg(x) |
|
|
|
|
S x |
x3 |
|
|
... ( 1)n |
x2n 1 |
|
|
|
|
|
|
0,1 x 0,5 |
40 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2n 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
Y 7x |
|
|
|
|
|
|
|
|
S 1 |
ln7 |
|
x |
|
ln2 7 |
x2 |
|
lnn 7 |
xn |
|
0,1 x 1 |
15 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Y 1 |
|
|
|
|
|
cosx |
S 1 3x2 |
|
... ( 1)n 2n |
2 |
1x2n |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
x |
1 |
|
||||
|
|
|
x |
sinx |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n)! |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Y |
|
2(cos |
2 |
|
x |
|
1) |
|
|
|
S |
(2x)2 |
|
|
|
(2x)4 |
|
... ( 1)n |
(2x)2n |
|
|
0,1 |
|
1 |
|
15 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2n)! |
x |
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
S (1 x) |
2 |
|
(1 x)4 |
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
Y ln |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
-2 x -0,1 |
40 |
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
2 2x x |
2 |
|
|
|
|
|
|
|
... ( 1)n |
(1 x) |
2n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
ex e x |
|
|
|
|
|
|
|
|
S x x3 |
... |
|
|
x2n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
x |
1 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3! |
|
|
|
|
|
|
|
|
|
|
|
(2n 1)! |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
Y |
x(3 x) |
|
|
|
|
|
|
|
S 3x 8x |
2 |
|
... n(n 2)x |
n |
0,1 x 0,8 |
40 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
(1 x)3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Y 5x |
|
|
|
|
|
|
|
|
S 1 |
ln5 |
x |
ln2 5 |
x2 |
|
lnn 5 |
xn |
|
0,1 x 1 |
15 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1! |
|
|
|
|
|
|
|
|
|
|
2! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n! |
|
|
|
|
|
|
|
|
|||||||||||||||||||
Y ln |
|
sinx |
|
|
|
|
|
|
S ln2 cos |
2x |
cos4x |
|
cos2nx |
|
|
|
x |
|
|
40 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
6 |
|
|
2 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Вычислить X 3a для заданных а и погрешности eps, используя при условии xn 1 xn eps рекуррентное соотношение:
Задания к лабораторной работе № 7 |
127 |
1
xn 1 xn 2 3
; x0 a. xn
3. Вычислить X 3a для заданных а и погрешности eps, используя при условии xn 1 xn eps рекуррентное соотношение Ньютона:
|
1 |
|
a |
|
|
xn 1 |
|
|
2 xn |
|
; x0 a. |
|
xn2 |
||||
|
3 |
|
|
4. Вычислить X 5a для заданных а и погрешности eps, используя при условии xn 1 xn eps рекуррентное соотношение Ньютона:
|
1 |
|
a |
|
|
xn 1 |
|
|
4 xn |
|
; x0 a. |
|
xn4 |
||||
|
5 |
|
|
5. Число различных перестановок с повторениями, которые можно сделать из данных элементов, вычисляется по формуле
n! P(n1,n2, ,nk) n1! n2! nk !,
ãäå n n1 n2 nk.
Например, число перестановок, которые можно сделать из букв слова «Миссисипи» (в слове всего 9 букв: 4 буквы «и», 3 бук-
вы «с», 1 буква «м», 1 буква «п»), равноP |
9! |
2520. |
|
4! 3! 1! 1!
Написать программу подсчета числа перестановок с повторениями. Задачу решить двумя способами: без применения рекурсии и с использованием рекурсивного метода.
8. ИЗУЧЕНИЕ ПРИЕМОВ РАБОТЫ С ГРАФИКОЙ В DELPHI
Целью данного раздела является изучение графических процедур и функций языка Delphi, освоение принципов и методов построения геометрических фигур, работы с цветом.
Графические элементы
Богатство изобразительных возможностей Windows связано с так называемым дескриптором контекста графического устройства DC и тремя входящими в него инструментами − шрифтом, пером и кистью.
В Delphi созданы специализированные классы-настройки, существенно упрощающие использование графических инструментов Windows: для контекста – класс TCanvas, для шрифта – TFont, для пера – TPen, для кисти – TBrush. Связанные с этими классами объекты автоматически создаются для всех видимых элементов и становятся доступны программе через свойства Canvas, Font, Pen и Brush. Однако перечисленные выше свойства доступны не у всех визуальных компонентов. Например, у геометрической фигуры Shape доступны свойства Font, Pen и Brush, а у кнопки Button –
только Font и Brush.
Canvas – это область рисунка на форме и многих других графических компонентах. Свойство Canvas предоставляет возможность манипуляции областью рисунка во время выполнения программы. Этот класс создает «холст», «канву», на которой можно рисовать чертежными инструментами – пером, кистью и шрифтом. Объекты класса TCanvas автоматически создаются для всех видимых компонентов, которые должны уметь нарисовать себя. Они инкапсулируют объекты Font, Pen, Brush, а также многочисленные методы, использующие эти объекты. Свойства класса TCanvas описаны ниже (табл. 8.1).
Изучение приемов работы с графикой в DELPHI |
129 |
||
|
Таблица 8.1 |
||
Свойства класса TCanvas |
|
||
|
|
|
|
Свойство |
Пояснение |
|
|
Property Brush: TBrush; |
Объект-кисть |
|
|
Property ClipRect: TRect; |
Определяет текущие размеры области, |
||
нуждающейся в прорисовке |
|
||
|
|
||
Property CopyMode: TCopyMode; |
Устанавливает способ взаимодействия |
||
растрового изображения с цветом фона |
|||
Property Font: TFont; |
Объект-шрифт |
|
|
|
Дескриптор канвы. Используется при |
|
|
Property Handle: integer; |
непосредственном обращении к |
|
|
|
АРI-функциям Windows |
|
|
|
Счетчик блокировок канвы. Увеличива- |
||
Property LockCount: integer; |
ется на единицу при каждом обращении к |
||
методу Lock и уменьшается на единицу |
|||
|
|||
|
при обращении к Unlock |
|
|
Property Pen: TPen; |
Объект-перо |
|
|
|
Определяет текущее положение пера в |
||
Property PenPos: TPoint; |
пикселях относительно левого верхнего |
||
|
угла канвы |
|
|
Property Pixels [Х,Y: integer]: |
Массив пикселей канвы |
|
|
TColor; |
|
||
|
|
Свойство CopyMode используется при копировании части одной канвы (источника) в другую (приемник) методом CopyRect и может иметь одноизследующих значений,описанныхниже (табл. 8.2).
|
Таблица 8.2 |
|
|
Значения свойства CopyMode |
|
|
|
|
Значение |
Пояснение |
|
cmBlackness |
Заполняет область рисования черным цветом |
|
cmDestInvert |
Заполняет область рисования инверсным цветом фона |
|
cmMergeCopy |
Объединяет изображение на канве и копируемое |
|
изображение операцией AND |
||
|
||
cmMergePaint |
Объединяет изображение на канве и копируемое |
|
изображение операцией OR |
||
|
||
cmNotSrcCopy |
Копирует на канву инверсное изображение источника |
|
cmNotSrcErase |
Объединяет изображение на канве и копируемое |
|
изображение операцией OR и инвертирует полученное |
||
|
||
cmPatCopy |
Копирует образец источника |
130 |
Изучение приемов работы с графикой в DELPHI |
|
|
|
Окончание табл. 8.2 |
|
|
|
Значение |
Пояснение |
|
crnPatInvert |
|
Комбинирует образец источника с изображением на |
|
канве с помощью операции ХОR |
|
|
|
|
|
|
Комбинирует изображение источника с его образцом с |
crnPatPaint |
|
помощью операции OR, затем полученное объединяется |
|
|
с изображением на канве также с помощью OR |
cmSrcAnd |
|
Объединяет изображение источника и канвы с помощью |
|
операции AND |
|
|
|
|
cmSrcCopy |
|
Копирует изображение источника на канву. Этот режим |
|
принят по умолчанию |
|
|
|
|
cmSrcErase |
|
Инвертирует изображение на канве и объединяет |
|
результат с изображением источника операцией AND |
|
|
|
|
cmSrcInvert |
|
Объединяет изображение на канве и источник операцией |
|
ХОR |
|
|
|
|
cmSrcPaint |
|
Объединяет изображение на канве и источник операцией |
|
OR |
|
|
|
|
cmWhiteness |
|
Заполняет область рисования белым цветом |
При выполнении графических операций используются следующие типы:
type TPoint=record
X:Longint;
Y:Longint;
end;
TRect= record Case integer of
0: (Left, Right, Top, Bottom: integer); 1: (TopLeft, BottonRight: TPoint); end;
Координаты
Для построения изображений на экране используется система координат. Отсчёт начинается от верхнего левого угла поверхности рисования, который имеет координаты (0,0). Значение X (столбец) увеличивается слева направо, значение Y (строка) увеличивается сверху вниз.