Ⅰ 用VB怎么编一元二次方程计算
创建text1,text2,text3
dim a,b,c,x1,x2 '声明变量
val(text1.text)=a
val(text2.text)=b
val(text3.text)=c '给变量赋值
if b^2-4ac>=0 then
x1=(-b+sqr(b^2-4ac))/2a
x2=(-b-sqr(b^2-4ac))/2a '利用求根公式计算
print "方程的解为:" & x1 & ";" & x2
else
print "方程没有实数解"
end if '判断并输出结果
Ⅱ VB 解一元二次方程程序设计
vb代码如下:
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
Dim d As Single, x1 As Single, x2 As Single
a = InputBox("请输入一元二次方程的系数a")
b = InputBox("请输入一元二次方程的系数b")
c = InputBox("请输入一元二次方程的系数c")
If a = 0 Then
a = InputBox("因为a≠0,你输入的a=0,请重新输入系数a")
End If
d = b * b - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x1
Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x2
Else
Print "此方程在实数范围内无解"
End If
End Sub
一、按钮“求一元二次方程”的vb代码如下:
Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text
c = Text3.Text
d = b * b - 4 * a * c
If d >= 0 Then
X1 = (-b + Sqr(d)) / (2 * a)
X2 = (-b - Sqr(d)) / (2 * a)
Label4.Caption = X1
Label5.Caption = X2
Else
Label4.Caption = "在实数范围内无解"
End If
End Sub
二、按钮“重置”的vb代码如下:
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Label4.Caption = ""
Label5.Caption = ""
End Sub
三、按钮“退出”的vb代码如下:
Private Sub Command3_Click()
End
End Sub
特殊例子(指定系数c的值为5):
在窗体“Form1.frm”的“Command1_click“事件中编写代码(请不要随便更改其它代码),使之能够实现如下功能:在Text1输入整数a、、Text2输入b,判断一元二次方程ax2+bx+5=0有无实数根。并在Text3文本框中显示判断结果,即有实数根则在Text3文本框中输出“有”,否则输出“无”。
VB程序代码如下:
Private Sub Command1_Click()
dim a as single,b as single
a = Text1.Text
b = Text2.Text
d = b * b - 4 * a * 5
If d >= 0 Then
Text3.Text="有"
Else
Text3.Text="无"
End If
End Sub
如果不用dim定义变量,则上面的输入部分语句改为下面的语句,这样可以把字符变量类型转化为数值类型:
a =val(Text1.Text)
b =val(Text2.Text)
楼主.给你写这么呢多你不给加点分吗?= =||
Ⅲ 用vb编写一个一元二次方程
在窗口上新建一个按钮,代码如下:
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
Dim x As Single
Dim y As Single
a = Val(InputBox("请输入a", "参数a"))
b = Val(InputBox("请输入b", "参数b"))
c = Val(InputBox("请输入c", "参数c"))
x = Val(InputBox("请输入x", "参数x"))
y = a * x ^ 2 + b * x + c
Print "y=" & a & "* " & x & "^2+" & b & "*" & x & "+" & c & "=" & y
End Sub
Ⅳ Vb 中,计算解一元二次方程,代码如下 Dimaassingle,bassingle
修改后的代码如下:
Dim a As Single, b As Single, c As Single, x1 As Single, x2 As Single
a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text)
If b ^ 2 - 4 * a * c >= 0 Then
x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
x2 = (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
Text4.Text = "原方程的解为x1=" & x1 & " x2 = " & x2
Else
x1 = -b / 2 + Sqr(4 * a * c - b ^ 2)
x2 = -b / 2 - Sqr(4 * a * c - b ^ 2)
Text4.Text = "原方程的复数解为x1=" & x1 & " x2=" & x2
End If
出错的原因:1、除数为0,估计中间可能a赋值为0了。
2、某一步的计算结果超出了定义的single范围,即负数范围是从 -3.402823*E38 到 -1.401298*E-45,正数从1.401298*E-45 到 3.402823*E38,和 0。如二楼所说,在范围不确定的时候定义为double好一点。
Ⅳ 关于vb编程 解一元二次方程
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer, d As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = b * b - 4 * a * c
If d < 0 Then
Label4.Caption = "此方程无解"
ElseIf d = 0 Then
Label4.Caption = "此方程有两个相等的根,x1=" & Str(-b / (2 * a))
'x=[-b]/2a
ElseIf d > 0 Then
Label4.Caption = "此方程有两个不相等的根,x1=" & Str(Round((-b + Sqr(d)) / (2 * a), 0)) _
& " x2=" & Str(Round((-b - Sqr(d)) / (2 * a), 0))
End If
End Sub
张志晨
Ⅵ 用VB编写求一元二次方程的代码是什么
'求一元二次方程的跟ax^2+bx+c=0
Private Sub Command1_Click()
Dim a#, b#, c#, gen#
a = InputBox("输入A的值")
b = InputBox("输入B的值")
c = InputBox("输入C的值")
If a = 0 And b = 0 And c = 0 Then
Print "x的值是全体实数."
ElseIf a = 0 And b = 0 And c <> 0 Then
Print "x的值不存在!"
ElseIf a = 0 And b <> 0 Then
Print "x1的值是"; (-c / b)
ElseIf a <> 0 And (b ^ 2 - 4 * a * c) >= 0 Then
gen = (b ^ 2 - 4 * a * c) ^ 0.5
Print "x1的值是"; ((-b - gen) / (2 * a))
Print "x2的值是"; ((-b + gen) / (2 * a))
ElseIf a <> 0 And (b ^ 2 - 4 * a * c) < 0 Then
Print "x的值不存在!"
End If
End Sub
Ⅶ VB程序编程:画出求一元二次方程的流程图
以下是画一元二次方程的图的代码:(假设y=a*x^2+b*x+c,将窗口的大小调为4800×4800)
Private Sub Command1_Click()
Cls
Line (0, 2400)-(4800, 2400), RGB(255, 0, 0)
Line (2400, 0)-(2400, 4800), RGB(255, 0, 0)
Dim x
Dim xx
Dim y
Dim yy
Dim a
Dim b
Dim c
a = InputBox("请输入二次项系数(a)", "录入")
b = InputBox("请输入一次项系数(b)", "录入")
c = InputBox("请输入常数项(c)", "录入")
For x = -4800 To 4800 Step 0.5
y = a * x ^ 2 + b * x + c
xx = x + 2400
yy = -y + 2400
PSet (xx, yy), RGB(0, 0, 255)
Next x
End Sub
Private Sub Form_Activate()
Line (0, 2400)-(4800, 2400), RGB(255, 0, 0)
Line (2400, 0)-(2400, 4800), RGB(255, 0, 0)
End Sub
基于计算机的计算能力问题,画出来的图可能不准确,如果代入a=0的话就会画出直线,就可以说明我的代码是正确的了
Ⅷ 用VB控制台应用程序编写一元二次方程
请把问题说完整一些……
如果只是要一元二次方程的结果 那么 比如 需要 X^2+x+5 的结果,那么 这么做
加一个 text 加一个command
输入如下代码
Private Sub Command1_Click()
Dim x As Integer
x = Val(Text1.Text)
MsgBox x * x + x + 5
End Sub
然后在 text1中输入 数字 点 command1 就算出来了
Ⅸ 求解一元二次方程的程序vb
直接将代码复制到窗体中测试即可Private Sub Form_Load()
Dim a, b, c, x1, x2 As Single
Dim str As String
a = Val(InputBox("请输入一元二次方程的二次项系数"))
b = Val(InputBox("请输入一元二次方程的一次项系数"))
c = Val(InputBox("请输入一元二次方程的常数项"))
If a = 0 Then
If c < 0 Then
str = b & "x" & c & "=0"
Else
str = b & "x+" & c & "=0"
End If
If MsgBox("你输入的方程为" & str & ",是否要求解?", vbOKCancel) = vbOK Then
If b = 0 Then
MsgBox "此方程无解!"
Else
x1 = -c / b
MsgBox "方程只有一个解,x=" & x1
End If
End If
Else
If b < 0 Then
If c < 0 Then
str = a & "x^2" & b & "x" & c & "=0"
Else
str = a & "x^2" & b & "x+" & c & "=0"
End If
Else
If c < 0 Then
str = a & "x^2+" & b & "x" & c & "=0"
Else
str = a & "x^2+" & b & "x+" & c & "=0"
End If
End If
If MsgBox("你输入的方程为" & str & ",是否要求解?", vbOKCancel) = vbOK Then
If b ^ 2 - 4 * a * c < 0 Then
MsgBox "方程" & str & "无解!"
Else
If b ^ 2 - 4 * a * c = 0 Then
x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
MsgBox "方程" & str & "有两个相等的解,x1=" & x1 & ",x2=" & x1
Else
x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
x2 = (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
MsgBox "方程" & str & "有两个不相等的解,x1=" & x1 & ",x2=" & x2
End If
End If
End If End If
End
End Sub
Ⅹ 求一元二次方程ax^2+bx+c=0的根.用VB语言怎么编
Private Sub Command1_Click()
Dim A As Single,B As Single,C As Single
Dim R1 As Single,R2 As Single
A = Val(Text1.Text)
B = Val(Text2.Text)
C = Val(Text3.Text)
If B ^ 2 - 4 * A * C < 0 Then
MsgBox "该方程无解."
ElseIf B ^ 2 - 4 * A * C = 0 Then
R1 = -B / 2 / A
MsgBox "该方程仅有一个根为" & R1 & "."
Else
R1 = (-B + Sqr(B ^ 2 - 4 * A * C)) / (2 * A)
R2 = (-B - Sqr(B ^ 2 - 4 * A * C)) / (2 * A)
MsgBox "该方程有两个根分别为" & R1 & "和" & R2 & "."
End If
End Sub