1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
| 1.
Dim WithEvents tx1 As VB.TextBox, WithEvents tx2 As VB.TextBox
2.
Dim WithEvents tx3 As VB.TextBox, txv As VB.Label
3.
Function mini_1$(a, b, D): mini_1 = (-b + Sqr(D)) / (2 * a): End Function
4.
Function mini_2$(a, b, c, x): mini_2 = a * x ^ 2 + b * x + c: End Function
5.
Sub tagasta(): txv.Caption = arvuta(Val(tx1.Text), Val(tx2.Text), Val(tx3.Text)): End Sub
6.
Private Sub Tx1_Change(): Call tagasta: End Sub
7.
Private Sub Tx2_Change(): Call tagasta: End Sub
8.
Private Sub Tx3_Change(): Call tagasta: End Sub
9.
Private Sub Form_Load()
10.
With Me: .Height = 2500: .Visible = True: .Caption = "Ruutvõrrand": End With
11.
Set tx1 = Form1.Controls.Add("VB.TextBox", "tx1", Form1)
12.
With tx1: .Move 100, 1 * 300, 4500, 100: .Visible = True: .Text = i: End With
13.
Set tx2 = Form1.Controls.Add("VB.TextBox", "tx2", Form1)
14.
With tx2: .Move 100, 2 * 300, 4500, 100: .Visible = True: .Text = i: End With
15.
Set tx3 = Form1.Controls.Add("VB.TextBox", "tx3", Form1)
16.
With tx3: .Move 100, 3 * 300, 4500, 100: .Visible = True: .Text = i: End With
17.
Set txv = Form1.Controls.Add("VB.Label", "txv", Form1)
18.
With txv: .Move 100, 4 * 300, 4500, 900: .Visible = True: End With
19.
End Sub
20.
Function arvuta(a!, b!, c!) As String
21.
On Error GoTo viga
22.
Dim x1!, x2!, D!, z1!, z2!, RV$
23.
RV = Chr(13) & Chr(10)
24.
25.
If a = 0 Then 'ruutvõrrand?
26.
arvuta = "f( " & a & " * x^2 " & IIf(b < 0, "", "+") & b & " * x " & _
27.
IIf(c < 0, "", "+") & c & " ): " & RV & "Pole ruutvõrrand"
28.
Else 'ei ole
29.
D = b * b - 4# * a * c
30.
If D >= 0 Then 'kerge?
31.
x1 = mini_1(a, -b, D)
32.
x2 = mini_1(a, b, D)
33.
34.
arvuta = "f( " & a & " * x^2 " & IIf(b < 0, "", "+") & b & " * x " & _
35.
IIf(c < 0, "", "+") & c & " ); D:" & D & RV & _
36.
"x_1: " & x1 & " ja x_2: " & x2 & RV & _
37.
"y_1: " & mini_2(a, b, c, x1) & " ja y_2: " & mini_2(a, b, c, x2)
38.
Else 'ei ole kerge
39.
ruut = Sqr(-root) / (2 * a)
40.
x1 = -b / (2 * a)
41.
z1 = x1 * -D
42.
z2 = x1 * D
43.
44.
arvuta = "f( " & a & " * x^2 " & IIf(b < 0, "", "+") & b & " * x " & _
45.
IIf(c < 0, "", "+") & c & " ); D:" & D & RV & _
46.
"x_(1;2) : " & x1 & " * +- i * " & D & RV & _
47.
"y_1: " & mini_2(a, b, c, z1) & " ja y_2: " & mini_2(a, b, c, z2)
48.
End If
49.
End If
50.
Exit Function
51.
52.
viga:
53.
arvuta = "Sisestasid liiga suure arvu"
54.
End Function |