( ) :
:
;
;
( ) , ;
.
.
.
.
.
.
() , . - Algorithmi. .
, . . . . . , , ( , , , ..)
:
1. - , .
2. - , . ().
3. - , . .
4. (). , .
5. - , , .. , .
:
;
, , , ..;
;
;
( ).
|
|
:
;
;
.
, . , , ( ).
. , . -. - ( , , , , ..) , .
, . 1 .
1
, | ||
/ | / | |
- | , , | |
, , . .
. , , .
- , . , , .
, , .
, , :
;
;
.
, .
- , / , , . 1.
|
|
. . , , . ( 1 2) ( 3 4). ( ) .2. ). ( 1 2), , . 2. ), ( ).
, . 3.
( ) .
. 4. ) ) - () .
, 1..n( ) , (. 4. ). (. 4. ).
. 5.,
V ;
V1 ( );
V2 ( );
V3 ( );
, .
. ( ). .
. 6. ).
-
1. :
: S - ;
r - ;
pi - ;
l - .
2.
F(x)=sinx/x, F(x)=1, .
: F=F(x); sin(x)=sinx
3. , x1, y1, x2, y2.
4. S i^2, i 1 5 1. .
5. y=sin2x 4<=x<=5 h=0.1.
3.2 . Visual Basic for Applications(VBA)
, . . , . . . , . . , , .
Visual Basic , - .
Windows , , Visual Basic for Applications. Visual Basic for Applications - . . , - Microsoft Office, . Excel , Excel .
|
|
. :
53 () (_);
10 (0 - 9);
23 (+ - * /.,:; = < > () [ ] & $ @ ^ \);
(<> <= >=);
, . , , .
:
;
;
.
() , . , Until, Goto, If, Loop, For . .
, , , , . :
255 ;
, , %, &,!, #, @, $;
, , ;
, ;
, ;
( ) , . , , _ _.
,
, , . . , - .
Dim :
Dim < >[As ], < > [As ],
Dim - ;
() - , VBA;
VBA,. 9.1.
VBA
, .
() | ||
Byte() | 0..255 | |
Boolean() | True False | |
Integer() | -32 768.. 32 767 | |
Long( -) | -2 147 483 648.. 2 147 483 647 | |
Single() | -3,402823E38..- 1,401298E-45 ; 1,401298E-45.. 3,402823E38 | |
Double | 1,79769313486232 E 308 | |
Currency( . ) | 22337203685477,58 922337203685477,58 | |
Date | January 1, 100 December 31,9999 | |
String( ) | 10 + | 0 2000000000 |
String( ) | 1 1 | 0 2000000000 |
Variant | ||
Variant | 22+ | String |
Object | ||
, Type |
|
|
, Variant .
Dim . , A B, (Integer), C (Single). Dim A AS Integer, B AS Integer, C As Single.
, , . . , . Const :
Const < > [AS ] = <>,
- , VBA;
VBA,.1..
, , , Is.
_.
Const =
Const _ As Single = 0.2
VBA , , :
;
;
;
;
;
.
Abs (x) - x
Cos(x) - x
Exp(x) - x
Log(x) -
Rnd - [0,1]
Sin(x) - x
Sqr(x) -
Atn(x) -
Tan(x)
Sgn(x)
Fix(x) Int(x) . . Int(x) , , Fix(x) , .
- : | |
IsArray() | |
IsDate() | |
IsError() | |
IsNull() | |
IsNumeric() | |
IsObject() |
Variant(String), , :
Format([, [, [, ]]]), :
( , , , , );
( ).
$, String.
:
0 . . - , 0, , , .
# - 0 , .
. , , .
% - .
. .
FIXED, .
.
Format(Z, "###0.0") Z , .
Val() , , .
Str() Variant (String), .
|
|
Val Str .
:
Chr() ASCII . , Chr(10) , Chr(13) .
Mid(string, pos[,length]) , ,
String , ;
Pos String, ;
Length .
Len() .
Variant, , . . Date , .
, . , , . :
;
;
.
.
, . , , . , . .
, .
:
- .
- True () False (),
x + y > z;
True False , A Or B, A B . True False, , A B.
.
(+), (-), (*), (/), (\), (^), (mod).
(=), (<>), (<=), (>=), (<), (>), (Like).
(And), (Or), (Not), Or (Xor).
(+), &.
:
. VBA.
2+ 2**+^2
sqr(x+a)
exp(x)
lntgx Log(Tan(x))
Sinx Sin(x)
Rnd+2a Rnd+2*a
VBA
, . :
;
( - );
( );
.
: Sub < >()
.
( ), , .
VBA , :
Sub Prim1()
{ -
Const <= >
Dim< > As ,}
{
< >,
< >}
End Sub
:
, .
, . A=A+B X=Sin(x): Y=Y^2
:
, . ( Win 95).
.
. - , . . Rem.
:
, ;
.
.
Prim1
SUB Prim1()
C
Dim C As Integer
3.3 VBA
. Visual Basic for Applications , Visual Basic 5.0. Visual Basic , , , .
, ,
. (Excel, Word)
, Visual Basic.
VBA
. , . Option Explicit. , , , . , . Option Explicit , .
. . . . VBA . . . , , , , . , .
. :
;
;
.
, , . . Enter. , , , .
, Option Explicit, , , , , .
. . , . - , .
. , , . .
VBA
Sub DEMOLB9()
Dim A As Single A
Dim B As Integer B
Dim C AS String C
Dim D As Single D
A = Rnd A [0,1]
A = A + 12.7
B = Int(A) B A
D = -123.56
D = Fix(D) D D
C = " "
MsgBox " A= " & A & (Chr(10) & Chr(13)) _
& " B= " & B & (Chr(10) & Chr(13)) _
& " D= " & D, vbInformation, Date & C
End Sub
3.4
,
:
[Let]< > ( < >= <>, :
< >, < >- , VBA.
- , .
.
, . :
Y=Sqr(X)
A=22.5
D=Exp(A)
S=S+R
F=X^2
x=5: x=x+2 x 7.
VBA ():
(InputBox);
(MsgBox);
Inputbox. InputBox :
, .10.1.),), , , , ;
;
String, , .
:
Inputbox([, ][, ][, ][,]),
, . . (Chr(13)), (Chr(10)) (Chr(13)) & (Chr(10)).
, . , .
( ).
InputBox [,], , .
A B , InputBox, .
A=InputBox( , B A)
B= InputBox ( , B B)
» , , 22 7.
MsgBox .
MsgBox:
MsgBox ( _1 [, ][, _2][,]), :
_1 , ;
, .1.1.
_2 , .
MsgBox, .
VbCritical 16
VbQuestion 32
VbExclamation 48
VbInformation 64
MsgBox , , [,]
MsgBox .
MsgBox C=A MOD B & (Chr(13)) & (C(10)) & _
: & A= & A & B= & B & (Chr(13) & Chr(10)) & : & C= & C,
_ Vbinformation,: & Date & .
:
& ;
(Chr(13) & Chr(10)) - ,
.
:
T=(1-x)/(3*x-2*y)
P=x*(X-y/(1+x))/2
Z=T-P
Sub primLin()
Dim X, Y, T, P, Z As Single
X = InputBox(" ", " ")
Y = InputBox
T = (1 + X) / (3 * X - 2 * Y)
T = Format(T, "###0.0")
P = X * ((X - Y) / (1 + X)) / 2
P = Format(P, "###0.0")
Z = T - P
Z = Format(Z, "###0.0")
MsgBox " x= " & X & " y= " & Y & (Chr(10) & Chr(13)) & _
" T= " & T & " P= " & P & " Z= " & Z, _
vbInformation, " : " & Date
End Sub
3.5
, , () . . , .8.2.).- . 8.2.). (If...Then... Else) (Select Case... EndSelect). GOTO < >, . , , , . :
Goto < >
. Goto < > If, .
If
VBA : . :
If < > Then < _1 > [Else < 2 >]
If(), Then(), Else()- () .
. If : ( True), _1( ), _2( ). , , .
If.
If x>0 Then x=x+1 Else x=0
If x>0 Then x=x+1: MsgBox x Else x=0
If y>0 Then y=sqr(y)
If, . Else Then.
:
If < > Then
< >
ElseIf < > Then
< >
ElseIf < > Then
..
..
Else
< >
End If
. - .
If
1.
Sub ()
Dim a, b, c
: a, b, c. ,
, a, b, c
.
a=Val(InputBox( 1 ))
b= Val(InputBox( 2 ))
c= Val(InputBox( 3 ))
If (a+b)>c And (a+c)>b And (b+c)>a Then
MsgBox
Else
MsgBox
End If
End Sub
: =8, =5, =4 =10, =5, =4
2.
IsNumeric - A B, C= A MOD B, True, .
Sub Ostatok()
Dim A,B,C As Integer
A= Val(InputBox( , B A))
B= Val(InputBox ( , B B))
If IsNumeric (A) And IsNumeric (B) THEN
C=A MOD B
MsgBox C=A MOD B & (Chr(13)) & (C(10)) & _
: & A= & A & B= & B & (Chr(13) & Chr(10)) & : & C= & C, _
Vbinformation,: & Date & .
Else
MsgBox
End Sub
Select Case
, . Select Case , , .
Select Case:
Select Case < - >
Case < _ _1> 1
< ()_1 >
.
Case < _ _n > n
< ()_n >
[Case Else
[<()_Else >]]
End Select
, , , Case, Else, , . , . :
;
;
Is.
Else ( ) , - Case.
:
- ;
- ;
, . , End Select.
, Else ( ), , End Select.
1. .
Sub Sport_()
Dim X, Y, Z As Single
X=InputBox( - / )
Y= InputBox ( - / 10 )
Z=Y/X
Select Case Z
Case Is < 0.5
MsgBox ,VbInformation, _
-
Case 0.5 To 0.7
MsgBox , , VbInformation, _
-
Case Is > 0.7
MsgBox , VbInformation, _
-
End Select
End Sub
: =90, = 80, z= 0.89; x=90, y=60, z=0.66
x=100 y=49 z=0.49
3.6
. . . : - . . . .
VBA :
Do While < > - Loop
:
Do While < >
<>
[Exit Do]
<>
Loop
, <> .
< > - , True() False().
Exit Do Loop - . . 0. :
<>. <> True, , ( Loop) , <> False.
<> False, , . . , Loop.
1. N!, N =10
Sub Factorial_1()
Dim N, Fact As Long N Fact
Fact=1 Fact
N=1
Do While N<=10 ,
Fact= Fact *N
MsgBox Fact, Vbinformation,
N=N+1
Loop
MsgBox fact= & fact, Vbinformation,
End Sub
Do - Loop Until < >
Do
< >
[Exit Do]
< >
Loop Until < >
, . , . , .8.4.)
, , .
.
2. N! N =10.
Sub Factorial_2()
' N,Fact
Dim N,Fact As Long
Fact = 1 '
N = 1 ' n
Do
Fact = Fact * N '
'
MsgBox Fact,vbInformation, " "
N = N + 1 '
Loop Until N >= 10
'
MsgBox "fact=" & fact,vbInformation, " "
End Sub
:
Do Until < > Loop
_ Do Until < >
< >
[Exit Do]
< >
Loop
Until , , . 0.
Do - Loop While <>
Do
<>
[Exit Do ]
<>
Loop While <>
, < >
While < > - Wend.
While < >
< >
Wend
, True.
3. f(x) = sin(x) 1<=x<=2 h=0.1
Sub FN()
Dim X, f, H As Single, S, S1
X = 1
H = 0.1
While X <= 2
F=Sin(X)
F=Format(F, ###0.000)
S=S & Str (F)
S1=S1 & Str(X)
X = X + H
X=Format (X, ###0.0)
MsgBox X = & S1 & & (Chr(10) & Chr(13)) _
& F = & S & & (Chr(10) & Chr(13)) _
, VbInformation, F
Wend
End Sub
3.7
For - Next
, , . :
For < > = <S1> To <S2> [Step <S3>]
<>
Next < >
For Next ;
< > - , ;
<> - ;
S1 S2 , ;
S3 , S1 S2. S3>0, , S1<=S2, , S3<0 S1>=S2. S3 FOR, +1.
1. 1 10.
S=
For I=1 To 10
S=S+Str (I)+
Next I
MsgBox S & 1 10
For , .
<S2>, , For.
2. For 0 2 0,5 MsgBox .
K=0
For x=0 To 2 Step 0.5
K=K+x^2
Next X
MSGBOX 0 2 0,5 = &
For - Each Next
:
For Each In
[]
[Exit For ]
[]
Next []
( , . 15).
, . (). VBA , . , , . . .
, . .
:
Dim <> ([< TO>] < >) As <>
<> - ;
< > - , .
< > - . , VBA , .. 0 , 1 .. , Option Base 1 To ,
3.
, 10
Dim A(9) As Single
, 5
Dim A(1 TO 5) As Byte
. . , :
m, ReDim.
4.
Dim C() As Single
m=InputBox( , _ )
ReDim C(m)
, . , A A(2).
, . , , .
, , For , () . , .
.
Dim A(10) As Single, D(10) As Single
Dim I As Integer, J As Integer, K As Integer,VS As Single
For I=0 To 10
A(I)=0
Next I
-
For I=0 To 10
A(I)=InputBox (I=+STR(I), A)
Next I
S=
For I=1 To 10
S=S & A(I) &
Next I
MsgBox S,, A 10
For I=0 To 10
D(I)=A(I)
Next I
. - N A. .
K=0
N=0
For I=0 To 10
IF A(I)=0 Then
K=K+1
ElseIf A(I)<0 THEN
N=N+1
End If
Next I
, .
A, X:
X=A(i): A(i)= A(i+1): A(i+1)=X
.
) ) .
3.8
1. X, 10 , .
.
:
Sub Primer1()
Dim X(9) As Single, MAX As Single, IMAX As Byte
Dim S As String
For I=0 To 9
X(I)=InputBox (I=+Str (I),, X)
Next I
MAX=X(9)
IMAX=0
For I=0 To 9
If X(I)>MAX Then
MAX=X(I)
IMAX=I
EndIf
Next I
S= +Str (MAX)
S=S+ +Str (IMAX)
MsgBox S,,Ҕ
End Sub
:
X(0)=10 X(1)=-1 X(2)=0 X(3)=0.5 X(4)=1.5 X(5)=1 X(6)=-0.1 X(7)=0.1 X(8)=0.35 X(9)=-1.5
10, 1.