江苏省二级VB 第五章 选择分支与循环嵌套
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章选择分支与循环嵌套
5.1 分支结构与分支结构语句(2个例子)
5.2 循环结构与循环结构语句(6个例子)
5.3 程序实例(10个例子)
习题练习(11个例子)
5.1 分支结构与分支结构语句
5.1.1 IF-Then-Else-End If 结构语句
结构一般如下:
If e Then
[ A组语句 ]
Else
[ B组语句 ]
End If
e 为判决条件,可以是逻辑变量,关系表达式或逻辑表达式。
当A组语句仅有一个时,可简化为:If e Then < 语句 >
例如,程序代码:If Text1.Text = “” Then
Text1.SetFocus
End If
可以简化为:‘当文本框中文本为空时,则使得文本框成为焦点。
If Text1.Text = “” Then Text1.Setfocus (省去End If)
较为复杂的结构如下:
If e1 Then ‘如果e1为True,则执行A1组语句
A1 组语句
ElseIf e2 Then ‘如果e2为True,则执行A1组语句
A2 组语句
…
End If
[ 例题5-1 ] 已知三角形的三边长度,设计求此三角形面积的程序。
问题分析:a + b > c & a + c > b & b + c > a , S = sqr(p(p-a)(p-b)(p-c)) , p= (a+b+c)/2
算法设计:开始——输入a、b、c——判断a + b > c & a + c > b & b + c > a,通过则求p,求S,否则提示:“输出数据错误信息”——结束。
设计程序代码如下:
Private Sub Command1_Click( )
Dim a As single, b As single, c As single
a = Val(Text1.text) ‘Text 属性为字符串型,转为数值型
b = Val(Text2.text)
c = Val(Text3.text)
If a + b > c and a + c > b and b + c > a Then
p = (a+b+c)/2
s = sqr(p*(p-a)*(p-b)*(p-c))
Text4.text = CStr(s) ‘数值型,转为字符串型,不使用,则自动强制转换
Else
Text4.text = “数据错误”
End If
End Sub
Private Sub Command2_Click ( ) ‘结束程序
End
End Sub
Private Sub Command3_Click ( ) ‘清除原有数据
Text1.text = “”
Text2.text = “”
Text3.text = “”
Text4.text = “”
Text1.SetFocus
End Sub
[ 例题5-2 ]一个有多个分支的示例程序数学表达式:,试写出该程序。
程序界面设计:两个文本框和一个命令按钮及相应的说明标签,文本框1中输入测试数据,单击命令按钮,在文6本框2给出测试结果。
Private Sub Command1_Click ( )
Dim x as Integer
x = Val(Text1.Text )
If x < 1 Then
Text2.Text = “这是小于1的数”
ElseIf x < = 10 Then
Text2.Text = “这是1到10之间的数”
End If
End Sub
5.1.2 Select-Case-End-Select 结构语句
一般形式如下:
Select Case e ‘e 为测试表达式
Case c1 ‘c1是测试项,可取(1)具体数值(当表达式为算数表达式时) A组语句(2)连续的数据范围(8 To 20,B To H)
Case c2 ( 3 ) 满足某个判决条件 (Is >20, Is < “P”)
B组语句 ( 4 ) 多个范围的组合
…
Case Else
n组语句
End Select
例题5-2 的程序代码也可用本结构语句实现:
Private Sub Command1_Click ( )
Dim x as Integer
x = Val(Text1.text)
Select Case x
Case Is < 1
Text2.Text = “这是小于1的数”
Case 1 To 10
Text2.Text = “这是1到10之间的数”
Case Else
Text2.Text = “这是大于10的数”
End Select
End Sub
5.2 循环结构与循环结构语句
循环语句按结构分:当型结构和直到型结构的区别仅仅是False和True 位置交换,下为当型的两种结构:
True
False
True
False
A
A
5.2.1 Do-Loop 循环语句结构