Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

Нова тема
visual basic 6 - програма
Тази тема е погледната 366 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 14.07.2008 20:58
gorgi1111
Калфа

Мнения: (29)

някои може ли да ми каже как да си направя програма която да решава квадратни уравнения?


 
---------------------------
Потребител от: 23.04.08 | Всички уроци от gorgi1111 | Всички скриптове от gorgi1111
напиши eMail напиши лично съобщение виж профила на gorgi1111
Публикувано на: 14.07.2008 22:35
G9M29
Самурай

Мнения: (206)

Ето ти първи вариант :

CODE
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

Това е втори вариант!

 CODE
1
2
3
4
5
6
7
8
9
As long as you can get the equation in the form
/докато уравнението ти е
/:
ax^2 + bx + c = 0, (where a <> 0)
you can solve for each solution of x as so
/ можеш да решиш всяко х като показаното /:

let x = (-b + sqrt(b*b-4*a*c))
/(2*a)
and
let x = (-b - sqrt(b*b-4*a*c))/(2*a)

Ако това не ти върши работа погледни   тук

Отговорите са на основа на намереното в Google! Аз лично само съм преглеждал програмата, но не и да съм работ с нея.


 
Това мнение е редактирано от G9M29 на 14.07.2008 22:36
---------------------------
Потребител от: 08.04.08 | Всички уроци от G9M29 | Всички скриптове от G9M29

Свободата е правото на Избор ! / ИНТЕРНЕТ /
напиши eMail напиши лично съобщение виж профила на G9M29
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   





IT-PLACE.NET © 2004 - 2008