常见错误 数据合法性检查中引起程序的死循环 Private Sub Text1 LostFocus( Private Sub Text2 LostFocusO If Not IsNumeric(Text1)Then If Not IsNumeric(Text2y Then Text1 II lI Text2= Text 1, setFocus Text1. setfocus End if 1: End If End sub Text 1 Text2 End sub 确定 If Text2<>And Not IsNumeric(Text2
常见错误 数据合法性检查中引起程序的死循环 Private Sub Text1_LostFocus() If Not IsNumeric(Text1) Then Text1 = "" Text1.SetFocus End If End Sub Private Sub Text2_LostFocus() If Not IsNumeric(Text2) Then Text2 = "" Text1.SetFocus End If End Sub If Text2 <> "" And Not IsNumeric(Text2) Text1 Text1 Text2 确定
选择结构 1..Then语句单分支结构 F 表达式 Hf<表达式>Then T 语句块 语句块 End旰f 或<表达式>Then<语句> 例:已知两个数x和y,比较它们的大小, 图1-3-7单分支结构 使得X大于y If x<y Then t=x x-y 或 f x<y Then t=x:x=y:y=t”2mm top y End If 图1-3-8两个数交换 重要的是学会两个数的交换,若上述语句次序变一下,结果如何?
三.选择结构 1. If…Then语句(单分支结构) If <表达式> Then 语句块 End If 或 If <表达式> Then <语句> 例:已知两个数x和y,比较它们的大小, 使得x大于y. If x<y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t 重要的是学会两个数的交换,若上述语句次序变一下,结果如何? 表达式 语句块 T F 图1-3-7 单分支结构 t x y 图 1-3-8 两个数交换 过程
2.If.Then.E|le语句(双分支结构) T f<表达式>Then 表达式 下语句块 语句块 语句块 Else <语句块2> End If 图1-3-9双分支结构 f<表达式>Then<语句1>Ese<语句2 计算分段函数 sinx+√x2+1x≠0 y=1 cosx-x+3x x=0 单分支结构实现:y=cos(x)-x3+3*x If x<>0 Then y=sin(x+sqrt(x x+1) 双分支结构实现:fx<>0Then M7 y=sin(x)+sqrt(x*x+1) Elsea y=cos(x)-x23+3*x409 End旰f
2. If…Then…Else语句(双分支结构) If <表达式> Then <语句块1> Else <语句块2> End If If <表达式> Then <语句1> Else <语句2> 计算分段函数 表达式 F 图 1-3-9 双分支结构 语句块 1 T 语句块 2 y x x x x x x x = + + − + = sin cos 2 3 1 0 3 0 单分支结构实现: y=cos(x)-x^3+3*x If x<>0 Then y=sin(x)+sqrt(x*x+1) 双分支结构实现: If x<>0 Then y=sin(x)+sqrt(x*x+1) Else y=cos(x)-x^3+3*x End If
3.I..Then..Else语句(多分支结构) 形式: Hf<表达式1Then F <语句块1><达式 F Elself<表达式2 Then IT 达式2 <语句块2> 表太式n T [Else. noy 语句块 语句块2 语句块n谧呋n+1 语句块n+1] End if 图1-3-10多分支结构 不管有几个分支,依次判断,当某条件满足,执行相应的语句块 其余分支不再执行;若条件都不满足,且有Else子句,则执行该 语句块,否则什么也不执行。. Elself不能写成Esef
3. If…Then…ElseIf语句(多分支结构) 形式: If <表达式1> Then <语句块1> ElseIf <表达式2>Then <语句块2> … [Else 语句块n+1 ] End If 不管有几个分支,依次判断,当某条件满足,执行相应的语句块, 其余分支不再执行;若条件都不满足,且有Else子句,则执行该 语句块,否则什么也不执行。. ElseIf不能写成 Else If。 表达式 1 表达式 2 表达式n T F T F 图 1-3-10 多分支结构 语句块 1 语句块 2 语句块 n 语句块n+1 F … T
例已知百分制成绩m水,显示对应的五级制成绒 哪些正确,哪些错误 方法一 方法三 If mark >=90 Then If mark 60 Then If mark >=60 Then Print"优 Print"不及格 Print"及格 Elself mark >=80 Then Elself mark< 70 Then Elself mark>=70Then Elself mark >=70 Then Elself mark <80 ThenElself mark >=80 Then nio/il Print"良 Print"及格 Print"中" Pint"中" Print"中 Print"良" Elself mark >=60 Then Elself mark 90 Then Elself mark >=90 Then Print"及格" Print"良" Print"优" Else Else Else Print"不及格 Print"优 Print"不及格 End if End if End If
例 已知百分制成绩mark,显示对应的五级制成绩 哪些正确,哪些错误? 方法一 If mark >= 90 Then Print "优" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 60 Then Print "及格" Else Print "不及格" End If 方法二 If mark < 60 Then Print "不及格" ElseIf mark < 70 Then Print "及格" ElseIf mark < 80 Then Print "中" ElseIf mark < 90 Then Print "良" Else Print "优" End If 方法三 If mark >= 60 Then Print "及格" ElseIf mark >= 70 Then Print "中" ElseIf mark >= 80 Then Print "良" ElseIf mark >= 90 Then Print "优" Else Print "不及格" End If