< 1 , 1 >
ElseIf <2> Then
< 2 , 2 >
ElseIf <3> Then
< 3 , 3 >
..
Else
< , , If ElseIf>
End If
If:
If R Then MsgBox
:
R = False
If X < X1 Then
GoTo 10 ,
ElseIf X > X2 Then
GoTo 10 10
ElseIf Y < Y1 Then
GoTo 10
ElseIf Y > Y2 Then
GoTo 10
Else
R = True
End If
10: MsgBox R
ElseIf () Else . End If.
, IF, GoTo. N10 MsgR.
, , Select Case:
Select Case <>
Case < 1> Case is < 1>
< 1 , 1
1>
Case < 2> Case is < 2>
< 2 , 2
2>
.
End Select
:
= TextBox1.Value
Select Case
Case Is < 13
Label1.Caption = " 22-00 !"
Case 16
Label1.Caption = " "
Case Is < 18
Label1.Caption = " !"
Case Is >= 18
Label1.Caption = " !"
End Select
. , :
1) ;
2) , ;
3) () , , , ;
4) , , 2 (IF <> GoTo < 2>).
, . 4.1 -. , VBA, , . , , . J- Excel 20, 7777:
|
|
J = 1: S = 0
For I = 2 To 20 Step 2
F = Cells(I, J).Value
If F = 7777 Then Exit For ' - Next
S = S + F
Next I
MsgBox "i= " & Str(I-2) & " S=" & Str(S)
, S . For-Next.
, .. (Step) (Exit For). , . 10.5 (. 10.4), TabCXCY TabA. () .
, , Do-Loop. 4 :
True Do While <> <, > Loop | False Do Until <> <, > Loop |
True Do <, > Loop While <> | False Do <, > Loop Until <> |
10.3, 10.4. , , Exit Do, , , - . , Do While Do Until , Do Until Do While Not. (Loop , ).
.
-, , , .
-, MsgBox, Caption Label ( ) Text TextBox ( ). . , . - , , .
-, VBA . ( ) , . . Excel ( ). , Visual Basic, . ( ), . <Ctrl>+<F8> - . , . , <F8> <Shift>+<F8> ( ) <Shift>+<Ctrl>+<F8> ( . ).
|
|
, .
10: ; VBA; , Excel, , VBA, ; , , ; ; ; ; VBA; , , ; Option Explicit; , , , , ; ; ; , ; , - ; Visual Basic; ; ; ; ; ; ; .
11.
Access VBA. , .
11.1.
1. () Access. , . , , .mdb.
2. : . ( . . , ). , . . , . , , , - . : _, , . . . , , , .
3. . - . 9.3. , , . , . , .
|
|
4. . , , . 9.3. , , - . , , .
, . , , - . 9.3. - .
6. , , , . , , , 1001. (=1001). 1001, , . 1001.
. 11.1.
. . , . , : .
: , , ..
11.2.
1. , . 10.5. :
MNTab - M, N - ,
TabCXCY - CX, CY,
TabA - Excel A,
XAI (I) - x aI () I- Excel,
Jordan (r) - ( ) A Excel, TabA, CX(r) CY(r) Excel, Excel A.
2. Excel BTN1 ( Caption) .
3. BTN1_Click :
- M, N, , M N;
- CX, CY, A Excel;
- N (r , ; ); Jordan (r) , A(r,r) :
For r = 1 To N
If Abs(A(r, r)) < 0.000000001 Then
|
|
MsgBox " ()": Exit Sub
End If
Jordan r
Next r
( );
- Xi (i=1,,N) y Ai XAI; , , N , A A -1, CX CY CX Yj (j=1,,N), CY ( Excel) X1,,XN. Xi (i=1,,N).
. 10.4 , A (. . 10.5) , Yi X1,, XN: Yi = x ∙ Ai. , Xj (- x ), Yi (- y ). Arr , Xr Yr , A :
- A(r,r)=1/A(r,r),
- A(i,r)=A(i,r)/A(r,r), i=1,, N,
- A(r,j)= - A(r,j)/A(r,r), j=1,, N,
- A(i,j) = (A(i,j) ∙ A(r,r) A(i,r) ∙ A(r,j)) / A(r,r).
, N , y ( ), x . , Xi, Yj: X(i)= y ∙ Ai.
. . , N=3, x , : x ={1,2,3}.
, A, , A ={11,13,13; 21,22,24; 30,32,33}, y ={76, 137, 193}. X1=1, X2=2, X3=3. .
2
.., .. . : , 1967. 460 .
11.3.
: , (- ), . , . 10.5. , y ={Y1,,YN} c x ={X1,,XN} (. ), -. , Excel (, : 1,, M), (, X1,, XN). , .
- . , M , N ( M>N). . , . , . , - , . - () . Xjo , Sjk, :
Sjk : j k, i- , M, M / (M-1). , , .. .
|
|
2 Excel , 1 (. . 10.5), M ∙ N, N ∙ N, () . 1 , . 1 BTNSTAT ( Caption) . BTNSTAT_Click M, N, CX , A (. , 10.4 . 10.5). , .
. Sjj sj, - ( ). Excel .
: , j, , k . Xj Xk, , , . j k :
rjk = Sjk / (sj ∙ sk), j=1,, N, k=1,, N.
, . [-1, 1 ].
, , , . , Xj Xk , . , :
, j=1,, N, k=1,, N.
3 Excel. : │ rjk │< s(rjk), .
.
Function SJK (j As Integer, k As Integer) As Double
N∙N : j 1 N, j k 1 N.
. . , , , , , , , , , ..
3
., . . .: , 1968. 720 .
. . .: , 1962. 552 .
.. . .: , 1993. 268 .
11.4.
, (, , , ..). , , , , . , . :
|
b = 6 356 863.019 - () ,
|
e22 = 0.006 719 2188 .
( ) (). - - . X , Y 500 . Y , Y . , Y, .
4 , , 1:1000000 ( 1 10 ). 36 1:200000 144 1:100000 ( 1 1 ) .
LT (Latitude ), LN (Longitude ). X, Y LT, LN () CM . , , LTLNtoXY, , , , .
Option Explicit
Const Pi180 As Double = 0.0174532925
Const A As Double = 6378245
Const B As Double = 6356863.019
Const EE1 As Double = 0.0066934216
Const EE2 As Double = 0.0067192188
Private Sub LTLNtoXY(LT As Double, LN As Double, X As Double, Y As Double, CM As Double)
' LT POTA ()
' LN OOTA ()
' CM - MEPAH ()
' X, Y KOOPHAT ()
Dim N As Double, DL As Double, S As Double, DL2 As Double, T As Double, T2 As Double
Dim SINLT As Double, COSLT As Double, COS2 As Double, COS3 As Double, COS5 As Double
Dim A2 As Double, A4 As Double, B1 As Double, B3 As Double, B5 As Double, T4 As Double
DL = LN - CM * Pi180: DL2 = DL * DL
SINLT = Sin(LT): COSLT = Cos(LT): T = SINLT / COSLT: T2 = T * T: T4 = T2 * T2
COS2 = COSLT * COSLT: COS3 = COSLT * COSLT * COSLT: COS5 = COS2 * COS3
N = A / Sqr(1 - EE1 * SINLT * SINLT)
S = 6367558.49587 * LT - 16036.48027 * Sin(2 * LT) + _
16.828067 * Sin(4 * LT) - 0.021975 * Sin(6 * LT)
A2 = N * SINLT * COSLT / 2: A4 = N * SINLT * COS3 * (5 - T2) / 24
B1 = N * COSLT: B3 = N * COS3 * (1 - T2 + EE2 * COS2) / 6
B5 = N * COS5 * (5 - 18 * T2 + T4) / 120
X = ((A2 + A4 * DL2) * DL2 + S) * 0.001
Y = ((B3 + B5 * DL2) * DL2 + B1) * DL * 0.001 + 500
End Sub
( .xls) Excel : , LT, LN, X, Y, . Excel , :
. | LT | LN | X | Y | ||||||||
105.75 | 6654.426 | 541.8501 |
| |||||||||
55.12 | 6112.524 | 627.5992 | ||||||||||
| ||||||||||||
, . TextBox1 ( Excel ) 105. c BTN1 BTN2 BTN1_Click BTN2_Click. ( 2) LT, LN, LTLNtoXY, . X,Y BTN1_Click 4, 5 Excel.
BTN2_Click BTN1_Click, 4, 5 , 2, 3. LT, LN X, Y XYtoLTLN, :
1) K=0;
2) , , LT = 56 ∙ Pi180, LN = CM ∙ Pi180, Pi180 , CM () ;
3) LTLNtoXY XX, YY, LT, LN;
4) 1 , DX = X - XX, DY = Y YY, DXY = DX2 + DY2, LT = LT + DX ∙ 1000 / a, LN = LN + DY ∙ 1000 /a / cos(LN);
5) DXY < 0.0000001, ; ;
6) K< 20, 3; , ( , X,Y), LT = 0, LN = 0.
XYtoLTLN , BTN2_Click 6 , . , 2, 3 .
4
.. . .: , 1993. 268 .
( ). 1. .: , 1975. 544 .
11.5. XOY
. VBA , Excel Word , , , (Shapes) . ( Visual Basic), Visual Basic , , , , VBA. . , , XOY.
'
Dim cx As Single, cy As Single
' cx,cy - : /
Dim nx1 As Integer, ny1 As Integer, nx2 As Integer, ny2 As Integer
Dim RedClr As Integer, GreenClr As Integer, BlueClr As Integer
Dim FntName As String, FntSize As Integer, FntColor As Integer
Const nx0 As Integer = 25.5: Const ny0 As Integer = 25.5:
' Lx ∙ Ly ( )
' , X , Y-
Sub GrIni()
SP 0, 0, 0
cx = TextBoxCX.Value: cy = TextBoxCY.Value
Lx = TextBoxLX.Value: Ly = TextBoxLY.Value
2.Activate: 2.Shapes.SelectAll
Selection.Delete ' 2
2.Shapes.AddShape(msoShapeRectangle, nx0, ny0, Lx * cx, Ly * cy).Select
End Sub
' ()
Function GETnx(xcm As Single) As Integer
GETnx = nx0 + xcm * cx
End Function
Function GETny(ycm As Single) As Integer
GETny = ny0 + ycm * cy
End Function
' xcm, ycm (Move Absolute, - )
Sub MA(xcm As Single, ycm As Single)
nx1 = GETnx(xcm): ny1 = GETny(ycm)
End Sub
' xcm, ycm (Plot Absolute)
Sub PA(xcm As Single, ycm As Single)
nx2 = GETnx(xcm): ny2 = GETny(ycm)
With 2.Shapes.AddLine(nx1, ny1, nx2, ny2).Line
.ForeColor.RGB = RGB(RedClr, GreenClr, BlueClr)
End With
nx1 = nx2: ny1 = ny2
End Sub
' (Set Pen)
Sub SP(Red As Integer, Green As Integer, Blue As Integer)
RedClr = Red: GreenClr = Green: BlueClr = Blue
End Sub
' , (Set Font)
' : 1-, 2-, 3-, 4- -, 5-,
' 6-, 7--., 8-, 9-., 10-, 11--
Sub SF(Name As String, Size As Integer, Color As Integer)
FntName = Name: FntSize = Size: FntColor = Color
End Sub
' (Write String)
Sub WS(xcm As Single, ycm As Single, Lxcm As Single, Lycm As Single, _
Txt As String)
2.Shapes.AddTextbox(msoTextOrientationHorizontal, _
GETnx(xcm), GETny(ycm), Lxcm * cx, Lycm * cy).Select
Selection.ShapeRange.Line.Visible = msoFalse
Selection.Characters.Text = Txt
With Selection.Characters(Start:=1, Length:=Len(Txt)).Font
.Name = FntName
.Size = FntSize
.ColorIndex = FntColor
End With
End Sub
Private Sub Btn1_Click() '
GrIni
MA 5, 5
PA 10, 5
SP 200, 0, 0
PA 10, 10
SF "Times New Roman Cyr", 9, 11
WS -0.8, -0.2, 0.8, 0.4, "0.0"
End Sub
|
|
|
|
(TextBox) (). cx, cy . GrIni Lx∙Ly 2 Excel. . . .
1. 1 - X, Y. 2 Y(X). X, Y; .
2. 1, X(Y).
3. F1(X), F2(X), 1 () : X, F1, F2. .
1. .., .., .., ... . Excel.-: - .-2003.-71.
2. . Excel 97 . .: , 1997. 336 .
3. .. : . .: , 1984.
4. : / . . ... -.: , 1997. -768 .
5. ., . . .: , 1968. 720 .
6. .., .., .. . . I. Windows, Word, Excel, Access. : - . . -, 2003. - 69 .
7. . Windows 95 /. . - : , 1996. -304 . Windows.
8. . Office 97 /. . - : , 1997. -288 . Microsoft Office, Word, Excel, Access, PowerPoint, OutLook.
9. .. Mathcad 7 Pro . -.: , 1998. -384 .
10. .. Windows-. . -: - . . -, 1998. -135 .
11. . . Visual Basic ( 5) : . . .: BHV -, 1998. 704 .
12. .., .., .. : . .: -: -, 1999. 480 .
13. Microsoft Visual Basic 5. : ../. . . . -.: - , 1998. -432 .
14. Oracle 7 . /. . . . -.: - , 1996. -651 .
15. .., .., ... . II. Visual Basic for Applications. : - . . -, 2002. - 52 .
16. .. Microsoft Office 2003. / . .: . 2008. 400 .