.


:




:

































 

 

 

 


. 6




  5 , , , =0.548
  , =0.833
  , , , , , =1.18, b=2.44, =0.564

 

2.12

 

VBA . . . .

(, , ..), , .

1.

, , - .

                 
, 0 -10 -9 -11 -5   +3 -1   +4

1 , [1] = -10; [2] = -9 .. , ().

2.

, , , 1 5.

.

, , .

, .

, , .

.

, , , n n-.

(), (, ). .

:

1 ;

2 ;

3 ;

4 .

3.

xi (5, 6, 7) → 3

1

integer

1..3

( ) . . . , , , (), . . , . .

 

2.12.1

 

.

:

Dim | Public | Private _ (_) As _

Dim | Public | Private ,

;

_ , ;

_

() .

60 .

As ,

;

_ , VBA

( ).

1.

Dim A (7) As Integer

() 8 , (0), (7).

.

2.

Dim B (4, 5) As Single

4 5 (), 5 6 .

. , 0 . , (General Declarations) Option Base 1. .

To .

3.

Dim A (1 To 7) As Integer

Dim B (1 To 4, 1 To 5) As Single

1.

,

4.

Dim Z (-3 To 7) As Single.

 

2.12.2

 

. . .

1.

Dim R () As Single.

, n, ReDim.

2.

ReDim R (1 To 3).

:

ReDim [Preserve] _ (_) As _

ReDim , , ;

Preserve , . , .

_ , ;

_ - () ( 60). Option Base, 0.

_ .

3.

Dim A () As Integer

Dim n As Integer ,

N = 9

ReDim A (n) 10

ReDim A (3 To n, 1 To n)

. ReDim , .

 

2.12.3

 

. . , , , .

1.

Dim A (1 To 2) As Byte, B (1 To 2) As Byte,

:

 

A = B .

2.

.

Sub primer ()

Dim A (1 To 2) As Byte, B (1 To 2) As Byte

Dim I As Byte

B(1) = 2

B(2) = 4

For I = 1 To 2

A(i) = B(i)

Debug.Print A(i), B(i)

Next i

End Sub

 

2.12.4

 

, () .

1.

Mas (2), VectorZ (10)

Mas VectorZ.

, . , , , ; , .

 

2.12.5

 

1 .

.

1.

Dim B (1 To 2, 1 To 3) As Single

B (1,1) = 2: B (1,2) = 4: B (1,3) = 6

B (2,1) = 1: B (2,2) = 6: B (2,3) = 2

2 .

.

2.

Sub primer ()

Dim A(1 To 12) As Variant

Randomize

For i = 1 To 10

A(i) = Rnd (40)

Debug.Print A(i)

Next i

End Sub

3

.

For.

3.

Dim M (1 To 9, 1 To 9) As Integer

Dim i As Integer

Dim j As Integer

For i = 1 To 9

For j = 1 To 9

M(i, j) = i * j

Next j

Next i

4

Array ()

Array, , , , Variant.

4.

Sub ShowArray ()

Dim A As Variant

A = Array (10, 20, 30)

Debug.Print A(0) : 10

Debug.Print A(2) : 30

End Sub

Array ()

Array , . Array.

5.

Option Base 1

Sub MultiDim ()

Dim A As Variant

A = Array (Array(-, ), Array (, ))

Debug.Print A (1) (1) : -

Debug.Print A (1) (2) :

End Sub

Array , , .

6.

Private Sub VarArray ()

Dim M As Variant

M = Array(Array(1,2), Array (3,4,5))

Debug.Print M (0) (0), M (1) (2) : 1 5

End Sub

 


2.12.6

 

1.

.

. VBA .

:

1 :

Sub primer()

Const n = 10

Dim N_max As Integer

Dim i As Integer

Dim Max As Single

Dim B(1 To n) As Single

B(1) = 0.2: B(2) = 1.4: B(3) = 0.6

B(4) = 0.121: B(5) = 0.77: B(6) = 9.45

B(7) = 8.21: B(8) = 0.4: B(9) = 0.3

B(10) = 4.11

Max = B(1)

N_max = 1

For i = 2 To n

If B(i) > Max Then

Max = B(i)

N_max = i

End If

Next i

Debug.Print "Max= " & Max & " N_max= " & N_max

End Sub

2 .

2.

Array () .

. .

:

1 :

Option Base 1

Sub primer()

Dim i As Integer

Dim Max As Single

Dim N_Max As Integer

Dim B As Variant

B = Array(0.1, 1.12, 3.12, 0.45, 101.47, 12.4, 10.12, 10.11, 6.47, 13.4)

