收藏 分享(赏)

第三章之选择结构(课件).ppt

上传人:无敌 文档编号:965329 上传时间:2018-05-08 格式:PPT 页数:55 大小:245.01KB
下载 相关 举报
第三章之选择结构(课件).ppt_第1页
第1页 / 共55页
第三章之选择结构(课件).ppt_第2页
第2页 / 共55页
第三章之选择结构(课件).ppt_第3页
第3页 / 共55页
第三章之选择结构(课件).ppt_第4页
第4页 / 共55页
第三章之选择结构(课件).ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、1,第三章 VB基本控制结构 之选择结构及其程序设计,2,要点: 条件语句 单行结构条件语句If.Then.Else 块结构条件语句If.Then.EndIf 多分支选择语句Select Case.End Select特点: 根据条件是否成立,决定程序的执行分支,3,选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。选择结构中要使用选择语句,有两路分支和多路分支两种情况 ,对应的选择语句有If语句(两路出口)和Select Case语句(多路出口)。,4,一、单行结构条件语句1. 格式 If Then Else 2. 功能 如果成立,则执行 否则执行3. 说明

2、(1) : 关系表达式、布尔表达式 数值表达式(0为False,非0为True) 字符串表达式(0为False,非0为True)(2) 、: 可以有多条语句,各语句之间用冒号隔开。(3)可以没有Else部分,这时必须有。,5,例如,Dim Data As Integer Data = InputBox(“请输入成绩:) If Data = 90 Then Print “优秀” Else Print “合格” Print 计算完毕 上例的If 语句可以改写为: If Data 0 Then A=A+B:B=B+A Else A=A-B:B=B-A例2: If Xaaa Then Print X例

3、3:设界面如下图所示,用文本框输入x的值,单击“计算Y”按钮时,根据以下公式计算y的值。,7,Private Sub Command1_Click() X = Val(Text1.Text) If X = 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print Y=; Y 若 X=2 则打印 Y=-2 若 X=-2 则打印 Y=-6,9,例5: 改写前例3,比较:,X = Val(Text1.Text)Y = Abs(X)If X 0 Then Y = Log(X)Label3.Caption = Y,X = Val(Text1.Text)Y = Log

4、(X)If X 0,Y0 B X0 C X0,Y 0 Then If Y 0 Then Print IN A Else Print IN D Else If Y 0 Then Print IN B Else Print IN C End Sub,12,二、块结构条件语句,1.格式:If Then ElseIf Then ElseIf Then Else End If功能: ,If Then 语句组1Else 语句组2End If,注意: 格式书写、嵌套,13,说明: ElseIf之间不要加空格。 Else和位于其上方的最近的If配对,If Then ElseIf Then Else End I

5、f,14,例7:输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。,C40时,打印HOT 30C40时,打印 WARM 20C30时,打印 ROOM TEMPERATURE 10C20时,打印 COOL 0 40 Then Label2.Caption = HOT ElseIf C 30 Then Label2.Caption = WARM ElseIf C 20 Then Label2.Caption = ROOM TEMPERATURE ElseIf C 10 Then Label2.Caption = COOL ElseI

6、f C 0 Then Label2.Caption = COLD Else Label2.Caption = FREEZING End IfEnd Sub,16,三、多分支选择语句1. 格式 Select Case Case Case Case Else End Select2. 功能: 根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语句之后继续执行。,17,3. 说明 : 数值或字符表达式 Case 表达式表: 表中的表项为如下形式: (1) 表达式1,表达式2. 如: Case 1 , 3 , 5 (2) 表达式1

7、TO 表达式2 如: Case 10 TO 30 Case A TO Z (3) Is 如: Case Is = 10 Case Is = 0 与 Case 0 相同 注意: 测试表达式的类型应与Case后表达式类型一致,且三种形式可以混用,如: Case Is y,x,y)2、Choose函数:格式:Choose(整形表达式,选项列表)例: x=inputbox(“选择颜色”)Choose(x,vbred,vbgreen,vbyellow),20,应用举例:例9:设计一个口令检测程序,界面如下图,当用户输入的口令正确时,显示“恭喜!,您已成功进入本系统”,否则,显示,“口令错!,请重新输入”

