资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第五章 选择结构,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,5,章 选择结构,第,05,章 选择结构,5.1,块,If,结构,5.2,多分支结构,5.3,有关函数,5.4,简单应用,5.5 Select Case,结构,5.6,行,If,结构,1,5.1,块,If,结构,顺序结构执行特点是按语句排列的顺序执行,而对于需要,根据条件成立与否,选择程序的执行方向,,执行多个不同处理中的一个。,程序在执行过程中,根据条件成立与否,从多个可能的分支中,选择执行其中一个分支,并且任何情况下恒有“,无论分支多寡,仅能选择其一,”的特性,具有这种程序结构的程序段称为选择结构。,VB,中选择结构的形式有,IF,结构和,Select,结构,两种。,2,5.1,块,If,结构,1,、块,If,单分支结构,语法结构:,If Then,End If,程序执行过程:,当条件成立时,执行,If,与,End If,之间的语句组,执行完后,执行,End If,之后的语句;否则,跳过语句组直接执行,End If,之后的语句。,说明:,(1),条件可以是关系表达式、布尔表达式或数值表达式。,(2),语句组可为多条语句。,(3)If,与,End If,必须配对使用。,条件,语句组,假,真,3,例,5-1,输入,x,的值,计算如下函数对应的,y,值。,分析:本题包含两个条件:,(,1,)当条件为“,x0”,时;,(,2,)当条件为“,x0”,时。可以用两个单分支结构完成。,x,0,x,0,4,5.1,块,If,结构,课堂练习:求两个数中求最大数。,5,块,If,双分支结构,语法结构:,If Then,Else,End If,程序执行过程:,当条件成立时执行语句组,1,,否则执行语句组,2,。然后执行,End If,之后的语句。,条件,语句组,1,语句组,2,假,真,6,例,5-2,输入,x,的值,计算如下函数对应的,y,值。,分析:本题中条件可为:,x0,(,1,)当“,x0”,成立时,,y=x2+1,(,2,)当“,x0”,不成立时,,y=x2-1,x,0,x,0,7,例,5-3,输入,x,的值,计算如下函数对应的,y,值。,分析:本题中条件可看作:,x0,和,x0,两种情况,(,1,)当“,x0”,,则:,y=x2-1,;否则:,y=0,x,0,x,0,x,0,8,结构嵌套,在前例中,可以看到:,在一个选择结构中,又包含了另一个选择结构,这种形式称为选择结构(分支)嵌套。,当问题越复杂时,用块,If,的嵌套层次会越深,程序易读性越差。,采用块,IF,的多分支结构会使程序简练。,9,多分支结构,格式,If Then,ElseIf,Then,ElseIf,Then,Else,End If,注意,:,ElseIf,不能写成,Else If,;,当多分支中有多个表达式同时满足时,仅执行第一个满足条件的语句组。,语句组,n+1,条件,1,条件,2,条件,n,语句组,1,语句组,2,语句组,n,真,假,真,真,假,假,10,5.2,多分支结构,例,5-4,输入,x,的值,计算,y,的值。,分析:本题包含,3,个条件:,(,1,)当条件为“,x0”,时;,(,2,)当条件为“,x=0”,时;,(,3,)当条件为“,x=0”,时。,实现:多分支结构,x,0,x,0,x,0,11,课堂练习:计算分段函数的值。,40 x,20,20 x,10,x10,x,40,12,5.3,有关函数,1,、,IIf,函数,(,1,)格式:,IIf,(条件,表达式,1,,表达式,2,),(,2,)说明:,当条件成立时,该函数返回表达式,1,的值,否则返回表达式,2,的值。,Dim a As Single,b As Single,max As Single,a=,InputBox,(,请输入,a,的值,),b=,InputBox,(,请输入,b,的值,),max=,IIf(a,=b,a,b),Print max,13,5.3,有关函数,2,、,Choose,函数,(,1,)格式:,Choose,(整数表达式,选项列表),(,2,)说明,根据整数表达式的值,决定函数返回选项列表中的某个值。如果整数表达式的值是,1,,则返回选项列表中的第一个选项值,如果是,2,,则返回第二个选项值,依此类推。,若整数表达式的值小于,1,或大于列出的选项数时,函数返回空值(,Null,)。,Choose(Weekday(Now,),日,一,二,三,四,五,六,),14,5.3,有关函数,3,、,MsgBox,函数,(,1,)格式如下:,变量,=,MsgBox,(,提示,,按钮,,标题,),(,2,)说明,变量,用于指定接收函数的返回值。,MsgBox,函数的返回值是一个整数,因此变量一般为整型变量。,提示与标题,意义同,InputBox,函数。,按钮,整型表达式,决定消息框中按钮的数目、类型及出现在消息框上的图标类型。,(,3,),VB,中对不需要返回值的,MsgBox,函数调用格式如下:,MsgBox,提示,,按钮,,标题,15,5.4,简单应用,例,5-5,铁路托运行李,当行李不超过,50,公斤时,每公斤为,1.50,元,若超过,50,公斤,超过部分每公斤,2.00,元。设行李重,w,公斤,请编程计算运费,a,。,例,5-6,求方程,ax,2,+bx+c=0,的解。,例,5-7,输入一个学习成绩,,成绩,=90,分的同学用“优秀”表示,,75-89,分之间的用“良好”表示,,60-74,分以下的用“通过”表示,小于,60,分的用“不及格,”,。,16,求方程,ax,2,+bx+c=0,的解,输入,a,b,c,的值,a=0,b=0,c=0,d=b*b-4*a*c,p=-b/(2*a),q=sqr(abs(d)/(2*a),d0,无数解,无解,x=-,c/b,x1=,p+q,i,x2=,p-q,i,x1=,p+q,x2=,p-q,x1=x2=p,是,否,是,否,是,否,是,否,是,否,输入,a,b,c,的值,a=0,d=b*b-4*a*c,p=-b/(2*a),q=sqr(abs(d)/(2*a),b=0,c=0,无数解,无解,x=-,c/b,d0,x1=,p+q,i,x2=,p-q,i,x1=,p+q,x2=,p-q,x1=x2=p,17,5.5 Select Case,结构,1,、语句格式:,Select Case,Case ,Case ,Case ,Case Else,End Select,18,5.5 Select Case,结构,2,、其中:,(1),变量或表达式 可以是数值型或字符串表达式;,(2),表达式列表,与变量或表达式的类型必须相同,可以是下面,4,种形式之一,除了这,4,种情况,不能用,Select Case,结构:,表达式 如:,Case 8,表示当变量或表达式值等于,8,时执行对应的语句组;,一组用逗号分隔的值 如,Case 1,3,4,7,10,表示当变量或表达式的值为,1,,,3,,,4,,,7,,,10,中之一时,执行对应的语句组;,19,表达式,1 To,表达式,2,如,Case 0 to 9,表示当变量或表达式的值在,0,9,之间时,执行对应的语句组;,Is,关系运算符表达式,如,Case Is10,表示当变量或表达式的值大于,10,时,执行对应的语句组。,20,5.2,多分支结构,Dim x As Single,y As Single,x=,Val(InputBox,(,请输入变量的值,),Select Case x,Case Is=10 ,情况:,x,10,y=x 2+1,Case Is=-5 ,情况:,x,-5 and x10,y=0,Case Is -5 ,情况:,xx,-,5,x,-5,21,5.6,行,If,结构,1,、格式,If Then Else,2,、注意,条件和语句序列应在一行内写完;,和,不得同时省略。,用行,If,结构的前提是“语句组,1,和语句组,2,要特别简短”,如果语句组较复杂,结构会不清晰。,行,If,结构没有,EndIf,。,If ab Then,Print a,Else,Print b,22,
展开阅读全文