Max = B(1)

N_Max = 1

For i = 2 To 10

If B(i) > Max Then

Max = B(i)

N_Max = i

End If

Next i

Debug.Print "Max= " & Max & " N_max= " & N_Max

End Sub

2 .

6

: -. 6 22 (2 ).

 

22

  n, a1, a2, ,an. ak a1,a2,,an
  n, a1, a2, ,an. ak a1,a2,,an 3 5.
  n, a1, a2, ,an. ak a1,a2,,an .
  n, a1, a2, ,an. ak a1,a2,,an .
  n, a1, a2, ,an. ak a1,a2,,an .
  n, q1, q2,, qn. qi q1, q2,, qn .
  n, q1, q2,, qn. qi q1, q2,, qn 7 1.2 5.
  n, q1, q2,, qn. qi q1, q2,, qn , .

 

22

  ,
  n. , . .
  1,,50. , 5.
  1,,50. , .
  1,,50. , .
  n, a1, a2, ,an. a1, a2, ,an 0.5, 0.1.
  ,
  a, n, x1,,xn (n>0). , x1,,xn , . , 0.
  n, a1, a2, ,an. a1, a2,,an .
  n, a1, a2, ,an. a1, a2, ,an 7. .
  a1, a2, ,a45. a1, a2, ,a35 a1, a2, ,a45.
  +1 (1, 2, , 50), -1 .

 

2.12.7 . .

1.

. n, n x 3. .

:

1 :

Sub primer()

Const n = 3

Const m = 3

Dim S As Single

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim A(1 To n, 1 To m) As Single

A(1, 1) = -11: A(1, 2) = 0: A(1, 3) = 2

A(2, 1) = 5: A(2, 2) = 45: A(2, 3) = 32

A(3, 1) = -3: A(3, 2) = 14: A(3, 3) = -25

S = 0

k = 0

For i = 1 To n

For j = 1 To m

If A(i, j) >= 0 Then S = S + A(i, j) Else k = k + 1

Next j

Next i

Debug.Print "S= " & S & " k= " & k

End Sub

2 .

2.

. m x n. b1, , bm, .

:

1 :

Option Base 1

Sub primer()

Dim i As Integer

Dim j As Integer

Dim M(1 To 3, 1 To 3) As Variant

Randomize

For i = 1 To 3

For j = 1 To 3

M(i, j) = Rnd(20)

Debug.Print ("M(" & i & j & ")=" & M(i, j))

Next j

Next i

For i = 1 To 3

Min = M(i, 1)

For j = 2 To 3

If M(i, j) < Min Then Min = M(i, j)

Next j

Debug.Print ("Min(" & i & ")= " & Min)

Next i

End Sub

2 .

3.

. n, n x 3. , .

:

1 :

Option Base 1

Sub primer()

Const m = 3: Const n = 4

Dim i As Integer

Dim j As Integer

Dim s As Single

Dim A(1 To m, 1 To n) As Integer

For i = 1 To m

For j = 1 To n

A(i, j) = i * j

Debug.Print "A(" & i & j & ")=" & A(i, j)

Next j

Next i

For j = 1 To n

s = 0

For i = 1 To m

s = s + A(i, j) / m

Next i

Debug.Print "s= " & s

Next j

End Sub

2 .

7

.

: -. 7 23, 24 (4 )

 

 

23

  m´n. b1,,bm .
  m´n. b1,,bm .
  1, ,20 . , .
  m´n. b1,,bm .
  m´n. b1,,bm .
  m´n. b1,,bm .
  n, n´9. : ) ; ) , .
  1, 2, 3. , .
  , ,; b, ,b. , .
  n. ,
  - .

 

23

  , , , .
  n. , .
  n´m, . .
  12. , .
  1,,8. 8:
  n, . 11, 22,, nn.
  6´9. .
  20 , i- , =0.225. .
  1, ,20 . , .

 

24

 
./ . -.
.            

, (1 ) ( , ..) 500 .

=-/-

- 1 ;

C/ - 1 ();

- ..

  , 1 ..
  4 . , , . [i,j]=c[i,j]+a[i,l]*b[l,j].
  , . = / *100 ( - ).
  (..): 1993 : - 4500; - 4300 1994 : - 4460; - 4390 .
  ($) 7 (). , $ . 1 2 3 4 5 6 7 4500 4520 4600 4750 5000 5120 5100
  1990 1993 (111.4; 100.0; 67.7; 64.8). .
  , . , .

24





:


: 2016-10-07; !; : 486 |


:

:

.
==> ...

1597 - | 1455 -


© 2015-2024 lektsii.org - -

: 0.133 .