资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,4,章 选择结构,在程序设计中经常遇到这类问题,它需要根据不同的情况采用不同的处理方法。例如,一元二次方程的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进行计算。对于这类问题,如果用顺序结构编程,显然力不从心。必须借助选择结构。本章主要介绍实现选择结构的语句。包括:行,If,语句、块,If,语句、,Else If,语句、,Select Case,语句,以及选择结构在程序设计中的应用。,退出,4.1,块,If,4.2 Else If,语句,4.3,行,If,语句,4.4 Select Case,语句,4.1,块,If,4.1.1,块,If,的格式、功能,格式:,If,条件,then,语句块,1,Else,语句块,2,End If,说明:,(,1,)“条件”一般为关系表达式或逻辑表达式。,通常把关系表达式或逻辑表达式的值为真时,称为条件满足;值为假时,称为条件不满足。反之亦然。,(,2,)语句块,1,、语句块,2,分别是“条件”满足或不满足时,处理方法的描述,可以是若干个语句。,(,3,),IfThen,、,Else,、,End If,是,VB,的保留字。,功能:,(,1,)块,If,首先判断“条件”,其值为真时,执行语句块,1,;为假时执行语句块,2,。当缺省,Else,中的内容时,该选择结构只对条件满足的情况进行处理。执行过程如图,4-1,所示。,【,例,4.1】,火车站行李费的收费标准是,50kg,以内(包括,50kg,),0.20/kg,,超过部分,0.50/kg,。编写程序,要求根据输入的任意重量,计算出应付的行李费。,根据题意计算公式如下:,程序代码如下:,计算,按钮代码,Private Sub Command1_Click,(),Dim weight as single,,,pay as single,weight=Text1.Text,If weight 50 Then,pay=,(,weight-50,),*,0.5+50,*,0.2,Else,pay=weight,*,0.2,End If,Text2.Text=pay,End Sub,Private Sub Command2_Click,(),Text1.Text=,Text2.Text=,End Sub,Private Sub Command3_Click,(),End,End Sub,4.1.2,块,If,的嵌套,所谓块,If,语句的嵌套,就是在语句块,1,或语句块,2,中又包含块,If,语句。,【,例,4.2】,任意输入,3,个数,按照从大到小的顺序输出。,算法分析:排序的基本方法,就是比较大小,然后根据比较的结果分别加以处理。本例把,3,个数分别放在,A,,,B,,,C,中,处理过程为:若,A,B,为真,交换,A,,,B,的值;否则不做处理。这样就保证了,A,B,;然后再用,C,去比较。具体流程如图,4-3,所示。按如图,4-4,所示设置界面。,程序代码如下:,排序,按钮代码,Private Sub Command1_Click,(),Dim a As Single,,,c As Single,,,b As Single,a=Text1.Text,b=Text2.Text,c=Text3.Text ,三个文本框的数据赋值给变量,If a b Then,t=a,a=b,b=t ,a,B,If c a Then ,用,C,去比较,Text4.Text=c ,C,A,成立,,C,最大,Text5.Text=a,Text6.Text=b,Else,If c b Then,Text4.Text=a ,C,=90 Then,Text2.Text=,优秀,ElseIf score=80 Then,Text2.Text=,良好,ElseIf score=70 Then,Text2.Text=,中,ElseIf score=60 Then,Text2.Text=,及格,Else,Text2.Text=,不及格,End If,End Sub,“,退出”按钮代码,Private Sub Command2_Click,(),End,End Sub,ElseIf,语句,实际完成的是块,If,的嵌套,它和块,If,嵌套的格式上有很大区别,,ElseIf,结构只有一对,If,和,End If,语句。另外应注意:,【Else,If】,和,【ElseIf】,的区别。,4.3,行,If,语句,格式:,If,条件,then,语句,1 Else,语句,2,功能:当条件满足时,执行语句,1,;条件不满足时,执行语句,2,。,从行,If,的格式和功能不难看出,行,If,语句是一种简单的分支结构,只是把一个简单的块,If,结构写在一行中,减少了语句行,省略了“,End If”,的书写。行,If,完全可以用块,If,代替。,【,例,4.6】,任意输入,3,个数,找出其中的最大值。,程序代码如下:,Private Sub Command1_Click,(),Dim a As Single,,,b As Single,,,c As Single,,,max As Single,a=Text1.Text,b=Text2.Text,c=Text3.Text,max=a,If b max Then max=b,If c max Then max=c,Text4.Text=max,End Sub,4.4 Select Case,语句,当对一个表达式的不同取值情况作不同处理时,用,ElseIf,语句程序结构显得较为杂乱,而用,Select Case,语句将使程序的结构更清晰,,Select Case,语句又称为情况语句。,格式:,Select Case,测试表达式,Case,表达式列表,1,语句块,1,Case,表达式列表,2,语句块,2,Case,表达式列表,n,语句块,n,Case Else,语句块,n+1,End Select,功能:根据“测试表达式”的值,选择第一个符合条件的语句块执行。,Select Case,语句的执行过程是:先求“测试表达式”的值,然后顺序测试该值符合哪一个,Case,子句中情况,如果找到了,则执行该,Case,子句下面的语句块,然后执行,End Select,下面的语句;如果没找到,则执行,Case Else,下面的语句块,然后执行,End Select,下面的语句。,说明:,“测试表达式”可以是数值型或字符串型表达式;,“表达式列表”形式有以下,3,种:,(,1,)一个表达式或用逗号隔开的若干表达式,(,2,)表达式,1 To,表达式,2,(,3,),Is,关系运算符 表达式,【,例,4.7】,把例,4.3,中“鉴定”按钮的代码用,Select Case,语句改写。,Private Sub Command1_Click,(),Dim score!,score=Text1.Text,Select Case score,Case Is=90,Text2.Text=,优秀,Case Is=80,Text2.Text=,良好,Case Is=70,Text2.Text=,中,Case Is=60,Text2.Text=,及格,Case Else,Text2.Text=,不及格,End Select,End Sub,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6