当前位置:文档之家› vb程序流程控制

vb程序流程控制

vb程序流程控制
vb程序流程控制

第三章程序流程控制

一、教学内容

在Visual 中,其流程控制语句分为条件测试语句和循环语句。本章将重点介绍这两种流程控制语句的用法与功能

二、目的要求

1.熟练掌握行if语句、块if结构、Select Case情况选择结构有使用,掌握选择的嵌套结构;

2.熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。

三、教学重点与难点

教学重点:选择结构及循环结构的实现及其应用

教学难点:选择的嵌套及多重循环结构

四、教学方法

多媒体教学为主。适当提问,加深学生对概念的理解。

第一讲(2学时)

一、教学内容

3种条件测试语句:由If构成的两种类型测试语句和由Select Case构成的测试语句二、目的要求

1.熟悉If…Then结构,If…Then…Else结构,Select…Case 结构

2.了解多重If语句,If语句的嵌套

三、教学重点与难点

教学重点:If…Then结构,If…Then…Else结构。

教学难点:多重If语句,If语句的嵌套

四、教学方法

多媒体教学。

五、教学过程

3.1.1 If测试语句

1. If…Then结构

单行语句格式:

If 条件表达式 Then 语句

多行语句格式:

If 条件表达式 Then

语句块

End If

2. If…Then…Else结构

语句格式:

If 条件表达式 Then

语句块1

Else

语句块2

End If

3. 多重If语句

语句格式:

If 条件表达式1 Then

语句块1

ElseIf 条件表达式2 Then 语句块2

ElseIf 条件表达式3 Then 语句块3

……

ElseIf 条件表达式n Then 语句块n

Else

语句块

End If

例:以下示例完成对所输入的整数进行判断,若输入数为正数,则显示“大于零”,若输入数为负数,则显示“小于零”,否则显示“等于零”。

在Command1按钮的Click事件中输入如下代码:

Private Sub Command1_Click()

If Val < 0 Then

= ?小于零?

ElseIf Val > 0 Then

= ?大于零?

Else

= ?等于零?

End If

End Sub

3.1.2 Select Case测试语句

1. Select Case语句的一般形式

语句格式:

Select Case 测试表达式

Case 表达式列表1

语句块1

Case 表达式列表2

语句块2

……

Case 表达式列表n

语句块n

Case Else

语句块

End Select

【例】将输入文本框中的所有小写字母转换成大写字母,并将一些特殊符号变成等价的字符串,如DLR表示$、、0/0表示%、BPT表示#、AND表示&等。可以在KeyPress事件中修改文本框控件的缺省操作,使它能在用户输入这些字符时进行相应修改。

Private Sub Text1_KeyPress (KeyAscii As Integer)

Dim spesymbols As String

Dim ch As String ?1

Spesymbols=?$#%&@?

ch= Chr(KeyAscii)

If InStr(Spesymbols,ch) Then

KeyAscii=0

Else

KeyAscii = Asc(Ucase(ch))

Exit Sub

End If

Select Case ch

Case ?$?: =?DLR?

Case ?#?: =?BPT?

Case ?%?: =?0/0?

Case ?&?: =?AND?

Case ?@?: =?AT?

End Select

End Sub

六、小结

在这一讲里,我们经常需要对给定的条件进行判断或比较,然后根据判断的结果来决定下一步将采取的操作,这时便可以使用条件测试语句来实现。它有三种结构。单分支,双分支和多重分支,我们都要学会,并运用。

七、作业

习题

第二讲(2学时)一、教学内容

For…Next、Do…Loop、While…Wend三种循环的用法二、目的要求

1.熟悉While…Wend循环的用法

2.掌握For…Next、Do…Loop循环的用法

三、教学重点与难点

教学重点:For…Next、Do…Loop循环的用法

教学难点:循环的嵌套

四、教学方法

多媒体教学。

五、教学过程

3.2.1 For...Next循环结构

语句格式:

For counter = start To end [ Step increment]语句块1

[Exit For]

语句块2

Next [counter]

说明:在使用这种循环结构时,要求知道执行循环的次数。

【例】求sum=1+2+3+…+100。用For…Next循环结构实现

程序代码如下:

Private Sub Command1_Click()

Dim sum As Integer, I As Integer

sum=0

For I=1 To 100

sum=sum+I

Next I

=Str(sum)

End Sub

3.2.2 Do…Loop循环结构

语句格式1:

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

语句格式2:

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

说明:在循环次数不能确定的情况下进行的,那么这时便需要用到循环控制结构Do…Loop

【例】用Do...Loop循环结构实现求和sum=1+2+3+ (100)

编写程序代码。

解法一:采用当型循环Do While…Loop

Private Sub Command1_Click()

Dim i As Integer,sum As Integer

i=1 '计数器初值置为1

sum=0 '累加器初值置为0

Do While i<=100 '当型循环

sum=sum+i

i=i+1 '每次循环变量加1

Loop

=Str(sum)

End Sub

解法二:采用直到型循环Do Until…Loop

Private Sub Command1_Click()

Dim i As Integer,sum As Integer

i=1 '计数器初值置为1

sum=0 '累加器初值置为0

Do Until i>100

sum=sum+i

i=i+1

Loop

=Str(sum)

End Sub

3.2.3 While…Wend循环控制结构

此语句是为了保持与低版本Visaul Basic兼容而保留的。在实际应用中,它与Do While…Loop结构非常相似。

六、小结

在这一讲里,我们要掌握For…Next、Do…Loop循环的用法,其中循环的嵌套不容易理解。大家要多自己编些程序来熟悉它

七、作业

习题,

相关主题
文本预览
相关文档 最新文档