Podstawy Informatyki Podstawy Informatyki
Michał
Michał Pazdanowski Pazdanowski
Przykład 1 Przykład 1
(równanie kwadratowe) (równanie kwadratowe)
a brak x b
a 2
∆ x b
c a
4 b
∆
c x
b x
a
y 2
⋅
= −
⋅
±
= −
<
∆
=
∆
>
∆
⋅
⋅
−
=
+
⋅ +
⋅
=
2
0 0
0
2 , 1
2
Przykład 1 Przykład 1
Dane:
Dane:
a, b, c a, b, c Wyniki:
Wyniki:
∆ ∆ , x1, x2 , x1, x2
Przykład 1 Przykład 1
START START
a, b, c a, b, c
∆ ∆ = b= b⋅⋅b -b - 44⋅⋅aa⋅⋅cc
∆∆
> 0
> 0 < 0< 0
= 0= 0 xx11= = --b -b 2⋅2-⋅aa∆∆½½
∆∆, x, x11, x, x22 ∆∆, x, x ∆∆ STOPSTOP
współczynniki równania współczynniki równania
wyróżnik równania wyróżnik równania
znak wyróżnika znak wyróżnika
pierwiastki równania pierwiastki równania
wydruk wyników wydruk wyników
xx22= = --b + ∆b + 2⋅2⋅aa∆½½ x= x= 22⋅--⋅abba
Przykład 1 Przykład 1
Sub Rownanie Sub Rownanie()()
Range
Range((CellsCells(2,1),(2,1),CellsCells(5,4)).(5,4)).ClearClear
DimDim A AsA As DoubleDouble, B As, B As DoubleDouble, C As, C As DoubleDouble DimDim X1 AsX1 As Double, X2 AsDouble, X2 As Double, X AsDouble, X As DoubleDouble DimDim Delta AsDelta As DoubleDouble
A =A = CDblCDbl((CellsCells(1,1).(1,1).ValueValue)) B =B = CDblCDbl((CellsCells(1,2).(1,2).ValueValue)) C =C = CDblCDbl((CellsCells(1,3).Value(1,3).Value)) Delta = B*B
Delta = B*B--4*A*C4*A*C Select Case
Select Case DeltaDelta Case Is
Case Is > 0> 0
X1 = 0.5*(
X1 = 0.5*(--BB--SqrSqr(Delta))/A(Delta))/A X2 = 0.5*(
X2 = 0.5*(--BB--SqrSqr(Delta))/A(Delta))/A
Przykład 1 Przykład 1
Cells
Cells(2,1).(2,1).ValueValue = X1= X1 Cells
Cells(2,2).(2,2).ValueValue = X2= X2 Case Is
Case Is = 0= 0
X = X = --B/(2*A)B/(2*A) Cells
Cells(3,1).(3,1).ValueValue = X= X Case Is
Case Is < 0< 0 Cells
Cells(4,1).(4,1).ValueValue = ”Zespolone”= ”Zespolone”
End Select End Select End Sub
End Sub
{ }
d x x
x d
x x
x x
x
i i
n i
i
n i
=
=
=
∑
=12 2
1
, ,..., ,...,
Przykład 2 Przykład 2
(długość i normalizacja wektora) (długość i normalizacja wektora)
Przykład 2 Przykład 2
Dane:
Dane:
n, x n, x
Wyniki:
Wyniki:
d, d, x x
START START
n, xn, x
i = 1 i = 1
i > n i > n NIENIE
TAKTAK d = 0 d = 0
d = d + x d = d + xii⋅⋅ xxii
i = i + 1 i = i + 1
11
d, xd, x STOPSTOP
11 d = d d = d½½
i = 1 i = 1
i > n i > n NIENIE
TAKTAK xxi i = = xxii / d/ d
i = i + 1 i = i + 1
Przykład 2
Przykład 2
Przykład 2 Przykład 2
SubSub Norma()Norma() Range
Range((CellsCells(1,7),(1,7),CellsCells(101,7)).Clear(101,7)).Clear DimDim X(100) AsX(100) As DoubleDouble, D As, D As DoubleDouble DimDim N AsN As LongLong, I As, I As LongLong
N =N = CLngCLng((CellsCells(1,6).(1,6).ValueValue)) For I = 1 To N Step 1
For I = 1 To N Step 1 X(I) =
X(I) = CDblCDbl((CellsCells(1+I,6).(1+I,6).ValueValue)) NextNext II
D = 0.0 D = 0.0
For I = 1 To N Step 1 For I = 1 To N Step 1
D = D + X(I)*X(I) D = D + X(I)*X(I) NextNext II
Przykład 2 Przykład 2
D =D = SqrSqr(D)(D) Cells
Cells(1,7).(1,7).ValueValue = D= D If Abs
If Abs(D) > 0.0001(D) > 0.0001 ThenThen For I = 1 To N Step 1 For I = 1 To N Step 1 X(I) = X(I)/D X(I) = X(I)/D
Cells
Cells(1+I,7).Value(1+I,7).Value = X(I)= X(I) NextNext II
End If End If End Sub End Sub
Przykład 3 Przykład 3
(sortowanie tablicy) (sortowanie tablicy)
{ }
{ ...,1,
2 ,..., < ,...,
+1,... }
=
=
j j
n i
x x
x
x x
x x
x
14 14 2 2 1 1 12 12 8 8 6 6 1 1
2 2 14 14 1 1 12 12 8 8 6 6 1 1
2 2 1 1 14 14 12 12 8 8 6 6 1 1
2 2 1 1 12 12 14 14 8 8 6 6 1 1
2 2 1 1 12 12 8 8 14 14 6 6 1 1
2 2 1 1 12 12 8 8 6 6 14 14 1 1
1 1 2 2 12 12 8 8 6 6 14 14 1 1
1 1 2 2 12 12 8 8 6 6 14 14 1 1
1 1 2 2 8 8 12 12 6 6 14 14 1 1
1 1 2 2 8 8 6 6 12 12 14 14 1 1 1 1
2 2 8 8 6 6 12 12 14 14 0 0
1 1 2 2 8 8 6 6 12 12 14 14 0 0
1 1 2 2 8 8 6 6 12 12 14 14 1 1
1 1 2 2 6 6 8 8 12 12 14 14 1 1
1 1 2 2 6 6 8 8 12 12 14 14 1 1
1 1 2 2 6 6 8 8 12 12 14 14 0 0
1 1 2 2 6 6 8 8 12 12 14 14 0 0
1 1 2 2 6 6 8 8 12 12 14 14 0 0
1 1 2 2 6 6 8 8 12 12 14 14 0 0
1 1 2 2 6 6 8 8 12 12 14 14 0 0
0 0 0 0
0 0 0 0
14 14 2 2 1 1 12 12 8 8 6 6
J J
11 22
33 44
J J
J J J J
11
22
33
44 55
Przykład 3 Przykład 3
j = 0 j = 0 i = 1 i = 1 xxii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
j = 0 j = 0 j = 0 j = 0 i = 1 i = 1i = 1 i = 1 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
i = 2 i = 2i = 2 i = 2 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
i = 3 i = 3i = 3 i = 3 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
i = 4 i = 4i = 4 i = 4 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
j = 0 j = 0 j = 0 j = 0 i = 1 i = 1i = 1 i = 1 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
i = 2 i = 2i = 2 i = 2 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
i = 3 i = 3i = 3 i = 3 xxxii > x> xi+1i+1 xii > x> xi+1i+1
d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d d = x d = xi+1i+1 xxi+1 i+1 = x= xii xxii = d= d
j = 1 j = 1 i = i+1 i = i+1 i > n+1 i > n+1
i = 4 i = 4i = 4 i = 4 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
j = 0 j = 0 j = 0 j = 0 i = 1 i = 1i = 1 i = 1 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
i = 2 i = 2i = 2 i = 2 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
i = 3 i = 3i = 3 i = 3 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
i = 4 i = 4i = 4 i = 4 xxxii > x> xi+1i+1 xii > x> xi+1i+1
i = i+1 i = i+1 i > n+1 i > n+1
j = 0 j = 0
43 43 64 64 52 52 64 64 18 18 64 64 64 64 21 21 64 64 21 21 21 21 64 64 21 21 64 64 18 18 64 64 64 64 18 18 64 64 18 18
52 52 64 64 64 64 52 52 64 64 52 52
43 43 64 64 64 64 43 43 64 64 43 43 21 21 18 18 18 18 21 21 18 18 21 21 43 43 21 21 52 52 21 21
43 43 52 52 52 52 43 43 52 52 43 43
64 64 52 52 64 64 52 52 18 18 21 21 18 18 21 21 52 52 21 21 52 52 21 21
52 52 43 43 52 52 43 43
64 64 52 52 64 64 52 52
⇒ ⇒
18 18 21 21 43 43 52 52 64 64 64 64
21 21 18 18 52 52 43 43
TakTak TakTak
TakTak NieNie
NieNie NieNie
Przykład 3 Przykład 3
Dane:
Dane:
n, x n, x
Wyniki:
Wyniki:
x x
Przykład 3 Przykład 3
START START
n, xn, x
i = 1
i = 1 i > ni > n--11
NIENIE
TAKTAK j = 0 j = 0
11
xx STOPSTOP
11 j = 1 j = 1
j = 0 j = 0 NIENIE
TAKTAK xxii>x>xi+1i+1
NIENIE
TAKTAK
d = x d = xii xxii = x= xi+1i+1
xxi+1 i+1 = d= d 22
i = i + 1 i = i + 1 22
33 44
33 44
SubSub Sort()Sort() Range
Range((CellsCells(1,7),(1,7),CellsCells(101,7)).(101,7)).ClearClear DimDim X(100) AsX(100) As Double, D AsDouble, D As DoubleDouble DimDim N AsN As Long, I AsLong, I As LongLong, J As, J As IntegerInteger N =N = CLngCLng((CellsCells(1,6).(1,6).ValueValue))
For I = 1 To N Step 1 For I = 1 To N Step 1
X(I) =
X(I) = CDbl(CDbl(CellsCells(1+I,6).Value(1+I,6).Value)) NextNext II
DoDo
J = 0 J = 0
For I = 1 To N
For I = 1 To N--1 Step 11 Step 1
IfIf(X(I) > X(I+1))(X(I) > X(I+1)) ThenThen
Przykład 3
Przykład 3
D = X(I) D = X(I)
X(I) = X(I+1) X(I) = X(I+1)
X(I+1) = D X(I+1) = D
J = 1 J = 1 End If
End If NextNext II
Loop While
Loop While J <> 0J <> 0 For I = 1 To N Step 1 For I = 1 To N Step 1
Cells
Cells(1+I,7).(1+I,7).ValueValue = X(I)= X(I) NextNext II
End Sub End Sub
Przykład 3
Przykład 3
xx00,y,y00 rr
Przykład 4 Przykład 4
xxpp = x= x00 + r+ r yypp = y= y00
xxpp,,yypp
i = 1 i = 1
ii⋅⋅ϕϕ xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,y,ykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
xxpp == xxkk yypp == yykk xxpp,y,ypp i = 2i = 2 i⋅i⋅ϕϕ
xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,y,ykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
xxpp == xxkk yypp == yykk xxpp,,yypp
i = 3 i = 3 i⋅i⋅ϕϕ
xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,,yykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
xxpp == xxkk yypp == yykk xxpp,,yypp
ii⋅⋅ϕϕ i = 4i = 4
xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,y,ykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
xxpp == xxkk yypp == yykk xxpp,y,ypp
i = 5 i = 5 i⋅i⋅ϕϕ
xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,,yykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
xxpp == xxkk yypp == yykk xxpp,,yypp ii⋅⋅ϕϕ i = 6i = 6
xxkk = x= x00 + r⋅+ r⋅cos(icos(i⋅⋅ϕϕ)) yykk = y= y00 + r⋅+ r⋅sin(i⋅sin(i⋅ϕϕ)) xxkk,y,ykk
AddLine
AddLine((xxpp,,yypp,,xxkk,,yykk)) xx00,y,y00 rr
Dane:
Dane:
x x 0 0 ,y ,y 0 0 , r, , r, ϕ ϕ lub n lub n Wyniki:
Wyniki:
Przykład 4
Przykład 4
START START
xx00, y, y00, r, n, r, n ϕϕ = (2 ⋅π= (2 ⋅π)/n )/n
xxpp = x= x00 + r+ r yypp = y= y00
i = 1 i = 1
AddLine
AddLine((xxpp,y,ypp,,xxkk,y,ykk))
xxpp == xxkk yypp == yykk
i > n i > n NIENIE
TAKTAK
11
11
i = i + 1 i = i + 1
xxkk = x= x00 + r+ r⋅⋅cos(icos(i⋅ϕ⋅ϕ))
yykk = y= y00 + r⋅+ r⋅sin(i⋅ϕsin(i⋅ϕ)) STOPSTOP 22
22
Przykład 4
Przykład 4
Dim Shape
Dim Shape AsAs ShapeShape Dim Wielokat
Dim Wielokat AsAs ShapeRangeShapeRange SubSub Foremny()Foremny()
X0 = 200 X0 = 200 Y0 = 200 Y0 = 200 R = 100 R = 100
N =N = CIntCInt((CellsCells(2, 2).(2, 2).ValueValue))
ForFor Each ShapeEach Shape InIn ActiveSheetActiveSheet..ShapesShapes If Shape
If Shape..NameName = "Wielobok"= "Wielobok" Then ShapeThen Shape..DeleteDelete Next Shape
Next Shape ReDim
ReDim Lin(1 To N) AsLin(1 To N) As VariantVariant DF = 2 * PI / N
DF = 2 * PI / N
Przykład 4
Przykład 4
XP = X0 + R XP = X0 + R YP = Y0
YP = Y0
For I = 1 To N Step 1 For I = 1 To N Step 1
XK = X0 + R * Cos(I * DF) XK = X0 + R * Cos(I * DF) YK = Y0 + R * Sin(I * DF) YK = Y0 + R * Sin(I * DF)
With ActiveSheet
With ActiveSheet..ShapesShapes..AddLineAddLine(XP, YP, XK, YK)(XP, YP, XK, YK) ..NameName = "L" &= "L" & CStr(I)CStr(I)
WithWith ..LineLine
..WeightWeight = 2= 2
..DashStyleDashStyle == msoLineSolidmsoLineSolid
..ForeColorForeColor.RGB = RGB(0, 0, 255).RGB = RGB(0, 0, 255) End With
End With
Przykład 4
Przykład 4
End With End With XP = XK XP = XK YP = YK YP = YK
Lin(I) = "L" &
Lin(I) = "L" & CStrCStr(I)(I) NextNext II
SetSet WielokatWielokat == ActiveSheetActiveSheet..ShapesShapes..RangeRange(Lin)(Lin) Wielokat
Wielokat..GroupGroup..NameName = "Wielobok"= "Wielobok"
End Sub End Sub
Przykład 4
Przykład 4
Przykład 5 Przykład 5
} {
} {
m m
i i
m i
i i
m i
i i
m i
m i
b a
b a
b a
b a
b a
b a
b a
b b
b b
b
a a
a a
a
⋅ +
+
⋅ +
+
⋅ +
⋅
=
⋅
⋅
=
⋅
=
=
∑
∑
=
=
...
...
,..., ,...,
,
,..., ,...,
,
2 2
1 1
1
1 2
1
2 1
r r r
r
Przykład 5 Przykład 5
Dane:
Dane:
m, m, a a , , b b Wyniki:
Wyniki:
c c
Przykład 5 Przykład 5
START START m, a, b m, a, b
i = 1 i = 1 c = 0 c = 0
11
i > m i > m NIENIE
TAKTAK c = c +
c = c + aaii⋅⋅ bbii i = i + 1 i = i + 1
cc STOPSTOP
11
Przykład 5 Przykład 5
SubSub Macierz1()Macierz1()
DimDim M AsM As IntegerInteger DimDim C AsC As DoubleDouble
M =M = CIntCInt((CellsCells(1,1).(1,1).ValueValue)) ReDim
ReDim A(M) AsA(M) As DoubleDouble ReDim
ReDim B(M) AsB(M) As DoubleDouble C = 0
C = 0
For I = 1 to M For I = 1 to M
A(I) =
A(I) = CDbl(CDbl(CellsCells(M+1,I).(M+1,I).Value)Value) B(I) =
B(I) = CDblCDbl((CellsCells(I,M+1).(I,M+1).Value)Value) NextNext II
Przykład 5 Przykład 5
For I = 1 to M For I = 1 to M
C = C + A(I)*B(I) C = C + A(I)*B(I) NextNext II
Cells
Cells(M+1,M+1) = C(M+1,M+1) = C End Sub
End Sub
Przykład 6 Przykład 6
} {
mj m
ij i
j j
m i
ij i
j
mn mj
m m
in ij
i i
n j
m i
b a
b a b
a b
a b
a c
c b
a
b b
b b
b b
b b
b b
b b
b
a a
a a a
⋅ +
+
⋅ +
+
⋅ +
⋅
=
⋅
=
=
⋅
⎪⎪
⎪
⎭
⎪⎪
⎪
⎬
⎫
⎪⎪
⎪
⎩
⎪⎪
⎪
⎨
⎧
=
=
∑
=...
...
,..., ,...,
,
2 2
1 1 1
2 1
2 1
1 1
12 11
2 1
r
rL L
M O
M O
M M
L L
M O
M O
M M
L L
r
Przykład 6 Przykład 6
Dane:
Dane:
m, n,
m, n, a a , , b b Wyniki:
Wyniki:
c c
Przykład 6 Przykład 6
i > m i > m NIENIE
TAKTAK ccjj == ccjj ++ aaii⋅⋅ bbijij
i = i + 1 i = i + 1
11
j = j + 1 j = j + 1
j > n j > n NIENIE
TAKTAK 33
22 START
START m, n, a, b m, n, a, b
i = 1 i = 1 j = 1 j = 1
11 ccjj = 0= 0
22
cc STOPSTOP
33
Przykład 6 Przykład 6
SubSub Macierz2()Macierz2()
DimDim M AsM As IntegerInteger, N As, N As IntegerInteger M =M = CIntCInt((CellsCells(1,1).(1,1).ValueValue))
N =N = CIntCInt((CellsCells(1,2).(1,2).ValueValue)) ReDim
ReDim A(M) AsA(M) As DoubleDouble ReDim
ReDim B(M,N) AsB(M,N) As DoubleDouble ReDim
ReDim C(N) AsC(N) As DoubleDouble For I = 1 to M
For I = 1 to M A(I) =
A(I) = CDbl(CDbl(CellsCells(M+1,I).(M+1,I).Value)Value) For J = 1 to N
For J = 1 to N B(I,J) =
B(I,J) = CDblCDbl((CellsCells(I,M+J).(I,M+J).ValueValue)) NextNext JJ
NextNext II
Przykład 6 Przykład 6
For J = 1 to N For J = 1 to N
C(J) = 0 C(J) = 0
For I = 1 to M For I = 1 to M
C(J) = C(J) + A(I)*B(I,J) C(J) = C(J) + A(I)*B(I,J) NextNext II
Cells
Cells(M+1,M+J) = C(J)(M+1,M+J) = C(J) NextNext JJ
End Sub End Sub
Przykład 7 Przykład 7
mj km
ij ki
j k
j k
m i
ij ki
kj
mn mj
m m
in ij
i i
n j
om oi
o o
km ki
k k
m i
b a
b a
b a
b a
b a
c
c b
a
b b
b b
b b
b b
b b
b b
b
a a
a a
a a
a a
a a
a a
a
⋅ +
+
⋅ +
+
⋅ +
⋅
=
⋅
=
=
⋅
⎪⎪
⎭
⎪⎪
⎬
⎫
⎪⎪
⎩
⎪⎪
⎨
⎧
=
⎪⎪
⎭
⎪⎪
⎬
⎫
⎪⎪
⎩
⎪⎪
⎨
⎧
=
∑
=...
2 ...
2 1
1 1
2 1
2 1
1 1
12 11
2 1
2 1
1 1
12 11
L L
M O
M O
M M
L L
M O
M O
M M
L L
L
L M O M
O M
M M OL M LO M
M L L
Przykład 7 Przykład 7
Dane:
Dane:
m, n,
m, n, a a , , b b Wyniki:
Wyniki:
c c
Przykład 7 Przykład 7
START START m, n, o, a, b m, n, o, a, b
i = 1 i = 1 j = 1 j = 1
11 cckjkj = 0= 0
22
k = 1 k = 1
44
cc STOPSTOP
k > o k > o NIENIE
TAKTAK 33
44
i > m i > m NIENIE
TAKTAK cckjkj == cckjkj ++ aakiki⋅⋅ bbijij
i = i + 1 i = i + 1
11
j = j + 1 j = j + 1
j > n j > n NIENIE
TAKTAK 33
22 44
44
Przykład 7 Przykład 7
SubSub Macierz3()Macierz3()
DimDim M AsM As IntegerInteger, N As, N As IntegerInteger, O As, O As IntegerInteger M =M = CIntCInt((CellsCells(1,1).(1,1).ValueValue))
N =N = CIntCInt((CellsCells(1,2).(1,2).ValueValue)) O =O = Cint(Cint(CellsCells(1,3).(1,3).ValueValue)) ReDim
ReDim A(O,M) AsA(O,M) As DoubleDouble ReDim
ReDim B(M,N) AsB(M,N) As DoubleDouble ReDim
ReDim C(O,N) AsC(O,N) As DoubleDouble
Przykład 7 Przykład 7
For K = 1 to O For K = 1 to O
For I = 1 to M For I = 1 to M
A(K,I) =
A(K,I) = CDbl(CDbl(CellsCells(M+K,I).(M+K,I).Value)Value) NextNext II
NextNext KK
For I = 1 to M For I = 1 to M
For J = 1 to N For J = 1 to N
B(I,J) =
B(I,J) = CDblCDbl((CellsCells(I,M+J).Value(I,M+J).Value)) NextNext JJ
NextNext II
Przykład 7 Przykład 7
For K = 1 to O For K = 1 to O
For J = 1 to N For J = 1 to N
C(K,J) = 0 C(K,J) = 0
For I = 1 to M For I = 1 to M
C(K,J) = C(K,J) + A(K,I)*B(I,J) C(K,J) = C(K,J) + A(K,I)*B(I,J) NextNext II
Cells
Cells(M+K,M+J) = C(K,J)(M+K,M+J) = C(K,J) NextNext JJ
NextNext KK End Sub End Sub