可视化程序设计第4章 选择结构程序设计.ppt
《可视化程序设计第4章 选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《可视化程序设计第4章 选择结构程序设计.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章选择结构程序设计选择结构程序设计4.1条件表达式1关系运算符与关系表达式关系运算符与关系表达式比较两个运算量之间的关系,关系表达式的运算结果为逻辑比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为量。若关系成立,结果为True,若关系不成立,结果为,若关系不成立,结果为False。VB中的关系运算符如下表所示。中的关系运算符如下表所示。运算符含义优先级实例结果小于所有关系运算所有关系运算优先级相同。优先级相同。低于算术运算低于算术运算的加的加“+”,减减“-”运算,运算,高于逻辑非高于逻辑非“Not”运算。运算。15+1020False=小于或等于10大于10
2、20False=大于或等于This=ThatTrue=等于This=ThatFalse不等于ThisThatTrueLike字符串匹配ThisLike*isTrueIs对象比较关系运算的规则如下:关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。(2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的字符为止直到出现不同的字符为止.。例:例:ABCDEABRA结果为结果为False(3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据比较,如:如:29189,按
3、数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较,如:如:77sdcd,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运算符是运算符是VB6.0新增加的。新增加的。其使用格式为:其使用格式为:str1Likestr22逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符:逻辑运算符:Not,And,OrXor说说明:明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,(逻辑非)最高,但它低于关系运算。但它低于关系运算。(2)VB中常用的逻辑运算符是中常用的逻辑运算
4、符是Not、And和和Or。它们用。它们用于将多个关系表达式进行逻辑判断。于将多个关系表达式进行逻辑判断。例如:例如:数学上表示某个数在某个区域时用表达式:数学上表示某个数在某个区域时用表达式:10X=10AndX20如果写成如下形式将是错误的:如果写成如下形式将是错误的:10=x20或或10=xOrx字字符符串串运运算算符符-关关系系运运算算符符-布布尔尔运运算符算符【例例4-1】设设变变量量x=4,y=1,a=7.5,b=6.2,求求表表达达式式x+ya+bAndNoty1.3AndNotyb(2)再作关系运算:再作关系运算:TrueAndNotFalse(3)作非运算:作非运算:True
5、AndTrue(4)最后得:最后得:True【例例4-2】判判断断某某个个年年份份是是闰闰年年的的根根据据是是年年份份数数满满足足下下述述条条件之一。件之一。(1)能被能被4整除,但不能被整除,但不能被100整除的年份都是闰年。整除的年份都是闰年。(2)能被能被100整除,又能被整除,又能被400整除的年份都是闰年。整除的年份都是闰年。设变量设变量y表示年份,写出判断表示年份,写出判断y是否闰年的布尔表达式。是否闰年的布尔表达式。解解:判判断断y是是否否满满足足条条件件(1)的的布布尔尔表表达达式式是是yMod4=0AndyMod1000判判断断y是是否否满满足足条条件件(2)的的布布尔尔表表
6、达达式式是是yMod100=0AndyMod400=0两者取两者取“或或”,即得判断闰年的布尔表达式,即得判断闰年的布尔表达式yMod4=0AndyMod1000OryMod100=0AndyMod400=04.3单条件选择语句单条件选择语句IF1.单行结构条件语句单行结构条件语句IFTHENELSEIf条件条件Then语句序列语句序列1Else语句序列语句序列2【例例4-3】输入输入x,计算计算y的值。其中:的值。其中:设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写程序代码。编写程序代码。写出命令按钮写出命令按钮Comma
7、nd1的单击(的单击(Click)事件代码为事件代码为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx=0Theny=1+xElsey=12*xText2.Text=yEndSub【例例4-4】学学校校对对学学习习成成绩绩优优良良的的学学生生进进行行奖奖励励,获获奖奖的的条条件件如下:如下:(1)所考所考5门课的总分超过门课的总分超过450分。分。(2)每门课的成绩都在每门课的成绩都在88分以上。分以上。(3)前前3门门(主主课课)的的成成绩绩都都在在95分分以以上上,其其他他两两门门(非非主主课)的成绩都
8、在课)的成绩都在80分以上。分以上。输入某学生输入某学生5门课的成绩门课的成绩s1、s2、s3、s4、s5,判断他是否能判断他是否能够获奖。够获奖。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写程序代码。编写程序代码。图图4-5判断能否获奖判断能否获奖可以写出命令按钮可以写出命令按钮Command1的单击(的单击(Click)事件代码为:事件代码为:PrivateSubCommand1_Click()Dims1AsSingle,s2AsSingle,s3AsSingle,s4AsSingle,s5AsSingleDimpAs
9、Strings1=Val(InputBox(请输入第请输入第1门课的成绩:门课的成绩:,输入框输入框,0)s2=Val(InputBox(请输入第请输入第2门课的成绩:门课的成绩:,输入框输入框,0)s3=Val(InputBox(请输入第请输入第3门课的成绩:门课的成绩:,输入框输入框,0)s4=Val(InputBox(请输入第请输入第4门课的成绩:门课的成绩:,输入框输入框,0)s5=Val(InputBox(请输入第请输入第5门课的成绩:门课的成绩:,输入框输入框,0)t1=(s1+s2+s3+s4+s5=450)t2=(s1=88Ands2=88Ands3=88Ands4=88And
10、s5=88)t3=(s1=95Ands2=95Ands3=95Ands4=80Ands5=80)Ift1Ort2Ort3Thenp=可可以以获获奖奖!Elsep=不不能能获获奖奖!p=Str(s1)&,&Str(s2)&,&Str(s3)&,&Str(s4)&,&Str(s5)&Chr(13)&pLabel1.Caption=该该生生五五门门课课的的成成绩绩分分别别是是:&Chr(13)&pEndSub【例4-5】利用输入框函数输入3个不同的数,选出其中最大的数。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写程序代码。可以写出命令按钮可以写出命令按钮Command1的单击(
11、的单击(Click)事件代码为事件代码为PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(InputBox(请输入第请输入第1个数:个数:,输入框输入框,0)b=Val(InputBox(请输入第请输入第2个数:个数:,输入框输入框,0)c=Val(InputBox(请输入第请输入第3个数:个数:,输入框输入框,0)p=&a&,&b&,&cp=p&三个数中最大的数是:三个数中最大的数是:IfabAndacThenp=p&aIfbaAndbcThenp=p&bIfcaAndcbThenp=p&cLabel1.Capti
12、on=pEndSub2使用使用IIF函数函数IIf函函 数数 可可 用用 来来 执执 行行 简简 单单 的的 条条 件件 判判 断断 操操 作作,它它 相相 当当 于于IFThen.Else结构。结构。IIf函数的语法结构为函数的语法结构为IIf(条件表达式条件表达式,表达式表达式1,表达式表达式2)说明:说明:(1)与与IF语句中的表达式相同,通常是关系表语句中的表达式相同,通常是关系表达式、逻辑表达式,也可为算术表达式。如果是算术表达式,达式、逻辑表达式,也可为算术表达式。如果是算术表达式,其值按非其值按非0为为True,0为为False进行判断。进行判断。(2)当)当为真时,函数返回为真
13、时,函数返回的值,当的值,当为假时,函数返回为假时,函数返回的值。的值。(3)、可以是任何表达式。可以是任何表达式。【例例4-6】例例4-3中命令按钮中命令按钮Command1的单击(的单击(Click)事件代码可以改为事件代码可以改为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)y=IIf(x=0,1+x,12*x)Text2.Text=yEndSub3.块结构条件语句块结构条件语句IFTHENELSEENDIF其语法结构为其语法结构为If条件条件1Then语句列语句列1Else语句列语句列2EndIf【例例
14、4-7】将将例例4-3中中命命令令按按钮钮Command1的的单单击击(Click)事件代码改为多行事件代码改为多行If语句:语句:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx=0Theny=1+xElsey=12*xEndIfText2.Text=yEndSub4.IF语句的嵌套语句的嵌套1)IF语句的嵌套1.【例例4-8】铁铁路路托托运运行行李李,从从甲甲地地到到乙乙地地,规规定定每每张张客客票票托托运运费费计计算算方方法法是是行行李李重重量量不不超超过过50kg时时,0.25元元/kg,超超过过5
15、0kg而而不不超超过过100kg时时,其其超超过过部部分分按按0.35元元/kg收收费费,超超过过100kg时时,其其超超过过部部分分按按0.45元元/kg收收费费。编编写写程程序序,输输入入行行李李重重量量,计计算算并并输输出出托托运运的费用。的费用。设计步骤如下:设计步骤如下:(1)建建立立应应用用程程序序用用户户界界面面与与设设置置对对象象属性。属性。图4-9计算托运费(2)编写程序代码。编写程序代码。可以写出命令按钮可以写出命令按钮Command1的单击(的单击(Click)事件代码事件代码为为PrivateSubCommand1_Click()DimwAsSingle,xAsSing
16、lew=Val(Text1.Text)Ifw=50Thenx=0.25*wElseIfw=100Thenx=0.25*50+0.35*(w50)Elsex=0.25*50+0.35*50+0.45*(w100)EndIfEndIfText2.Text=xEndSub可以将上例中命令按钮Command1的单击(Click)事件代码改为:PrivateSubCommand1_Click()DimwAsSingle,xAsSinglew=Val(Text1.Text)x=IIf(w=50,0.25*w,0.25*50+IIf(w=100,0.35*(w50),0.35*50+0.45*(w100)T
17、ext2.Text=xEndSub【例4-9】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物(1)在1000元以上者,按九五折优惠;(2)在2000元以上者,按九折优惠;(3)在3000元以上者,按八五折优惠;(4)在5000元以上者,按八折优惠。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写程序代码。可以写出命令按钮Command1的单击(Click)事件代码为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx1000Theny=xElseIfx2000Theny=0.9
18、5*xElseIfx3000Theny=0.9*xElseIfx5000Theny=0.85*xElsey=0.08*xEndIfEndIfEndIfEndIfText2.Text=yEndSub2)IF语句的嵌套格式ELSEIF其语法结构为If条件条件1Then语句列语句列1ElseIf条件条件2Then语句列语句列2.Else其他语句列其他语句列EndIf【例4-10】在例4-9中使用带ElseIf的块If语句来计算出优惠价,只需将其中命令按钮Command1的单击(Click)事件代码改为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=
19、Val(Text1.Text)Ifx1000Theny=xElseIfx2000Theny=0.95*xElseIfx3000Theny=0.9*xElseIfx5000Theny=0.85*xElsey=0.08*xEndIfText2.Text=yEndSub4.4多分支条件选择语句多分支条件选择语句SELECTCASE1.SELECTCASE结构与语法结构与语法语句的语法格式为语句的语法格式为:SelectCase变量或表达式变量或表达式Case表达式列表表达式列表1语句块语句块1Case表达式列表表达式列表2语句块语句块2CaseElse语句块语句块n+1EndSelect数值型或字符
20、串表达式说明:说明:与:与同类型的下面同类型的下面四种形式之一:四种形式之一:表达式表达式如如:A+5一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)如如:2,4,6,8表达式表达式1To表达式表达式2如如:60to100Is关系运算符表达式关系运算符表达式如如;Is602.SELECTCASE结构的应用【例4-11】在例4-9中使用SelectCase语句来计算优惠价,只需将其中命令按钮Command1的单击(Click)事件代码改为PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)SelectCasexCa
21、seIs1000y=xCaseIs2000y=0.95*xCaseIs3000y=0.9*xCaseIs5000y=0.85*xCaseElsey=0.8*xEndSelectText2.Text=yEndSub【例4-12】某航空公司规定在旅游的旺季79月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%;在旅游的淡季15月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其他情况一律优惠10%。设计程序,根据月份和订票张数决定票价的优惠率。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写程序代码。根 据 流 程 图,可 以
22、写 出 命 令 按 钮 Command1的 单 击(Click)事件代码为:PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)SelectCasemCaseIs=5,10,11Ifn20Thenr=20Elser=30Case7To9Ifn0AndText1.Text0ThenCommand1.SetFocusEndIfEndSub4.5使用计时器控件使用计时器控件1.用途用途计时器控件(计时器控件(Timer)又称时钟、定时器控件,用于有规律地定)又称时
23、钟、定时器控件,用于有规律地定时执行指定的工作,常常用于编写不需要与用户进行交互就可时执行指定的工作,常常用于编写不需要与用户进行交互就可直接执行的代码,如计时、倒计时、动画等。在程序运行阶段,直接执行的代码,如计时、倒计时、动画等。在程序运行阶段,时钟控件不可见。时钟控件不可见。2属属性性(1)Interval属性属性取值范围在取值范围在064767,单位:为毫秒(,单位:为毫秒(0.001秒),表示计时间秒),表示计时间隔。若将隔。若将Interval属性设置为属性设置为0或负数,则计时器停止工作。缺或负数,则计时器停止工作。缺省设置为省设置为0(2)Enabled属性属性设置为设置为Tr
24、ue,而且,而且Interval属性值大于属性值大于0,则计时器开始工(以,则计时器开始工(以Interval属性值为间隔,触发属性值为间隔,触发Timer事件)。事件)。设置为设置为False可使时钟控件无效,即计时器停止工作。缺省设置可使时钟控件无效,即计时器停止工作。缺省设置为为True3方方法法Timer控件没有方法控件没有方法。4事事件件时钟控件只有时钟控件只有Timer事件事件当当Enabled属性值为属性值为True且且Interval属性值大于属性值大于0时,时,该事该事件以件以Interval属性指定的时间间隔发生属性指定的时间间隔发生常常将需要定时执行的操作放在常常将需要定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化程序设计第4章 选择结构程序设计 可视化 程序设计 选择 结构
限制150内