《VB语言第4章教案.ppt》由会员分享,可在线阅读,更多相关《VB语言第4章教案.ppt(27页珍藏版)》请在三一办公上搜索。
1、第4章,选择结构设计,选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程 本章主要内容,第4章 选择结构设计,退出,选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程 4.1 条件表达式 示例 If x=5 Then y=x+1 If a1 And b0 Then x=1 关系表达式和逻辑表达式 4.2 条件语句 两种格式的条件语句:If.Then If.Then.Else,选择结构设计,格式:If 条件 Then 语句 或 If 条件 Then 语句块 End If 功能:若条件成立(值为真),则执行Then后面
2、的语句或语句块,否则直接执行下一条语句或“End If”的下一条语句,If.Then语句,单行结构,多行(块)结构,格式:If 条件 Then 语句块1(A)Else 语句块2(B)End If 功能:首先测试条件(E),如果条件成立(即值为真),则执行Then后面的语句块1,如果条件不成立(即值为假),则执行Else后面的语句块2。而在执行Then或Else之后的语句块后,会从End If之后的语句继续执行。,If.Then.Else语句,实现一些简单的条件判断分支结构 格式:IIf(条件,条件为真时的值,条件为假时的值)功能:对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真
3、时的值”),否则取第二个值(即“条件为假时的值”)。例如,将a、b中的小数,放入Min变量中:Min=IIf(ab,a,b),4.2.3 IIf函数,(1)创建应用程序的用户界面和设置对象属性(2)编写程序代码 功能要求:用户在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)中输入数据,单击“判断”按钮后,则在“最大数”文本框(Text4)中输出结果,例4.2 输入三个数a、b、c,求出其中最大数,例4.2,Private Sub Command1_Click()m用来存放较大值 Dim a As Integer,b As Integer Dim c A
4、s 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 End Sub,程序代码 程序流程图,Then和Else后面的语句块包含另一个条件语句 1.一般格式 If 条件1 Then If 条件2 Then End If Else End If 使用条件语句嵌套时,一定要注意If与Else,If与End If的配对关系。,4.2.4 条件语句的嵌套,例如:0时至12时,显示“早上好”利
5、用窗体装载(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 早上好!Else If h 18 Then Print 下午好!Else Print 晚上好!End If End If End Sub,例4.4 根据不同的时间段发出问候语,例4.4,If 条件1 Then 语句块1
6、 ElseIf 条件2 Then 语句块2 ElseIf 条件3 Then 语句块3 Else 语句块n End If 先测试条件1,如果为假,就依次测试条件2,依此类推,直到找到为真的条件。一旦找到一个为真的条件时,VB会执行相应的语句块,然后执行End If语句后面的代码。如果所有条件都是假,那么执行Else后面的语句块n,然后执行End If语句后面的代码。,If h 12 Then Print 早上好!ElseIf h 18 Then Print 下午好!Else Print 晚上好!End If,2.ElseIf格式,使用多分支语句Select Case也可以实现多分支选择。更有效、
7、更易读,并且易于跟踪调试。Select Case 测试表达式 Case 表达式表1 语句块1 Case 表达式表2 语句块2.Case Else 语句块n End Select 先计算表达式的值,然后将该值依次与结构中的每个Case的值进行比较,如果该值符合某个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,先在窗体上显示以
8、下考题:鸡兔同笼,已知鸡和兔总头数为h=23,总脚数为f=56,求鸡兔各有多少只?再提供输入框由学生回答问题,然后采用输出框显示对答案的评判意见。分析:设鸡数为j1,兔鸡数为t1,则有 j1+t1=h j1=(4*h-f)/2 2*j1+4*t1=f t1=(f-2*h)/2,例4.7 求鸡数和兔数,例4.7,当用户单击“答题”按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下:Private Sub Form_Load()Show Print FontSize=18 Print Spc(9);考一考你 FontSize=13 Print Print Sp
9、c(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)/2 求出的兔数 j2=Val(InputBox(鸡的只数是多少?,请回答)t2=Val(InputBox(兔的只数是多少?,请回答)Select Case True 选择真值 Case j1=j2 And t1=t2 MsgBox 回答完全正确!Case j1=j2 MsgBox 鸡数回答正确,但兔数不对!Case t1=
10、t2 MsgBox 兔数回答正确,但鸡数不对!Case Else MsgBox 回答错误!End Select End Sub,提供选项让用户选择,如选择“是”或“否”,从列表中选择某一项等 选择的控件有:单选按钮、复选框、列表框和组合框,4.4 选择性控件,1.单选按钮的用途 单选按钮(OptionButton)控件由一个圆圈“”及紧挨它的文字组成,能提供“选中”和“未选中”两种可选项 成组形式出现 2.常用属性 Caption属性 Value属性:表示单选按钮是否被选中,选中时Value值为True,否则为False。使用单选按钮组时,选中其中一个,其余就会自动关闭 Alignment属性
11、:设置单选按钮标题的对齐方式 3.事件 Click事件 在应用程序中可以创建一个事件过程,检测控件对象Value属性值,再根据检测结果执行相应的处理,单选按钮,(1)创建应用程序的用户界面和设置对象属性 单选按钮组;初始状态:设置Option1的Value属性值设置为True,或通过代码“Option1.Value=True”来实现(2)编写程序代码 功能要求,例4.8 用单选按钮组控制显示不同的字体,例4.8,程序代码如下:Private Sub Option1_Click()Text1.FontName=宋体 End Sub Private Sub Option2_Click()Text1
12、.FontName=幼圆 End Sub Private Sub Option3_Click()Text1.FontName=楷体_GB2312 End Sub 说明:程序代码中所用的字体号(如“宋体”、“幼圆”等)必须与系统提供的字体相一致,1.复选框的用途 复选框(CheckBox)控件由一个四方形小框和紧挨它的文字组成。提供“选中”和“未选中”两种可选项 复选框控件与单选按钮控件在使用方面的区别 2.常用属性 Caption属性 Value属性:表示复选框的状态 有三种取值:0未选中(缺省值)1选中 2不可用(灰色显示)Alignment属性;Style属性 3.事件 复选框可响应的事件
13、与单选按钮基本相同,4.4.2 复选框,(1)创建应用程序的用户界面和设置对象属性 多行文本框(带垂直滚动条)和四个复选框(2)编写程序代码 功能要求:程序开始运行后,用户在文本框中输入一段文字(如“复选框应用示例”),然后按需要单击各复选框,则文字的字体、字型、字号及颜色随之改变,例4.9 用复选框来控制文字的字体、字型、字号及颜色,例4.9,Private Sub Check1_Click()If Check1.Value=1 Then 判复选框1是否选中 Text1.FontName=楷体_GB2312 Else Text1.FontName=宋体 End IfEnd SubPrivat
14、e 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 Then 判复选框3是否选中 Text1.FontSize=25 Else Text1.FontSize=9 End IfEnd Sub,Private Sub Check4_Click()If Check4.Value=1 Then 判复选框4是否选中 Text1.ForeCo
15、lor=RGB(255,0,0)Else Text1.ForeColor=RGB(0,0,0)End If End Sub 在运行中,可以任意设定这四个复选框的状态,可以四项都不选,也可以选择其中一项至四项,计时器(Timer)每隔一定的时间间隔产生一次Timer事件(或称报时)。可以根据这个特性来定时控制某些操作,或进行计时 运行时计时器不显示 Enabled属性:确定计时器是否可用 Interval属性:设置两个Timer事件之间的时间间隔,其值以毫秒(1ms=1/1000 s)为单位 例如,如果希望每半秒钟产生一个Timer事件,那么Interval属性值应设置为500,这样每隔500
16、ms就会触发一次Timer事件,从而执行相应的Timer事件过程 计时器控件只响应一个Timer事件。也就是说,计时器控件对象在间隔了一个Interval设定时间后,便触发一次Timer事件,4.5 计时器控件,例4.10 建立一个电子时钟,(1)创建应用程序的用户界面和设置对象属性 一个计时器控件和一个文本框。计时器控件Timer1的Interval属性值设定为1000(1秒)(2)编写程序代码 Private Sub Timer1_Timer()timer事件过程 Text1.Text=Time Time是时间函数 End Sub,例4.10,运行界面,设计界面,计时器(Timer)每隔一
17、定的时间间隔自动产生一次Timer事件和执行Timer事件过程 这个时间间隔由Interval属性设定 利用这个特性来定时控制某些操作,(1)创建应用程序的用户界面和设置对象属性 单选按钮组Option1、Option2、Option3及Option4分别代表+、-、*(乘)和/(除)运算(2)编写程序代码,例4.13 输入两个运算数和运算符(+、-、*或/),组 成算式并计算结果,然后显示出来,例4.13,Private Sub Command1_Click()“计算”按钮 Dim a As Single,b As Single,t As Single,s As String a=Val(T
18、ext1.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 Sub,Private Sub Command2_Click()Text1.Text=Text2.Text=Text3.Text=End SubPrivate Sub Command3_Click()EndEnd Sub,Private Sub Form_Load()Option1.Value=True+运算 End Sub,