VB教程第4章教案_第1页
VB教程第4章教案_第2页
VB教程第4章教案_第3页
VB教程第4章教案_第4页
VB教程第4章教案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主页主页 程序流程有三种最基本的控制程序流程有三种最基本的控制结构,即顺序结构、选择结构和循结构,即顺序结构、选择结构和循环结构。环结构。 在一个过程中,程序通常是按在一个过程中,程序通常是按照由上而下的顺序来执行各个语句照由上而下的顺序来执行各个语句的,直到整个过程结束。使用选择的,直到整个过程结束。使用选择结构和循环结构,可以改变程序执结构和循环结构,可以改变程序执行的流程。行的流程。主页主页 本章主要内容本章主要内容 第第4 4章章 选择结构程序设计选择结构程序设计条件表达式条件表达式 关系表达式关系表达式 / 逻辑表达式逻辑表达式 条件语句条件语句 If.Then / If.Then.

2、Else 条件语句的嵌套条件语句的嵌套多分支语句多分支语句选择性控件选择性控件 单选按钮单选按钮 / 复选框复选框计时器控件计时器控件程序举例程序举例退出退出主页主页 选择程序结构用于判断给定的条件,根据判断的结果判选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程断某些条件,根据判断的结果来控制程序的流程 4.1 4.1 条件表达式条件表达式 示例示例 If x = 5 Then y = x + 1 If a1 And b0 Then x = 1 4.2 4.2 条件语句条件语句 两种格式的条件语句:两种格式的条件语句: If . Then If .

3、Then . Else选择结构设计选择结构设计关系表达式关系表达式逻辑表达式逻辑表达式主页主页 格式:格式: If 条件条件 Then 语句语句 或或 If 条件条件 Then 语句块语句块 End If 功能:功能:若条件成立若条件成立(值为真值为真),则执行,则执行Then后面的语句或语句后面的语句或语句块,否则直接执行下一条语句或块,否则直接执行下一条语句或“End If”的下一条语句的下一条语句 .1 If.Then语句语句多行多行(块块)结构结构单行结构单行结构正例正例: If a 12 Then y=2正例正例: If a 12 Then y=2 End If错例:

4、错例:If a 12 Then y=2 End If主页主页 格式:格式: If 条件条件 Then 语句块语句块1 (A) Else 语句块语句块2 (B) End If 功能:功能:首先测试条件首先测试条件(E),如果条件成立,如果条件成立(即值为真即值为真),则,则执行执行Then后面的语句块后面的语句块1,如果条件不成立,如果条件不成立(即值为假即值为假),则,则执行执行Else后面的语句块后面的语句块2。而在执行。而在执行Then或或Else之后的语句块之后的语句块后,会从后,会从End If之后的语句继续执行。之后的语句继续执行。真假AB E .2 If.Then.

5、Else If.Then.Else语句语句主页主页 实现一些简单的条件判断分支结构实现一些简单的条件判断分支结构 格式:格式: IIf(条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值) 功能:对条件进行测试,若条件成立功能:对条件进行测试,若条件成立(为真值为真值),则取第一个,则取第一个值值(即即“条件为真时的值条件为真时的值”),否则取第二个值,否则取第二个值(即即“条件为假时条件为假时的值的值”)。 例如,将例如,将a、b中的小数,放入中的小数,放入Min变量中:变量中: Min=IIf(aMin=IIf(ab,a,bb,a,b) )4.2.3 IIf函数函数主

6、页主页 1. 下列字符中,下列字符中,_字符最大,字符最大,_字符最小。字符最小。 A. 1 B. Z C. * D. a 2. 假设假设a=1,b=2,下列逻辑表达式中其值为真的有,下列逻辑表达式中其值为真的有 A. a=0 And b2 C. a ab D. a=0 And Not b0 And b0 请你给出答案请你给出答案想一想想一想思考题思考题最大字符:最大字符:D最小字符:最小字符:CFFTTT主页主页Private Sub Form_Load() Show a = 1: b = 3 c = 2 * a - b a = IIf(c a, a - 1, b) + 1 If a * 2