8、。如果连续两次输入了错误口令,在第三次输入完口令后则显示一个消息框,提示“对不起,您不能使用本系统”,然后退出整个应用程序。,21,Private Sub Text1_KeyUp(KeyCode As Integer, _ Shift As Integer) Static I As Integer 保存输入错误口令的次数 If KeyCode = 13 Then 如果按下的键为回车键 If UCase(Text1.Text) = HELLO Then Label2.Caption = 恭喜!,您已成功进入本系统 ElseIf I = 0 Or I = 1 Then I = I + 1 Labe

9、l2.Caption = 口令错!,请重新输入 Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Else MsgBox 对不起,您不能使用本系统: End End If End IfEnd Sub,22,例10:读程序,写结果。 Data = InputBox(请输入一个成绩, 成绩分等) Select Case Int(Data / 10) Case 10 MsgBox 满分, , 成绩分等 Case 9 MsgBox 优秀, , 成绩分等 Case 8 MsgBox 良好, , 成绩分等 Case 7 MsgBox 一般, , 成绩

10、分等 Case 6 MsgBox 合格, , 成绩分等 Case Else MsgBox 不合格, , 成绩分等 End Select程序功能:学生成绩分等。,23,例11:测试输入的字符 Char = InputBox(请输入一个字符, 测试)Select Case Char Case 0 To 9 MsgBox 字符是数字, , 测试 Case a To z MsgBox 字符是小写字母, , 测试 Case A To Z MsgBox 字符是大写字母, , 测试 Case Else MsgBox 字符是其它符号, , 测试End Select,24,例12、求一元二次方程ax2+bx+c

