简单介绍
程序1:
设计了一个解方程的程序,分为一元一次方程PX+Q=0和一元二次方程AX^2+BX+C=0,用户输入系数PQABC的值,然后点击“计算”显示方程的解。
1)通过两个单选按钮和一个frame控件,用户可以选择是要计算一元一次方程还是一元二
次方程,并且切换PX+Q=0和AX^2+BX+C=0的显示。
2)五个空框(文本框)——其中三个用于用户输入,两个用于方程解的显示。
3)三个按钮——“计算”、“清空”、“退出”。
4)控件的显示和隐藏:通过“____.Visible = True ”显示____控件;“_____.Visible = False ”
隐藏_____控件。
5)设置控件caption属性的语句:“A.Caption = B.Caption ”将前者A的标题设置为后者
B的标题。
程序2:
设计了一个判断素数的小程序,用户输入一个数值,然后点击“点我判断是否为素数”,将显示出该数是素数或者不是素数。
1)一个空框(文本框)——用于用户输入。
2)两个标签——一个显示“输入数值:”,另一个永远显示用户输入的数是素数或者不是
素数。
3)一个按钮——“点我判断是否为素数”。
设计过程中用了if语句、函数、带默认值的函数参数、函数参数、数组等。
ps: 设计过程中,联系之前学习的C++有关知识,借阅了“Visual Basic程序设计方法”并且借助网络请教了高手,才做出这两个程序,望老师见谅。
附程序代码:
Private Sub Command1_Click()
Dim abc() As String '定义存储方程的两个根的数组
If Option1.Value = True Then '如果计算一元二次方程
abc = Axbc(Val(Text3.Text), Val(Text2.Text), Val(Text1.Text)) '参数顺序为C、B、A Text4.Text = abc(0) '返回方程第一个根
Text5.Text = abc(1) '返回方程第二个根
Else '否则计算一元一次方程
abc = Axbc(Val(Text2.Text), Val(Text1.Text)) '参数顺序为C=Q、B=P
Text4.Text = abc(0) '返回一元一次方程的根。
End If
End Sub
Private Sub Command2_Click() '清空所有文本框。
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
Private Sub Command3_Click() '退出程序
Unload Me
End Sub
Private Sub Option1_Click() '点击单选框时发生
If Option1.Value = True Then '如果option1单选框被用户选择
Frame1.Caption = Option1.Caption '将frame1的标题设置为option1的标题
Label1.Caption = " A X^2 + B X + C = 0" '显示一元二次方程的一般形式Text3.Visible = True '显示Text3控件
Label3.Visible = True '显示Label3控件
Text5.Visible = True '显示Text5控件
Call Command2_Click '调用按钮2点击事件清空所有文本框
End If
End Sub
Private Sub Option2_Click()
If Option2.Value = True Then '如果option2单选框被用户选择
Frame1.Caption = Option2.Caption '将frame1的标题设置为option2的标题
Label1.Caption = " P X + Q = 0" '显示一元一次方程的一般形式
Text3.Visible = False '隐藏Text3控件
Label3.Visible = False '隐藏Label3控件
Text5.Visible = False '隐藏Text5控件
Call Command2_Click '调用按钮2点击事件清空所有文本框
End If
End Sub
Public Function Axbc(c As Double, b As Double, Optional a As Double = 0) As String() '返回一个string数组,它存储方程的两个根。
Dim Gen(1) As String '定义要存储方程的两个根的数组。
If a = 0 Then '如果A为零,作一元一次方程
Gen(0) = -c / b '一元一次方程的根
Gen(1) = Gen(0) '一元一次方程的根
Axbc = Gen '函数返回存储根的数组
Exit Function '退出函数
End If
If (b * b - 4 * a * c) > 0 Then '一元二次方程判别式的三种情况
Gen(0) = (-b + Sqr(b * b - 4 * a * c)) / (2 * a)
Gen(1) = (-b - Sqr(b * b - 4 * a * c)) / (2 * a)
ElseIf (b * b - 4 * a * c) = 0 Then
Gen(0) = (-b + Sqr(b * b - 4 * a * c)) / (2 * a)
Gen(1) = Gen(0)
ElseIf (b * b - 4 * a * c) < 0 Then
Gen(0) = "该方程无实根!"
Gen(1) = "该方程无实根!"
End If
Axbc = Gen
End Function
Private Sub command1_click()
Dim n As Integer, b As Boolean
n = Val(Text1.Text)
b = sushu(n)
If b Then
Label2.Caption = Text1.Text + "是素数。"
Else
Label2.Caption = Text1.Text + "不是素数。"
End If
End Sub
Public Function sushu(ByVal x%) As Boolean
Dim m As Integer
For m = 2 To Int(Sqr(x))
If (x Mod m) = 0 Then sushu = False
Exit Function Next m sushu = True End Function