7、 - 1 a Then a = a + 1 c = c - 1 Else a = a - 1 End If Print a, b, cEnd Sub 下列程序的运行结果是?下列程序的运行结果是?想一想想一想思考题思考题2 5 -2例例4.1a主页主页 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 (2)编写程序代码编写程序代码 功能要求:功能要求:用户在用户在“a=”文本框文本框(Text1)、“b=”文本框文本框(Text2)和和“c=”文本框文本框(Text3)中输入数据,单击中输入数据,单击“判断判断”按按钮后,则在钮后,则在“最大数最大数”文本框文本框

8、(Text4)中输出结果中输出结果 例例4.2 输入三个数输入三个数a、b、c,求出其中最大数,求出其中最大数例例4.2主页主页 Private Sub Command1_Click() m用来存放较大值用来存放较大值 Dim a As Integer, b As Integer Dim c As Integer, m As Integer a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a b Then m = a Else m = b End If If c m Then m = c Text4.Text = m

9、 End Sub 程序代码程序代码 程序流程图程序流程图假假假假真真 开始开始从从3 3 个文本框中个文本框中读取数值读取数值a, b, c a b m = b c m结束结束 m = a真真 m = c在文本框在文本框Text4中显示中显示m值值主页主页 Then和和Else后面的语句块包含另一个条件语句后面的语句块包含另一个条件语句 1.一般格式一般格式 If 条件条件1 Then If 条件条件2 Then End If Else End If 使用条件语句嵌套时,一定要注意使用条件语句嵌套时,一定要注意If与与Else,If与与End If的配对关系。的配对关系。 4.2.4 条件语句

