第4章-选择结构程序设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章-选择结构程序设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构 程序设计 课件
- 资源描述:
-
1、在实际工作中需要判断是否满足某种条件的问题在实际工作中需要判断是否满足某种条件的问题很多。很多。例:把例:把20,49,50,8,24,14中能被中能被7整除的整除的数挑出来。数挑出来。把平均成绩把平均成绩80分以上同学的姓名打印出来。分以上同学的姓名打印出来。Y=02*X (当(当X50)50*02+(X-50)*03 (当(当X50)4.1.1 4.1.1 单行结构单行结构IfIf语句语句语法格式为语法格式为:If If 条件表达式条件表达式 ThenThen语句块语句块1 Else1 Else语句块语句块2 2 例:例:IF ab THEN q=a :a=b :b=qIF a=60 Th
2、en grade=及格 Else grade=不及格 Text2.Text=gradeEnd SubPrivate Sub Command2_Click()EndEnd Sub【练习【练习4.14.1】输入两个数,输出其最大值。】输入两个数,输出其最大值。语法格式为:语法格式为:If 条件表达式条件表达式 Then 语句块语句块1Else 语句块语句块2End If说明:说明:(1)(1)使用块结构使用块结构IfIf语句时,在语句时,在ThenThen后一定要回车,后一定要回车,在语句最后一定要以在语句最后一定要以End IfEnd If结束。结束。(2)(2)块结构块结构IfIf语句与单行结
3、构语句与单行结构IfIf语句功能一样,只语句功能一样,只是书写形式不同。是书写形式不同。Private Sub Form_Click()Static flag As Integer Cls FontSize=20 If flag=0 Then ForeColor=vbRed Print 欢迎新同学欢迎新同学 flag=1 Else ForeColor=vbBlue Print 欢迎新同学欢迎新同学 flag=0 End IfEnd Sub例例4-14-1编程编程:当在窗体上单击当在窗体上单击,屏幕上会以红色和蓝色交替屏幕上会以红色和蓝色交替 显示显示”欢迎新同学欢迎新同学“例例4-24-2编程
4、编程:创建一个幸运数字投币机的游戏程序创建一个幸运数字投币机的游戏程序(LUCKY SEVEN),(LUCKY SEVEN),游戏规则游戏规则:单击单击”旋转旋转”按钮按钮 ,在右边的标签中出现在右边的标签中出现3 3个数字个数字,当这当这3 3个数字中有一个个数字中有一个为为”7”7”时时,标签下方就会显示一张图片。标签下方就会显示一张图片。Private Sub Command1_Click()Randomize Image1.Visible=False Label1.Caption=Int(Rnd*10)Label2.Caption=Int(Rnd*10)Label3.Caption=I
5、nt(Rnd*10)If Label1.Caption=7 Or Label2.Caption=7 Or Label3.Caption=7Then Image1.Visible=True End IfEnd SubPrivate Sub Command2_Click()EndEnd Sub【例【例4-34-3】设计界面如图所示,用文本框】设计界面如图所示,用文本框Text1Text1输入输入x x的值,单击按钮时,在文本框的值,单击按钮时,在文本框Text2Text2中显示出中显示出x x的的绝对值。绝对值。“求绝对值求绝对值”按钮按钮Command1Command1的单击事件过程如下:的单击
6、事件过程如下:Private Sub Command1_Click()Dim x As Single x=Val(Text1.Text)If x 0 Then Text2.Text=x Else Text2.Text=-x End IfEnd Sub 【例【例4.24.2】修改修改3.83.8节实训内容第节实训内容第1 1题,在计算面积前,题,在计算面积前,先判断所输入的三角形三边长是否构成三角形,若构先判断所输入的三角形三边长是否构成三角形,若构成三角形则计算面积,否则提示成三角形则计算面积,否则提示“不构成三角形不构成三角形”。1 1)界面设计)界面设计2)2)代码分析与设计代码分析与设计
7、 判断三角形的三边长是否构成三角形的条件是:任意两边之和判断三角形的三边长是否构成三角形的条件是:任意两边之和大于第三边,即大于第三边,即a a+b b c c And And a a+c c b b And And b b+c c a a。程序的源代码如下:程序的源代码如下:Private Sub Command1_Click()Dim a As Single,b As Single,c As Single Dim s As Single,l As Single a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)If a+b c And a
8、+c b And b+c a Then l=(a+b+c)/2 s=Sqr(l*(l-a)*(l-b)*(l-c)Text4.Text=s Else Text4.Text=不构成三角形不构成三角形 End IfEnd Sub【练习【练习4.24.2】完善】完善3.83.8节实训内容第节实训内容第5 5题,执行相除运题,执行相除运算前先判断除数是否为算前先判断除数是否为0 0,若除数不为,若除数不为0 0,则两数,则两数相除,否则向用户提示相除,否则向用户提示“除数为除数为0”0”。【例【例4.34.3】输入输入3 3个整数,求其最大值。个整数,求其最大值。1)1)界面设计界面设计2)代码分析与
9、设计代码分析与设计程序的源代码如下:程序的源代码如下:Private Sub Command1_Click()Dim a As Integer,b As Integer,c As Integer Dim max As Integer 用于存放最大值的临时变量用于存放最大值的临时变量 a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)max=a 假设假设a最大最大 If max b Then 与与b比较,确认比较,确认max是否最大是否最大 max=b 若若b比比max大大,则将则将b赋给赋给max End If 以上为块结构以上为块结构If语
10、句语句 If max c Then max=c 与与c比较,确认比较,确认max是否最大是否最大 以上为单行结构以上为单行结构If语句语句 Text4.Text=maxEnd Sub【练习【练习4.34.3】输入】输入3 3个整数,求其最小值。个整数,求其最小值。IIFIIF函数的语法格式为:函数的语法格式为:IIF(IIF(,)2)说明:当条件表达式的值为真时,返回表达式说明:当条件表达式的值为真时,返回表达式1 1的值,的值,否则返回表达式否则返回表达式2 2的值。的值。如:如:max=IIF(xy,x,ymax=IIF(xy,x,y)相当于:相当于:If xy Then max=x El
11、se max=yIf xy Then max=x Else max=y 在一个在一个IfIf语句中,又包含另一些语句中,又包含另一些IfIf语句称为语句称为IfIf语句的嵌套。语句的嵌套。语法格式为:语法格式为:If If 条件表达式条件表达式1 Then1 Then 语句块语句块1 1ElseIfElseIf 条件表达式条件表达式2 Then2 Then 语句块语句块2 2 ElseIfElseIf 条件表达式条件表达式n n Then Then 语句块语句块n nElseElse 语句块语句块n n+1+1End IfEnd If执行过程执行过程:先判断条件表达式先判断条件表达式1 1,若
12、其值为真,则执行语句块若其值为真,则执行语句块1 1,结束整个结束整个IfIf语句,否则判断条件语句,否则判断条件表达式表达式2 2,若条件表达式,若条件表达式2 2的值为的值为真,则执行语句块真,则执行语句块2 2,结束整个,结束整个IfIf语句,依此类推,当判断条件语句,依此类推,当判断条件表达式表达式n n不满足时,若最后有不满足时,若最后有ElseElse子句则执行子句则执行ElseElse子句,否则子句,否则结束结束IfIf语句的执行。语句的执行。说明:说明:(1)ElseIf(1)ElseIf子句可选,数目不限,但须位于子句可选,数目不限,但须位于IfIf子句子句与与ElseEls
13、e子句子句(若有若有ElseElse子句子句)之间。之间。(2)(2)注意注意ElseIfElseIf的书写形式,中间没有空格。的书写形式,中间没有空格。(3)(3)每个每个ThenThen后要回车,整个后要回车,整个IfIf语句只有一个语句只有一个End End IfIf。如:如:If x 0 Then y=1 ElseIf x=0 Then y=0 Else y=-1 End If若若x=5,程序如何执行?,程序如何执行?若若x=0,程序如何执行?,程序如何执行?【例【例4.44.4】输入学生的考试成绩,输出他的等级。输入学生的考试成绩,输出他的等级。将成绩转换为等级,转换规则为:将成绩转
14、换为等级,转换规则为:不及格不及格(60)60),及格,及格(60(6069)69),中等,中等(70(7079)79),良好良好(80(8089)89),优秀,优秀(90(90100)100)。分析:画一个数轴,在其上标注各个条件值分析:画一个数轴,在其上标注各个条件值,编写编写ElseIfElseIf结构时,按一定顺序结构时,按一定顺序(从左到右,也可从右到从左到右,也可从右到左,注意保持一致左,注意保持一致)逐个选取条件。逐个选取条件。代码分析与设计代码分析与设计(按从左到右的顺序取条件按从左到右的顺序取条件):Private Sub Command1_Click()Dim score
15、As Single,grade As String score=Val(Text1.Text)If score 60 Then grade=不及格不及格 ElseIf score 70 Then 相当于相当于60=score70 grade=及格及格 ElseIf score 80 Then 相当于相当于70=score80 grade=中等中等 ElseIf score 90 Then 相当于相当于80=score=90 grade=优秀优秀 End If Text2.Text=gradeEnd Sub Command1_Click的事件代码也可按从右到左的顺序取条件,的事件代码也可按从右到
16、左的顺序取条件,完成后的程序代码如下:完成后的程序代码如下:Private Sub Command1_Click()Dim score As Single,grade As String score=Val(Text1.Text)If score=90 Then grade=优秀优秀 ElseIf score=80 Then 相当于相当于80=score=70 Then 相当于相当于70=score=60 Then 相当于相当于60=score70 grade=及格及格 Else 相当于相当于score 0 Then y=1 ElseIf x=0 Then y=0 Else y=1 End I
17、fIf x 0 Then y=1 else If x=0 Then y=0 Else y=-1 End IfEnd If 在右边程序中,要特别注意在右边程序中,要特别注意End IfEnd If与与IfIf的配对应满足的配对应满足“最近未配对最近未配对”原则。原则。Select Case语句,语法结构为语句,语法结构为:Select Case Case 表达式列表表达式列表1 语句块语句块1 Case 表达式列表表达式列表2 语句块语句块2 Case 表达式列表表达式列表n 语句块语句块n Case Else 语句块语句块n+1 End Select 执行过程是先计算测试执行过程是先计算测试表
18、达式的值,然后从上至下,表达式的值,然后从上至下,在各表达式列表中查找匹配在各表达式列表中查找匹配的值,若找到,则执行该的值,若找到,则执行该CaseCase子句对应的语句块,结子句对应的语句块,结束整个束整个Select CaseSelect Case语句,语句,若不匹配,则匹配下一个若不匹配,则匹配下一个CaseCase子句,若都不匹配,则子句,若都不匹配,则什么都不执行。什么都不执行。说明:说明:(1)(1)各表达式列表必须与测试表达式的数据类型相各表达式列表必须与测试表达式的数据类型相同或相容。同或相容。(2)(2)表达式的形式可以包含以下表达式的形式可以包含以下3 3种形式。种形式。
19、一个或一组值:一个或一组值:Case 1 Case 1 或或 Case1,2,3,4,5,6,7,8,9,10Case1,2,3,4,5,6,7,8,9,10。中间用逗号隔开。中间用逗号隔开。两个值间范围:两个值间范围:Case 1 to 10Case 1 to 10。表示。表示1 11010的的范围。范围。Is Is 关系表达式:关系表达式:Case Is10Case Is10。表示小于。表示小于1010的的范围。范围。例如:将成绩转换为等级例如:将成绩转换为等级【例【例4.5】将例将例4.4改用改用Select Case语句来实现。语句来实现。Private Sub Command1_Cl
20、ick()Dim score As Single,grade As String score=Val(Text1.Text)Select Case score Case Is 100 grade=非法输入非法输入 Case Is 60 grade=不及格不及格 Case Is 70 grade=及格及格“Case Is 80 grade=中等中等 Case Is 57 Or KeyAscii 57 Or KeyAscii 45 Or keyAsii=47 Then KeyAscii=0 屏蔽数字字符和小数点和负号之外的字符输入屏蔽数字字符和小数点和负号之外的字符输入 End IfEnd Sub
21、 【例【例4.9】在客户满意程度调查中发现,客户的满意程度会导致在客户满意程度调查中发现,客户的满意程度会导致不同的行为特征,见表不同的行为特征,见表4-1。设计一个应用程序,输入一个客户。设计一个应用程序,输入一个客户的满意程度,查询该满意程度对应的情绪反应和行为。的满意程度,查询该满意程度对应的情绪反应和行为。1)界面设计界面设计程序的主要代码如下:程序的主要代码如下:Private Sub Command1_Click()Dim strin As String,strout As String If Text1.Text Then strin=Text1.Text If strin=很不
22、满意 Then strout=愤慨、恼怒、投诉、负面宣传 ElseIf strin=不满意 Then strout=气愤、烦恼 ElseIf strin=不太满意 Then strout=抱怨、遗憾 ElseIf strin=一般 Then strout=无明显正、负情绪 ElseIf strin=较满意 Then strout=好感、肯定、赞许好感、肯定、赞许 ElseIf strin=满意满意 Then strout=称心、愉快、赞扬称心、愉快、赞扬 ElseIf strin=很满意很满意 Then strout=激动、正面宣传激动、正面宣传 Else strout=输入错误输入错误 En
23、d If Text2.Text=strout End IfEnd Sub 【例4.10】有一天,陈老师打开QQ,有个朋友给他发了个信息,说在QQ很神奇,只要按住Alt键不放,输入1234可以显示他的姓名。半信半疑的陈老师还是按要求做了,结果上当后的陈老师很气愤,他想请你帮他用VB设计一个类似的程序,回敬一下他那个好开玩笑的朋友。1)界面设计界面设计2)代码分析与设计代码分析与设计 用户是否在输入字符时按住了用户是否在输入字符时按住了Alt键,可用条件键,可用条件“Shift=4 And KeyCode 18”来判断。来判断。多次输入的值连成一个字符串。可用多次输入的值连成一个字符串。可用 my
展开阅读全文