2.10.1 For Next
:
For _ = _ To _
[Step ]
[Exit For]
Next [_]
For VBA (), ;
_ , ;
_ , ;
To VBA (),
_ _;
_ , ,
;
Step VBA (),
, ;
, , .. ,
( )
.
;
Exit For ();
Next VBA (),
.
:
1 , .
2 .
3 .
, , .
4 .
5 . 3.
.
1 Step, , . Step , .
1.
For I = 0 To 10 Step 2 ( I 2)
2 For Next . Exit For.
2.
Dim S As Integer
Dim j As Integer
S = 2
For j = 1 To 10
S = S + j
If S > 6 Then
Exit For ( , S > 6)
End If
Next j
MsgBox (S)
2.10.2 ()
- ( ) , - , .
VBA DO LOOP , While, , Until. .
:
Do While | Until <> < > Loop | Do < > Loop While | Until <> |
Do ();
While ();
Until ( );
Loop , ;
<> ,
|
|
;
<_> ;
Do While : . Do While , .. For, .
Do Until : , . Do Until , .. For, .
, Until, ( ). , , While. (True), . ( False), .
1.
. -.
:
1 : i Î Z
: S Î R.
2 , While:
Sub summa()
Dim S As Integer
Dim i As Integer
S = 0
i = 1
Do While i <= 10
S = S + i ^ 2
i = i + 1
Loop
MsgBox (S)
End Sub
3 , Until:
Sub summa()
Dim S As Integer
Dim i As Integer
S = 0
i = 1
Do Until i > 10
S = S + i ^ 2
i = i + 1
Loop
MsgBox (S)
End Sub
4 , While:
Sub summa()
Dim S As Integer
Dim i As Integer
S = 0
i = 1
Do
S = S + i ^ 2
i = i + 1
Loop While i <= 10
MsgBox (S)
End Sub
5 , Until:
Sub summa()
Dim S As Integer
Dim i As Integer
S = 0
i = 1
Do
S = S + i ^ 2
i = i + 1
Loop Until i > 10
MsgBox (S)
End Sub
4
: -, () , , . 4 19, 20 (2 ).
19
, () | ||
19
20
5 , . P=M*V/Q P - ; M - ; V - ; Q - . |
20
|
|
10000 . 5 10% . 10000 . FV=PV*(1+R)^N FV - ; PV - ; R - ; N - . | |
VP VP=VN/P. P P1 P2, = 1. 1 - ; P2 - ; VP - ; VN - ; - . | |
, P, 300 , . : = *100/ | |
6 , , %, : 1 = .* /12 .. I = S * N/12 I - ; S - ; N - (8.9%). | |
5 .. (R) 10% . , (FV), , (PV) 10 . ., , 5. | |
1626 . 20$. 4% , 1996 ? | |
() (P), : C = F*Q, P = F*S F - ; Q, S . |
20
A B : C = (D-E)/D*100, F=D-J/D*100 C - A+I+1 ; D - A+I+1 ; E - A+I ; F - A B , A = 1990 , B = 1993 . | |
20 , : 5 800.000 , 7 500.000 , 8 300.000 , , : P = K/N P - , K - ; N - . | |
PV = (I = 1.. N) P/(1+ R) PV - ; P ; R - ; N - . | |
, : - 1500 .; 1004; 140; 200; 20. | |
, : = / , , 2 . | |
1995 500 .. (18 ), 5 ? |
20
, , [DN, DK] H. Y = ((D*D+1)/D)*100% D . | |
() = (+)/2* - ; - ; - . | |
50 , 30 20 . 12 6 , 8 6 . . | |
N t : A = N*P%*t/100%*360 A - ; t - ; P - . | |
2 . 10000 , 1.4% . : S = P*N*K/100% - ; P - ; N - ; S - . | |
, f , t- , . |
2.11
|
|
2.11.1
. [a,b] h f(x)=x2+Ln|x| .
:
{x0,x1,x2, , xi}, x0 = , x1= x0+h, , xi = xi-1+h, xn = b.
f xi, f(x0), f(x1), , f(xi), f(xn).
I
1 :
n, xk ;
h ;
;
f .
2 , For:
Sub primer()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim h As Single
Dim f As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
h = InputBox("h=", h)
For x = xn To xk Step h
f = x ^ 2 + Log(Abs(x))
f = Format(f, "##.####")
x = Format(x, "##.##")
Debug.Print " x= " & x & " f= " & f
Next x
End Sub
II
1 :
n, xk ;
h ;
;
f .
2 , :
Sub primer ()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim f As Single
Dim h As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
h = InputBox("h=", h)
x = xn
Do
f = x^2+log(ABS(x))
Debug.Print "x= " & x & " f= " & f
x = x + h
Loop While x <= xk
End Sub
2.11.2 ( )
. xn≤x≤xk Δ, n≤y≤yk Δ z=x2+ln|y|.
:
{i, yi}, x0 = xn, x1 = x0+hx, , xi = xi-1+hx, , xn=xk; y0 = yn, y1 = y0+hy, , yj = yj-1+hy, , ym=yk.
- ,
- y.
z xi yj, z(xi,yj), z(xi,yj)=x2+ln|y|, i=1,2, n, j=1,2, m.
I :
1 :
,y ;
f ;
n, xk,yn,yk ;
h,hy .
2 , For:
|
|
Sub primer()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim yn As Single
Dim yk As Single
Dim f As Single
Dim hx As Single
Dim hy As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
yn = InputBox("yn=", yn)
yk = InputBox("yk=", yk)
hx = InputBox("hx=", hx)
hy = InputBox("hy=", hy)
For y = yn To yk Step hy
For x = xn To xk Step hx
f = x^2+log(ABS())
Debug.Print "x= " & x & " y= " & y & " f= " & f
Next x
Next y
End Sub
II
1 :
,y ;
f ;
n, xk,yn,yk ;
h,hy .
2 , :
Sub primer ()
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim yn As Single
Dim yk As Single
Dim f As Single
Dim hx As Single
Dim hy As Single
xn = InputBox("xn=", xn)
xk = InputBox("xk=", xk)
yn = InputBox("yn=", yn)
yk = InputBox("yk=", yk)
hx = InputBox("hx=", hx)
hy = InputBox("hy=", hy)
y = yn
Do
x = xn
Do While x <= xk
f = x^2+log(ABS(x))
Debug.Print "x= " & x & " y= " & y & " f= " & f
x = x + hx
Loop
y = y + hy
Loop Until y > yk
End Sub
5
: y=f(x) [a,b] h z=f(x,y) [a,b] [c,d] hx hy -. 5 21 (2 ).
21
7 , =0.14, =0.22 |
21
, =0.792 | |
b | |
, , , , | |
, =0.8, b=2.2 | |
6 , , | |
, , , =0.44 | |
, , , , , , =0.087 |
21
=0.881, =0.96, =1.44 | |
4 , , , =1.44 | |
, , 1=0.74, b1=1.56, 2=0.22, b2=0.88, =0.567 | |
, , , , , = 0.416 | |
4 , z=0.2, | |
: ; =0.14 | |
z ; =1.15 |
21