10、的嵌套条件语句的嵌套主页主页 例如:例如:0时至时至12时,显示时,显示“早上好早上好” 利用窗体装载利用窗体装载(Load)事件,采用事件,采用Print直接在窗体上输出结果直接在窗体上输出结果 Private Sub Form_Load() Dim h As Integer Show 使使print输出在窗体上的内容可见输出在窗体上的内容可见 h = Hour(Time() 取系统的时间取系统的时间 FontSize = 30 : ForeColor = RGB(255, 0, 0) BackColor = RGB(255, 255, 0) If h 12 Then Print 早上好!早

11、上好! Else If h 18 Then Print 下午好!下午好! Else Print 晚上好!晚上好! End If End If End Sub例例4.3 根据不同的时间段发出问候语根据不同的时间段发出问候语例例4.3主页主页 If 条件条件1 Then 语句块语句块1 ElseIf 条件条件2 Then 语句块语句块2 ElseIf 条件条件3 Then 语句块语句块3 Else 语句块语句块n End If 先测试条件先测试条件1,如果为假,就依次测试条件,如果为假,就依次测试条件2,依此类推,依此类推,直到找到为真的条件。直到找到为真的条件。 一旦找到一个为真的条件时,一旦找

12、到一个为真的条件时,VB会执行相应的语句块,会执行相应的语句块,然后执行然后执行End If语句后面的代码。语句后面的代码。 如果所有条件都是假,那么执行如果所有条件都是假,那么执行Else后面的语句块后面的语句块n,然,然后执行后执行End If语句后面的代码。语句后面的代码。 If h 12 Then Print 早上好!早上好! ElseIf h = b Then If b 5 Then b = b + 1 ElseIf b 2 Then b = b - 1 Else b = b + 2 End If b = IIf(a = b, b + 1, b - 1) Print bEnd Sub

13、 下列程序的运行结果是?下列程序的运行结果是?想一想想一想思考题思考题 2例例4.3a主页主页 使用多分支语句使用多分支语句Select Case也可以实现多分支选择。更也可以实现多分支选择。更有效、更易读,并且易于跟踪调试。有效、更易读,并且易于跟踪调试。 Select Case 测试表达式测试表达式 Case 表达式表表达式表1 语句块语句块1 Case 表达式表表达式表2 语句块语句块2 . . . Case Else 语句块语句块n End Select 先计算表达式的值,然后将该值依次与结构中的每个先计算表达式的值,然后将该值依次与结构中的每个Case的值进行比的值进行比较,如果该值

14、符合某个较,如果该值符合某个Case指定的值条件时,就执行该指定的值条件时,就执行该Case的语句块,的语句块,然后跳到然后跳到End Select,从,从End Select出口。如果没有相符合的出口。如果没有相符合的Case值,则值,则执行执行Case Else中的语句块中的语句块 4.3 多分支语句多分支语句 示例示例Select Case x Case -1 y=10 Case 1 y=20 Case Else y=30End Select主页主页用用Select Case语句来实现多分支选择功能,语句来实现多分支选择功能, 程序代码如下:程序代码如下: Private Sub Com

15、mand1_Click()Private Sub Command1_Click() Dim score As Integer, temp As String Dim score As Integer, temp As String score = Val(Text1.Text) score = Val(Text1.Text) temp = temp = 成绩等级为:成绩等级为: Select Case score Select Case score Case 0 To 59 Case 0 To 59 Label2.Caption = temp + Label2.Caption = temp +

16、 不及格不及格 Case 60 To 79 Case 60 To 79 Label2.Caption = temp + Label2.Caption = temp + 及格及格 Case 80 To 100Case 80 To 100 Label2.Caption = temp + “ Label2.Caption = temp + “优良优良 Case Else Case Else Label2.Caption = Label2.Caption = 成绩出错成绩出错 End Select End Select End Sub End Sub例例4.4 判断成绩的等级(优良、及格、不及格)判断

17、成绩的等级(优良、及格、不及格)例例4.4主页主页 提供选项让用户选择,如选择提供选项让用户选择,如选择“是是”或或“否否”,从列表中选择某一项等从列表中选择某一项等 选择的控件有:选择的控件有: 单选按钮、复选框、列表框和组合框单选按钮、复选框、列表框和组合框 4.4 4.4 选择性控件选择性控件主页主页 1. 单选按钮的用途单选按钮的用途 单选按钮单选按钮(OptionButton)控件由一个圆圈控件由一个圆圈“”及紧挨它及紧挨它的文字组成,能提供的文字组成,能提供“选中选中”和和“未选中未选中”两种可选项两种可选项 成组形式出现成组形式出现 2. 常用属性常用属性 Caption属性属性

18、 Value属性:属性:表示单选按钮是否被选中,选中时表示单选按钮是否被选中,选中时Value值值为为True,否则为否则为False。 使用单选按钮组时,选中其中一个,其余就会自动关闭使用单选按钮组时,选中其中一个,其余就会自动关闭 Alignment属性:属性:设置单选按钮标题的对齐方式设置单选按钮标题的对齐方式 3. 事件事件 Click事件事件 在应用程序中可以创建一个事件过程,检测控件对象在应用程序中可以创建一个事件过程,检测控件对象Value属性值,再根据检测结果执行相应的处理属性值,再根据检测结果执行相应的处理 .1 单选按钮单选按钮单选按钮组单选按钮组Capti

19、onCaption属性属性主页主页 (1) 创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 单选按钮组;单选按钮组; 初始状态:设置初始状态:设置Option1的的Value属性值设置为属性值设置为True,或通过代码或通过代码“Option1.Value=True” 来实现来实现 (2) 编写程序代码编写程序代码 功能要求功能要求 例例4.5 用单选按钮组控制显示不同的字体用单选按钮组控制显示不同的字体例例4.5主页主页 程序代码如下:程序代码如下: Private Sub Option1_Click() Text1.FontName = 宋体宋体 End Sub

20、Private Sub Option2_Click() Text1.FontName = 幼圆幼圆 End Sub Private Sub Option3_Click() Text1.FontName = 楷体楷体_GB2312 End Sub 说明:说明:程序代码中所用的字体号程序代码中所用的字体号(如如“宋体宋体”、“幼圆幼圆”等等)必须与系统提供的字体相一致必须与系统提供的字体相一致主页主页 1. 复选框的用途复选框的用途 复选框复选框(CheckBox) 控件由一个四方形小框和紧挨它的文控件由一个四方形小框和紧挨它的文字组成。提供字组成。提供“选中选中”和和“未选中未选中”两种可选项两

21、种可选项 复选框控件与单选按钮控件在使用方面的区别复选框控件与单选按钮控件在使用方面的区别 2. 常用属性常用属性 Caption属性属性 Value属性:属性:表示复选框的状态表示复选框的状态 有三种取值:有三种取值:0未选中未选中(缺省值缺省值) 1选中选中 2不可用不可用(灰色显示灰色显示) Alignment属性;属性;Style属性属性 3. 事件事件 复选框可响应的事件与单选按钮基本相同复选框可响应的事件与单选按钮基本相同4.4.2 4.4.2 复选框复选框复选按钮组复选按钮组CaptionCaption属性属性ValueValue属性为属性为2 2主页主页 (1)创建应用程序的用

22、户界面和设置对象属性创建应用程序的用户界面和设置对象属性 多行文本框多行文本框(带垂直滚动条带垂直滚动条)和四个复选框和四个复选框 (2)编写程序代码编写程序代码 功能要求:功能要求:程序开始运行后,用户在文本框中输入一程序开始运行后,用户在文本框中输入一段文字段文字(如如“复选框应用示例复选框应用示例”),然后按需要单击各复选框,然后按需要单击各复选框,则文字的字体、字型、字号及颜色随之改变则文字的字体、字型、字号及颜色随之改变例例4.6 用复选框来控制文字的字体、字型、字号及颜色用复选框来控制文字的字体、字型、字号及颜色例例4.6主页主页Private Sub Check1_Click()

23、 If Check1.Value = 1 Then 判复选框判复选框1是否选中是否选中 Text1.FontName = 楷体楷体_GB2312 Else Text1.FontName = 宋体宋体 End IfEnd SubPrivate Sub Check2_Click() If Check2.Value = 1 Then 判复选框判复选框2是否选中是否选中 Text1.FontItalic = True Else Text1.FontItalic = False End IfEnd SubPrivate Sub Check3_Click() If Check3.Value = 1 The

24、n 判复选框判复选框3是否选中是否选中 Text1.FontSize = 25 Else Text1.FontSize = 9 End IfEnd Sub主页主页 Private Sub Check4_Click() If Check4.Value = 1 Then 判复选框判复选框4是否选中是否选中 Text1.ForeColor = RGB(255, 0, 0) Else Text1.ForeColor = RGB(0, 0, 0) End If End Sub 在运行中,可以任意设定这四个复选框的状态,可以四在运行中,可以任意设定这四个复选框的状态,可以四项都不选,也可以选择其中一项至四

25、项项都不选,也可以选择其中一项至四项主页主页 计时器计时器(Timer)每隔一定的时间间隔每隔一定的时间间隔自动自动产生一次产生一次Timer事件事件(或称报时或称报时),可以根据这个特性来定时控制某些操作,或计时,可以根据这个特性来定时控制某些操作,或计时 运行时运行时计时器计时器不显示不显示 Enabled属性属性:确定计时器是否可用:确定计时器是否可用 Interval属性属性:设置两个:设置两个Timer事件之间的时间间隔,其值以事件之间的时间间隔,其值以毫秒毫秒(1ms=1/1000 s)为单位为单位 计时器控件只响应一个计时器控件只响应一个Timer事件。也就是说,计时器控件事件。

26、也就是说,计时器控件对象在间隔了一个对象在间隔了一个Interval设定时间后,便触发一次设定时间后,便触发一次Timer事件事件 4.5 4.5 计时器控件计时器控件自动产生自动产生TimerTimer事件事件 (执行相应的事件过程执行相应的事件过程)自动产生自动产生TimerTimer事件事件 ( (执行相应的事件过程执行相应的事件过程) )时间间隔时间间隔 (Interval属性值属性值)两个两个Timer事件之间的时间间隔事件之间的时间间隔主页主页例例4.74.7 建立一个电子时钟建立一个电子时钟 (1) 创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 一个计

27、时器控件和一个文本框。计时器控件一个计时器控件和一个文本框。计时器控件Timer1的的Interval属性值设定为属性值设定为1000(1秒秒) (2) (2) 编写程序代码编写程序代码 Private Sub Timer1_Timer() timer事件过程事件过程 Text1.Text = Time() Time是时间函数是时间函数 End Sub例例4.7运行界面运行界面设计界面设计界面 计时器计时器(Timer)每隔一定的时间间隔自动每隔一定的时间间隔自动产生一次产生一次Timer事件和执行事件和执行Timer事件过程事件过程 这个时间间隔由这个时间间隔由Interval属性设定属性设

28、定 利用这个特性来定时控制某些操作利用这个特性来定时控制某些操作主页主页 例例4.84.8 实现字体的放大实现字体的放大 利用计时器可以按指定间隔时间对字体进行放大利用计时器可以按指定间隔时间对字体进行放大 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 一个计时器控件和一个标签一个计时器控件和一个标签 。 标签内显示文字标签内显示文字“放大放大” 计时器控件计时器控件Timer1的计时器采用默认的属性值的计时器采用默认的属性值 Enabled属性值为属性值为True(真真),Interval属性值为属性值为0例例4.8主页主页 (2)编写程序代码编写程序代码

29、Private Sub Form_Load() Label1.Caption = 放大放大 Label1.Width = Form1.Width 把标签的高度和宽度把标签的高度和宽度 设置为窗体相同尺寸设置为窗体相同尺寸 Label1.Height = Form1.Height Timer1.Interval = 800 End Sub Private Sub Timer1_Timer() If Label1.FontSize 0 Then s = s - 1 s大于大于0时减时减1 Else If m 0 Then s等于等于0时先判时先判m是否大于是否大于0 m = m - 1 m大于大于

30、0时减时减1 s = 59 End If End If Text1.Text = Format(m, 00) 数字数字字串,字串,2位格式位格式 Text2.Text = Format(s, 00) If s = 0 And m = 0 Then Beep 响铃,即让喇叭发一声响响铃,即让喇叭发一声响 MsgBox 计时结束计时结束 End End IfEnd Sub主页主页 先在窗体上显示以下考题:先在窗体上显示以下考题: 鸡兔同笼,已知鸡和兔总头数为鸡兔同笼,已知鸡和兔总头数为h=23,总脚数为,总脚数为f=56,求鸡兔各有多少只,求鸡兔各有多少只? 再提供输入框由学生回答问题,然后采用输

31、出框显示对答再提供输入框由学生回答问题,然后采用输出框显示对答案的评判意见。案的评判意见。 分析:分析:设鸡数为设鸡数为j1,兔鸡数为,兔鸡数为t1,则有,则有 j1 + t1 = h j1 = (4 * h - f) / 2 2*j1 + 4*t1 = f t1 = (f - 2 * h) / 2 例例4.104.10 求鸡数和兔数求鸡数和兔数例例4.10主页主页 当用户单击当用户单击“答题答题”按钮时,程序提供输入对话框,由用户按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下:输入答案,再通过输出框显示评判意见。采用的程序代码如下: Private

32、Sub Form_Load() Show Print FontSize = 18 Print Spc(9); 考一考你考一考你 FontSize = 13 Print Print Spc(5); 鸡兔同笼,已知鸡和兔总头数为鸡兔同笼,已知鸡和兔总头数为23, Print Spc(3); 总脚数为总脚数为56,求鸡兔各有多少?,求鸡兔各有多少? End Sub主页主页 Private Sub Command1_Click() “答题答题” h = 23 : f = 56 总头数及总脚数总头数及总脚数 j1 = (4 * h - f) / 2 求出的鸡数求出的鸡数 t1 = (f - 2 * h)

33、 / 2 求出的兔数求出的兔数 j2 = Val(InputBox(鸡的只数是多少?鸡的只数是多少?, 请回答请回答) t2 = Val(InputBox(兔的只数是多少?兔的只数是多少?, 请回答请回答) Select Case True 选择真值选择真值 Case j1 = j2 And t1 = t2 MsgBox 回答完全正确回答完全正确! Case j1 = j2 MsgBox 鸡数回答正确,但兔数不对鸡数回答正确,但兔数不对! Case t1 = t2 MsgBox 兔数回答正确,但鸡数不对兔数回答正确,但鸡数不对! Case Else MsgBox 回答错误回答错误! End S

34、elect End Sub主页主页 (1) 创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 单选按钮组单选按钮组Option1、Option2、Option3及及Option4分别代分别代表表+、-、*(乘乘)和和/(除除)运算运算 (2) 编写程序代码编写程序代码例例4.114.11 输入两个运算数和运算符输入两个运算数和运算符(+(+、- -、* *或或/)/),组,组 成算式并计算结果,然后显示出来成算式并计算结果,然后显示出来例例4.11主页主页Private Sub Command1_Click() “计算计算”按钮按钮 Dim a As Single, b

35、 As Single, t As Single, s As String a = Val(Text1.Text) b = Val(Text2.Text) Select Case True Case Option1.Value + 运算运算 s = + t = a + b Case Option2.Value - 运算运算 s = - t = a - b Case Option3.Value * 运算运算 s = * t = a * b Case Option4.Value / 运算运算 s = / t = a / b End Select Text3.Text = a & s & b & = & tEnd SubPrivate Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = End SubPrivate Sub Command3_Click()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论