3
FOR
1
.
2.
2.1. .
. .
.
:
1) ;
2) ();
3) ();
, , . :
1) for i:=n to k do <>;
2) for i:=n downto k do <>;
For (), to (), downto ( ), do ()- ; i ; n k , ; <> . ( real).
i<=k to (i>=k downto). , (True).
:= succ(i) ( to) :=pred(i) ( downto). : i<=k ( i>=k) , . , i 1 1. , 1 1.
: 1 10. p=2*k, m=2*k-1, k=1,2,...,n. , k 1 5. , c .2.1 ( ):
For k:=1 To 5 Do
Begin
m:=2*k-1;
p:=2*k;
Str(m:4,Sm); Str(p:4,Sp);
ListBox1.Items.Add(m=+Sm+ p=+Sp);
End;
|
m: 1 3 5 7 9 p: 2 4 6 8 10
:
1) , ;
2) , , , , . , Break.
|
|
, - , , . Continue.
Break Continue. :
:
k=0 ;
k= 2, k= 3 k= 3 , .
"n" .
"k" . "", , : >107 . :
p:=1;
For i:=-5 To n Do
If p>1E7 Then Break
Else
If (k=0) or (k=-2) or (k=-3) or (k=3) Then Continue
Else p:=p*(k+2)/k*(k*k-9);
. . . , , . .
. , (2n+1)! n 1 5.
, (n)! : (n)!=1*2*3*...*(n2)*(n1)*n
(.2..4.2) : ( , 1...32767. n , ).
Function Fact(n:integer):Real;
Var m,i:integer;
Begin
For i:=1 To n Do
Begin
fact:=1;
For m:=1 To 2*n+1 Do
fact:=fact*m;
End;
:
n=1 = 6
n=2 = 120
n=3 = 5040
n=4 = 362880
n=5 =39916800
|
2.2.
1. . , .
Button1, Button2 StaticText, Additional. 2.1.
2.1
Form1 | Caption Position | PoScreenCenter |
Button1 | Caption | |
Button2 | Caption | |
StaticText1 | Caption BorderStyle Font | SbsSunken |
. 2.3:
|
|
.2.3
Button1:
Procedure TForm1.Button1Click(Sender:Tobject);
Var St:Char; So:String[80];
Begin
So:=;
For st:=A To Z Do
So:=So+St+ ;
StaticText1.Caption:=So;
End;
:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2 . .
: Button, ' Label, Edit. Label . , . 2.4
, 2.2
2.2
Form1 | Caption Position | PoScreenCenter |
Button1 | Caption TabOrder | |
Button2 | Caption | |
Button3 | Caption | |
Label1 | Caption | |
Label2 | Caption | N= |
Label3 | Caption | |
Edit1 | Text TabOrder | '' |
Label4 | Caption | '' |
. 2.4.
OnActivate :
procedure TForm1.FormActivate(Sender: TObject);
Begin
Button1.Enabled:=False;
Label3.Hide; Label4.Hide;
End;
Edit1. Button1 (г) . , N.
, OnChange Edit1. 䳿 .
procedure TForm1.Edit1Change(Sender: TObject);
Begin Button1.Enabled:=True; End;
ϳ OnClick . 䳿
procedure TForm1.Button1Click(Sender: TObject);
Var n:integer; Sn:String[20]; kod1:Integer;
pr:Real; Spr: String [20];
Begin
Sn:=Edit1.Text; Val(Sn,n,kod1);
If (kod1<>0) Then
Begin
ShowMessage(' !'+#13+
' !');
Edit1.Clear; Button1.Enabled:=False;
Edit1.SetFocus; exit;
End;
Label3.Show; Label4.Show;
Pr:=proiz(n);
Str(Pr:1:2,Spr);
Label4.Caption:=' N='+Sn+' ='+Spr;
End;
䳿 , , Label3, Label4. , , Implenentation. 2.5.
Implementation
{$R *.DFM}
Function Proiz(n:Integer):Real;
Var s,p:Real; j,k:integer;
Begin
p:=1;
For k:=1 To n Do
Begin
s:=0;
For j:=k To n+1 Do
If j=1 Then Continue Else s:=s+(j+1)/(j-1);
If k=2 Then Continue Else p:=p*(k-2)/(k+1)*s;
End;
Result:=p;
End;
.2.4.
, . 䳿 :
procedure TForm1.Button2Click(Sender: TObject);
Begin
Edit1.Clear; Edit2.Clear; Edit1.SetFocus;
Edit2.Enabled:=False; Button1.Enabled:=False;
Label3.Hide; Panel1.Hide;
End;
3 :
: Button, Label, Edit Panel . , .2.5.
|
|
2.6.
2.3.
2.3
Form1 | Caption Position | PoScreenCenter |
Button1 | Caption TabOrder | |
Button2 | Caption | |
Button3 | Caption | |
Label1 | Caption | |
Label2 | Caption | X= |
Label3 | Caption | N= |
Label4 | Caption | |
Edit1 | Text TabOrder | '' |
Edit2 | Text TabOrder | '' |
Panel1 | Caption BevelInner BevelOuter BevelWidth BorderStyle BorderWidth | '' bvRaised bvRaised bsSingle |
OnActivate 䳿:
procedure TForm1.FormActivate(Sender: TObject);
Begin
Edit2.Enabled:=False; Button1.Enabled:=False;
Label3.Hide; Panel1.Hide;
End;
Edit. ³ Edit2 Button1 (г) . , X N. Edit2.
Edit2, , OnChange Edit1 Edit2. .
procedure TForm1.Edit1Change(Sender: TObject);
Begin Edit2.Enabled:=True; End;
procedure TForm1.Edit2Change(Sender: TObject);
Begin Button1.Enabled:=True; End;
ϳ OnClick г. 䳿 .
procedure TForm1.Button1Click(Sender: TObject);
Var x:real;n:integer; Sx,Sn: String [20];
kod1,kod2:Integer;
sm:Real; Ssm: String [20];
Begin
Sx:=Edit1.Text; Sn:=Edit2.Text;
Val(Sx,x,kod1); Val(Sn,n,kod2);
If (kod1<>0) or (kod2<>0) Then
Begin
ShowMessage(' !'+#13+
' !');
Edit1.Clear; Edit2.Clear;
Edit2.Enabled:=False; Button1.Enabled:=False;
Edit1.SetFocus;
Exit;
End;
Label3.Show; Panel1.Show;
Sm:=Sum(x,n);
Str(Sm:1:2,Ssm);
Panel1.Caption:=' ='+Sx+' n='+Sn+' ='+Ssm;
End;
䳿 , , Label3, Panel1. -, , Implenentation.
: (2k+1) IntPower(, (2*+1)), Math.
Uses , , :
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Math;
:
Function Sum(x:Real;n:Integer):Real;
Var s,a:Real; j,k:integer; Fakt:Real;
Begin
s:=0; .2. 7.-
For k:=1 To n Do Sum
Begin
Fakt:=1;
For j:=1 To 2*k-1 Do
Fakt:=Fakt*j;
a:=IntPower(x,(2*k+1));
s:=s+a/Fakt;
|
|
End;
Result:=s;
End;
.2.8
, .
䳿 :
procedure TForm1.Button2Click(Sender: TObject);
Begin
Edit1.Clear; Edit2.Clear; Edit1.SetFocus;
Edit2.Enabled:=False; Button1.Enabled:=False;
Label3.Hide; Panel1.Hide;
End;
4. X Y . , y=f(x) b h.
:
: Panel1, Panel2, ͻ, XY. , , ͻ Edit: Edit1, Edit2, Edit3. Memo1. Chart, Additional. , : Button1, Button2 Button3. : Label1, Label2, Label3.
2.4.
2.4
Form1 | Caption Position | PoScreenCenter |
Button1 | Caption TabOrder | |
Button2 | Caption | |
Button3 | Caption | |
Label1 | Caption | |
Label2 | Caption | |
Label3 | Caption | |
Edit1 | Text TabOrder | '' |
Edit2 | Text TabOrder | '' |
Edit3 | Text TabOrder | '' |
Panel1 | Caption BorderStyle | A B H BsSingle |
Panel2 | Caption BorderStyle | X Y BsSingle |
Memo1 | ScrollBars | SsVertical |
Chart1 | * | * |
, Chart, . , ', Add Chart. 3D Line, Chart . , , Legend, Visible .
Titles, Backspase TChart. . , .2.9.
.2.. 5
2.9.
䳿 OnCreate, ( ). ϳ 䳿
procedure TForm1.FormCreate(Sender: TObject);
Begin
Label2.Hide; Label3.Hide; Panel2.Hide;
Memo1.Hide; Chart1.Hide;
Button1.Enabled:=False;
Edit2.Enabled:=False; Edit3.Enabled:=False;
End;
Edit. ³ Edit2, Edit3 Button1 () . , , H. Edit2, Edit3 OnChange Edit1, Edit2 Edit3. .
procedure TForm1.Edit1Change(Sender: TObject);
Begin
Edit2.Enabled:=True;
End;
procedure TForm1.Edit2Change(Sender: TObject);
Begin
Edit3.Enabled:=True;
End;
procedure TForm1.Edit3Change(Sender: TObject);
Begin
Button1.Enabled:=True;
End;
ϳ OnClick . 䳿 .
procedure TForm1.Button1Click(Sender: TObject);
Var a,b,h:real;
k1,k2,k3:integer;
Begin
val(Edit1.Text,a,k1); val(Edit2.Text,b,k2);
val(Edit3.Text,h,k3);
If (k1<>0) or (k2<>0) or (k3<>0) Then
Begin
ShowMessage(' !'+#13+
|
|
' !');
Edit1.Clear; Edit2.Clear; Edit3.Clear;
Edit2.Enabled:=False; Edit3.Enabled:=False;
Button1.Enabled:=False;
Edit1.SetFocus;
Exit;
End;
Panel2.Show; Memo1.Show; Label2.Show; Label3.Show;
Chart1.Show;
Tabul(a,b,h);
End;
-, Implementation. :
Procedure TForm1.Tabul;
Const n=9;
Var x,s,z:real; sx,ss:String[20];
i,k,m:integer;
Begin
Memo1.Clear;
Series1.Clear;
m:=Trunc((b-a)/h)+1;
For i:=1 To m Do
Begin
x:=a+(i-1)*h;
s:=0; z:=-0.5;
For k:=1 To n Do
|
z:=-z*x*x/(2*k-1)/(2*k);
s:=s+z;
End;
str(x:8:2,sx); str(s:10:2,ss);
memo1.Lines.Add(' '+sx+' '+ss);
Series1.AddXY(x,s,'',clRed);
End;
End;
, Memo1 Chart1( - Series1.AddXY). private :
procedure Tabul(a,b,h:real);
Implementation :
Procedure TForm1.Tabul;
, , .
䳿 :
procedure TForm1.Button2Click(Sender: TObject);
Begin
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit1.SetFocus;
Edit2.Enabled:=False; Edit3.Enabled:=False; Button1.Enabled:=False;
Label2.Hide; Label3.Hide; Panel2.Hide; Chart1.Hide; Memo1.Hide;
End;
.2.. 6
.2.11.
3.
1. ?
2. ?
3. For?
4. , ?
5. ( ):
) m:=2; n:=3; ) n:=-7; m:=2
For k:=1 To n Do n:=n+m; For k:=n Downto m Do k:=k+1;
6. l ( ):
) l:=1; ) l:=1; n:=9
For k:=1 To 5 Do m:=-3; For k:=n Downto m Do
For i:=1 To 10 Do l:= l +1;
l:= l +1;
1 .
2 , s ( s . 4.1 ).
3 f(x), x 0,4 2,8 0,2. f(x) . 4.1 ( x).
4 2, 3 .
2.5
1 | 3 | ||
5 | 6 | ||
8 | 9 | ||
10 | 12 | ||
13 | 14 | 15 | |
16 | 17 | 18 | |
19 | 21 | ||
22 | 23 | 24 | |
25 | 26 | 27 | |
28 | 29 | 30 | |