.


:




:

































 

 

 

 


Visual Basic 6.0




 

, , Visual Basic 6.0

.txt , . . 7.

 

.7

 

Visual Basic.

, . , .

 

:

'

Dim A()

Dim B()

Dim v()

Dim i As Integer

Dim N As Integer

Dim N1 As Integer

' X Y

Dim x(30) As Single

Dim y(30) As Single

 

'

Dim SngX As Single

bytI As Integer

yy As Single

' SngX - , y

 

'

Dim SumX, SumY As Single

Dim Sumx2, SumXY As Single

Dim Sumx3 As Single

Dim Sumx4 As Single

Dim SumX2y As Single

Dim SumLnY As Single

Dim SumXLnY As Single

Dim Xsr As Single

Dim Ysr As Single

Dim SumX_Xsr As Single

Dim SumY_Ysr As Single

Dim Pr_Sum_sr As Single

Dim X_Xsr_2 As Single

Dim Y_Ysr_2 As Single

Dim Sum_ost_lin As Single

Dim Sum_ost_kvad As Single

Dim Sum_ost_exp As Single

Dim koeff_kor As Single

Dim koeff_det_lin As Single

Dim koeff_det_kvad As Single

Dim koeff_det_exp As Single

 

'

Dim masXY() As String

Dim inCounter As Integer

Dim inFoundPos As Integer

Dim num As Byte

Const PROBEL = " "

 

Sub Draw()

 

'

 

'

Picture1.Scale (x(0) - 1, y(N) + 20)-(x(N) + 1, y(0) - 20)

For SngX = x(0) - 1 To x(N) + 1 Step 0.005

yy = v(1) + v(2) * SngX ' y

Picture1.PSet (SngX, yy), vbWhite '

Next SngX '

 

' X

Picture1.Line (x(0) - 1, 0)-(x(N) + 1, 0)

For bytI = x(0) - 1 To x(N) + 1

Picture1.PSet (bytI, 0) ' X

Picture1.Print bytI '

Next bytI

 

' Y

Picture1.Line (0, y(N) + 20)-(0, y(0) - 20)

For bytI = y(0) - 20 To y(N) + 20 Step 20

Picture1.PSet (0, bytI) ' Y

Picture1.Print bytI '

Next bytI

 

'

For i = 1 To N

Picture1.Circle (x(i), y(i)), 0.05, vbBlue

Next i

End Sub

 

Private Sub Gauss(A(), v(), N As Integer, Epsilon)

 

'

Dim Result As Boolean

Dim R(10, 10) As Double

Dim k As Long

Dim u As Long

Dim m As Long

Dim j As Long

Dim i As Long

Dim t As Double

 

For i = 1 To N

For j = 1 To N + 1

R(i, j) = A(i, j)

Next

Next

 

u = 0

Result = True

Do

u = u + 1

k = u

Do While Abs(R(k, u)) <= Epsilon And k < N

k = k + 1

Loop

If k <> N Or Abs(R(N, u)) > Epsilon Then

If k <> u Then

m = u

Do

t = R(u, m)

R(u, m) = R(k, m)

R(k, m) = t

m = m + 1

Loop Until Not m <= N + 1

End If

j = N + 1

Do

R(u, j) = R(u, j) / R(u, u)

j = j - 1

Loop Until Not j >= u

m = N + 1

If k + 1 <= N Then

i = k + 1

Do

j = u + 1

Do

R(i, j) = R(i, j) - R(i, u) * R(u, j)

j = j + 1

Loop Until Not j <= m

i = i + 1

Loop Until Not i <= N

End If

Else

Result = False

End If

Loop Until Not (u <> N And Result)

If Result Then

i = N

Do

v(i) = R(i, m)

If i <> 1 Then

k = i - 1

Do

R(k, m) = R(k, m) - R(k, i) * v(i)

k = k - 1

Loop Until Not k >= 1

End If

i = i - 1

Loop Until Not i >= 1

End If

 

End Sub

 

Private Sub Command1_Click()

 

'

num = FreeFile

Open "ID1.txt" For Input As #num

While Not EOF(num)

i = i + 1

ReDim Preserve masXY(i)

Line Input #num, masXY(i)

Wend

Close num

 

' X Y ListBox

N = i

For i = 1 To N Step 1

inCounter = 1

inFoundPos = InStr(inCounter, masXY(i), PROBEL)

While inFoundPos <> 0

x(i) = Val(Mid$(masXY(i), inCounter, inFoundPos - inCounter))

inCounter = inFoundPos + 1

inFoundPos = InStr(inCounter, masXY(i), PROBEL)

Wend

If inCounter < Len(masXY(i)) Then

y(i) = Val(Mid$(masXY(i), inCounter))

End If

List1.AddItem x(i)

List2.AddItem y(i)

Next i

 

'

For i = 1 To N Step 1

SumX = SumX + x(i)

SumY = SumY + y(i)

Sumx2 = Sumx2 + x(i) ^ 2

SumXY = SumXY + x(i) * y(i)

Sumx3 = Sumx3 + x(i) ^ 3

Sumx4 = Sumx4 + x(i) ^ 4

SumX2y = SumX2y + x(i) ^ 2 * y(i)

SumLnY = SumLnY + Log(y(i))

SumXLnY = SumXLnY + x(i) * Log(y(i))

Next i

 

Xsr = SumX / N

Ysr = SumY / N

 

For i = 1 To N Step 1

SumX_Xsr = SumX_Xsr + (x(i) - Xsr)

