实验3-3
输入x,y,z
图2.3.1 实验3.3运行界面
提示:
①利用InputBox函数输入3个数,存放到数值型变量中,然后对其进行比较;若放在字符串变量中,有时会得到不正确的结果(因为字符串是从左到右的规则比较,例如会出现“34”>“2345”>“126789”的情况)。
②对三个数进行排序,只能通过两两比较,一般可用三条单分支if语句来实现。方法如下:
先将x与y比较,使得x>y;然后将x与z比较,使得x>z,此时x最大;最后将y与z比较,使得y>z。
③要显示多个数据,可以用“;”逐一显示,也可利用“&”字符串连接符将多个
变量连接显示。例如要输出x、y、z:
Print ”排序后”;x;” ”;y;” ”;z ‘用分号将多个变量显示
也可
Print ”排序后”& x &” ” & y &” ” &z ‘用”&”字符串连接符
思考:若要按从小到大的次序显示,程序将如何修改? Private Sub Command1_Click() Dim x!, y!, z! x = InputBox(\ y = InputBox(\ z = InputBox(\ Print \ Print \排序前\ If x < y Then t = x: x = y: y = t If x < z Then t = x: x = z: z = t If y < z Then t = y: y = z: z = t
Print \排序后\ End Sub
实验3-4
图2.3.2 实验3.4运行界面 提示:
对于存放操作符的文本框Text3,利用Select Case语句实现相应的运算。 Private Sub Command2_Click() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ End Sub
Private Sub Text3_LostFocus() Select Case Trim(Text3) Case \
Text4 = Val(Text1) + Val(Text2) Case \
Text4 = Val(Text1) - Val(Text2) Case \
Text4 = Val(Text1) * Val(Text2) Case \
If Val(Text2) = 0 Then MsgBox \分母为零,重新输入\ Text2 = \ Text2.SetFocus Else
Text4 = Val(Text1) / Val(Text2) End If End Select End Sub
实验3-5
利用计算机解决古代数学问题”鸡兔同笼问题”。即已知在同一个笼子里有总数为M只鸡和兔,鸡和兔的总脚数为N只,求鸡和兔各有多少只?
提示:
鸡、兔的只数通过已知输入的M,N列出方程可解, 设鸡为x只,兔为y只,则计算公式为:
但不要求出荒唐的解(如3.5只鸡、4.5只兔,或者求得的只数为负数)。因此,在Text2_LostFocus事件中要考虑下面两个条件:
①输入的总脚数N必须是偶数,否则提示数据错误的原因,要求重新输入数据。(使用求余方法判断,即N Mod 2<>0)
图2.3.3 实验3.5运行界面
②
Private Sub Text2_LostFocus()