11、=0的解 。 分析: (1) 如果a=0,则不是二次方程,此时如果b=0,则提示重新输入系数;如果b 0,则: x=-c/b (2) 如果a 0,且b2-4ac=0,则有两个相等的实根 (3) 如果a 0,且b2-4ac0,则有两个不等的实根 (4) 如果a 0,且b2-4ac 0 X1 = (-B + Sqr(Delta) / (2 * A) X2 = (-B - Sqr(Delta) / (2 * A) Print X1=; Format(X1, 0.000) CurrentX = 600: CurrentY = 1300 Print X2=; Format(X2, 0.000) Case

12、 Is 0 A1 = -B / (2 * A) A2 = Sqr(Abs(Delta) / (2 * A),27,Print X1=; Format(A1, 0.000); +; _ Format(A2, 0.000); i CurrentX = 600 CurrentY = 1300 Print X2=; Format(A1, 0.000); -; _ Format(A2, 0.000); i End SelectEnd Sub,28,例13、设计一个四则运算的自我练习应用程序,界面如下图所示。,29,要求: (1) 执行时,当在Text1中输入一种运算符后,在标签Label2中立即出现该运

13、算符号。(2) 单击“出题”按钮可以产生两个0,1000之间的随机整数,这时由Text2、Label2和Text3组成一个表达式。(3) 可以通过单击“计算”按钮计算所生成的表达式的值。(4) 也可以由用户在文本框Text4中输入运算结果通过单击“判断”按钮可以判断输入的运算结果是否正确,然后在Label4上显示“正确”或“错误”。(5) 单击“退出”按钮结束运行。,30,(1) 在Text1中输入加、减、乘、除符号后,在Label2中立即出现相应的运算符号。 Private Sub Text1_Change() Label2.Caption = Text1.Text End Sub(2) 单

14、击“出题”按钮Command1,生成两个0,1000之间的随机整数。 Private Sub Command1_Click() Randomize Text2.Text = Int(Rnd * 1001) Text3.Text = Int(Rnd * 1001) Text4.Text= End Sub,31,(3) 单击“计算”按钮Command2得出Text4的值。Private Sub Command2_Click() If Label2.Caption = + Then Text4.Text = Val(Text2.Text) + Val(Text3.Text) ElseIf Label

15、2.Caption = - Then Text4.Text = Val(Text2.Text) - Val(Text3.Text) ElseIf Label2.Caption = * Then Text4.Text = Val(Text2.Text) * Val(Text3.Text) ElseIf Label2.Caption = / Then Text4.Text = Val(Text2.Text) / Val(Text3.Text) Else a = MsgBox(运算类型错,请重输, , 警告) Text1.SetFocus: Text1.SelStart = 0 Text1.SelL

16、ength = Len(Text1.Text) End IfEnd Sub,32,4) Text4的内容也可以由用户输入,通过单击“判断”按钮Command3判断输入结果是否正确。 Private Sub Command3_Click() Select Case Label2.Caption Case + If Text4.Text=Val(Text3.Text)+Val(Text2.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End If,33,Case -“ If Text4.Text=Val(Text2.Text)-Va

17、l(Text3.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End IfCase * If Text4.Text=Val(Text2.Text)*Val(Text3.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End If,34,Case / If Text4.Text=Val(Text2.Text)/Val(Text3.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End If Case El

18、se a=MsgBox(运算类型错,请重输, , 警告) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End SelectEnd Sub注: 因实数的不精确表示,除法判断条件应写成: Abs(Val(Text4.Text) - Val(Text2.Text) / Val(Text3.Text) 0,b0Sina+Sinb ,a0,b=0Sina+Cosb ,a=0,38,2、编制一个判断某数能否被3、5、7整除的程序。要求:输入一个整数,单击“判断”按钮判断它能否同时被3,5,7整除,若能整除,则在窗口

19、上显示“能同时被3,5,7整除”,否则显示“不能同时被3,5,7整除”。单击“清除”按钮后窗体上所显示的内容被清除,焦点自动停留在文本框中,以准备下一次的操作。界面如图所示。,39,3、编制判断一个数是否为水仙花数的程序。即输入一个3位数,判断其它是否为水仙花数。界面如图所示。(提示:水仙花数是指这样一个数,它各个位的立方和等于该数,如:153=13+53+33)。,40,4、计算三角形的面积要求:输入三角形三边,点击“计算三角形面积”按钮后,给出判断三条边所构成三角形是等边三角形、等腰三角形还是一般三角形,若能构成三角形,则输出三角形类型及面积值,若不能构成三角形,则用消息框给出提示信息。,

20、41,5、求一元二次方程的解要求:(1)依据相关数学概念,考虑根的各种情;(2)单击计算按钮,给出结果,单击结束按钮退出程序。,图3-5 应用程序运行效果,42,6、编制程序,实现某运输公司的运费计算。要求:(1)某运输公司对用户计算运费,距离越远,每公里运费越低,计算标准如下:距离250公里没有折扣250公里=距离500公里2%折扣500公里=距离1000公里5%折扣1000公里=距离2000公里8%折扣2000公里=距离3000公里10%折扣3000公里=距离15%折扣(2)程序运行效果如图所示,其中,用户不能修改计算的结果。,43,44,7、编制一个成绩评定程序。要求:(1)分别用if语

21、句和select case语句实现成绩评定程序,即在文本框输入一门功课成绩值后,点击评分钮则自动给出五级分值,标准如下: 优秀:90=成绩=100 良好;80=成绩90 中等:70=成绩80 及格;60=成绩70 不及格:0=成绩60(2)若输入的分值不在0,100内,则给出消息框警告消息。,45,46,8、 判断一个数是否为同构数。(提示:同构数是指这样一个数,它出现该数平方值的右边,如:5是一个同构数,即5出现在25的右边,程序可参照判断水仙花数程序)。,47,9、设计口令检测界面(程序)。要求:(1)口令值自定;(2)口令长度不超过6个字符,运行时,用户输完口令并按回车键或“确定”按钮后,都可以进行口令判断,若输入口令正确,则显示另一欢迎窗口,否则给出错误提示(用消息框);(3)若连续三次给出错误口令,则给出警告提示后退出程序。(提示:在文本框Text的KeyUp事件过程中编写代码实现回车键执行命令,即在Text_KeyUp 事件过程中,使用条件语句“If Keycode = 13 Then ”实现。),48, 结 束 The end,49,50,51,52,53,54,55,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报