Dim M%, N%, y% M = Val(Text1) N = Val(Text2) If N Mod 2 <> 0 Then MsgBox (\脚数必须是偶数\ Text2 = \ Text2.SetFocus Else y = N / 2 - M
If N > 4 * M Or N < 2 * M Then MsgBox (\出现荒唐解,请重新输入\ Text2 = \ Text2.SetFocus Else y = N / 2 - M Label2 = M - y
Label3 = y End If End If End Sub
实验3-6
输入一元二次方程的ax2+bx+c=0的
图2.3.4 实验3.6运行界面
提示:
要考虑实根,要求判断b^2-4*a*c>=0。 Private Sub Command1_Click() Dim a!, b!, c!, x1!, x2!, de! a = Text1 b = Text2
c = Text3
de = b * b - 4 * a * c t = 2 * a If de = 0 Then
Text4 = Format(-b / t, \ Text5 = Format(-b / t, \ ElseIf de > 0 Then
Text4 = Format((-b + Sqr(de)) / t, \ Text5 = Format((-b - Sqr(de)) / t, \ Else
Text4 = Format(-b / t, \Text5 = Format(-b / t, \End If End Sub
Private Sub Command2_Click() Text1 = \
Text2 = \ Text3 = \ Text4 = \ Text5 = \ End Sub
实验3-7
“重置”按钮,清除文本框输入的内容、窗体显示的信息和计算,并对窗体级变量赋初值零,便于再次输入和统计。
提示:
①在过程外最上方声明一个窗体级变量n,存放统计括号配对的情况;
②在Text1_KeyPress(KeyAscii As integer)事件过程中进行如下处理:
If Chr(KeyAscii)不是等号 Then
若是左括号”(”则n=n+1;
若是右括号”)”则n=n-1;
Else
结束表达式输入,对n的3种情况:=n、>0、<0用Print方法显示相应的信息
End If
用一个嵌套的双分支和内嵌两个多分支结构来实现。 Dim n!
Private Sub Command1_Click() Text1.Text = \ n = 0 Cls End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii) <> \ If Chr(KeyAscii) = \ n = n + 1 End If