SumY_Ysr = Sumy_Xsr + (y(i) - Ysr)

Pr_Sum_sr = Pr_Sum_sr + SumX_Xsr * SumY_Ysr

X_Xsr_2 = X_Xsr_2 + (x(i) - Xsr) ^ 2

Y_Ysr_2 = Y_Ysr_2 + (y(i) - Ysr) ^ 2

Next i

 

'

N1 = 2

ReDim A(1 To N, 1 To N + 1)

ReDim B(1 To N)

ReDim v(1 To N)

A(1, 1) = N

A(1, 2) = SumX

A(2, 1) = SumX

A(2, 2) = Sumx2

A(1, 3) = SumY

A(2, 3) = SumXY

 

Gauss A(), v(), N1, 0.01

 

Text1.Text = "y = " & Round(v(1), 4) & " + " & Round(v(2), 4) & "x"

 

For i = 1 To N

Sum_ost_lin = Sum_ost_lin + (v(1) + v(2) * x(i) - y(i)) ^ 2

Next i

 

koeff_kor = Round(Pr_Sum_sr / Sqr(X_Xsr_2 * Y_Ysr_2), 4)

Text4.Text = koeff_kor

 

koeff_det_lin = Round(1 - Sum_ost_lin / Y_Ysr_2, 4)

Text5.Text = koeff_det_lin

 

Draw

'

For SngX = x(0) - 1 To x(N) + 1 Step 0.005

yy = v(1) + v(2) * SngX ' y

Picture1.PSet (SngX, yy), vbRed '

Next SngX '

 

'

N1 = 3

ReDim A(1 To N, 1 To N + 1)

ReDim B(1 To N)

ReDim B(1 To N)

ReDim v(1 To N)

A(1, 1) = N

A(1, 2) = SumX

A(1, 3) = Sumx2

A(2, 1) = SumX

A(2, 2) = Sumx2

A(2, 3) = Sumx3

A(3, 1) = Sumx2

A(3, 2) = Sumx3

A(3, 3) = Sumx4

A(1, 4) = SumY

A(2, 4) = SumXY

A(3, 4) = SumX2y

 

Gauss A(), v(), N1, 0.01

 

Text2.Text = "y = " & Round(v(1), 4) & " + " & Round(v(2), 4) & "x" & " + " & Round(v(3), 4) & "x^2"

 

For i = 1 To N

Sum_ost_kvad = Sum_ost_kvad + (v(1) + v(2) * x(i) + v(3) * x(i) ^ 2 - y(i)) ^ 2

Next i

 

koeff_det_kvad = Round(1 - Sum_ost_kvad / Y_Ysr_2, 4)

Text6.Text = koeff_det_kvad

 

Draw

'

For SngX = x(0) - 1 To x(N) + 1 Step 0.005

yy = v(1) + v(2) * SngX + v(3) * SngX ^ 2 ' y

Picture1.PSet (SngX, yy), vbGreen '

Next SngX '

 

'

N1 = 2

ReDim A(1 To N, 1 To N + 1)

ReDim B(1 To N)

ReDim B(1 To N)

ReDim v(1 To N)

A(1, 1) = N

A(1, 2) = SumX

A(2, 1) = SumX

A(2, 2) = Sumx2

A(1, 3) = SumLnY

A(2, 3) = SumXLnY

 

Gauss A(), v(), N1, 0.01

 

Text3.Text = "y = " & Exp(Round(v(1), 4)) & " * " & "exp(" & Round(v(2), 4) & "x)"

 

For i = 1 To N

Sum_ost_exp = Sum_ost_exp + (Exp(v(1)) * Exp(v(2) * x(i)) - y(i)) ^ 2

Next i

 

koeff_det_exp = Round(1 - Sum_ost_exp / Y_Ysr_2, 4)

Text7.Text = koeff_det_exp

 

Draw

'

For SngX = x(0) - 1 To x(N) + 1 Step 0.005

yy = Exp(v(1)) * Exp(v(2) * SngX) ' y

Picture1.PSet (SngX, yy), vbMagenta '

Next SngX '

 

End Sub

 

Private Sub Form_Load()

Frame1.Caption = " "

Frame2.Caption = " "

Frame3.Caption = " "

Frame4.Caption = " "

Frame5.Caption = " "

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text5.Text = ""

Text6.Text = ""

Text7.Text = ""

 

List1.AddItem " X "

List2.AddItem " Y "

Label1.Caption = " "

Label1.Font.Size = 16

Label1.Alignment = 2

Label2.Caption = " Visual Basic 6.0"

Label2.Font.Size = 12

Label2.Alignment = 2

Label3.Caption = " -11 .."

Label3.Font.Size = 12

Label3.Alignment = 2

Label4.Caption = " "

Label5.Caption = " "

Label6.Caption = " "

Label7.Caption = " "

Command1.Caption = ""

End Sub

ܻ , . 8.

 

. 8

 

. Microsoft Excel Visual Basic 6.0.

, , . . , .

, Microsoft Excel Visual Basic 6.0, , . , Visual Basic 6.0 Microsoft Excel , .

 

1. .. , .. . . .: - , 1963.

2. : / . . .. . .: , 1997.

3. : / . . .. . .: , 1997.

4. . , .. Excel 5.0. . .: . ̔, 1996.





:


: 2017-02-24; !; : 624 |


:

:

, , .
==> ...

1747 - | 1442 -


© 2015-2024 lektsii.org - -

: 0.045 .