欢迎来到天天文库
浏览记录
ID:52268641
大小:830.51 KB
页数:64页
时间:2020-04-03
《VisualBasic5章选择结构与循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构与循环结构程序设计5.1选择结构程序设计5.2For循环结构程序设计5.3While循环结构程序设计5.4Do循环结构程序设计5.5多重循环5.6综合应用程序举例在结构化程序设计中,选择结构是最常用的结构之一。其作用是要求系统根据给定的条件是否满足、结果是否成立来选择程序执行的方向.从书写形式上区分:单行结构条件语句、块结构条件语句5.1.1单行结构条件语句一.单分支结构:If<条件表达式>Then<语句>说明:“条件”通常是关系表达式或逻辑表达式。“语句”可以是简单句或复合句功能:表达式的结果为真时执行语
2、句块,当表达式结果为假时,跳过语句块执行例5-1输入三个数,输出其中最大值。通过流程图帮助理解和编程。PrivateSubCommand1_Click()Dima!,b!,c!,max!a=InputBox("请输入第一个数")b=InputBox("请输入第二个数")c=InputBox("请输入第三个数")max=aIfb>maxThenmax=bIfc>maxThenmax=cPrinta;",";b;",";c;"中最大值是:";maxEndSub思考:已知两个数x和y,比较它们的大小,使得x大于y.Ifx3、hent=x:x=y:y=t重要的是学会两个数的交换,若上述语句次序变一下,结果如何?二、双分支结构:格式:If<条件表达式>Then<语句1>Else<语句2>功能:若条件成立或为非0值,则执行“语句1”,否则执行语句2。其中:“条件”通常是关系表达式或逻辑表达式。“语句1”和“语句2”可以是简单句或复合句。例:计算分段函数sinx+√x2+1(x≠0)y=cosx-x3+3x(x=0)Ifx<>0Theny=sin(x)+Sqr(x^2+1)Elsey=cos(x)-x^3+3*x用单分支结构:y=cos(x)-x^4、3+3*xIfx<>0Theny=sin(x)+Sqr(x^2+1)5.1.2块结构条件语句If<条件表达式>Then语句块1Else语句块2EndIfIf条件1Then语句块1[ElseIf条件2Then语句块2][ElseIf条件3Then语句块3]……[Else语句块n]EndIf块结构条件语句:If条件1Then语句块1[ElseIf条件2Then语句块2][ElseIf条件3Then语句块3]……[Else语句块n]EndIf块结构条件语句的功能是:如果“条件1”为True,则执行“语句块1”;否则如果“条件25、”为True,则执行“语句块2”…,否则执行“语句块n”,最后执行EndIf结束选择。例题5-2:某商场为了促销,采用购物打折的优惠办法,每位顾客一次购物(1)1000元以上,按九五折优惠(2)2000元以上,按九折优惠(3)3000元以上,按八五折优惠(4)5000元以上,按八折优惠编写程序,输入购物款数,计算并输出优惠价。方法一:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=val(Text1.Text)Ifx<1000Theny=xElseIfx<2000The6、ny=0.95*xElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.8*xEndIfEndIfEndIfEndIfText2.Text=Str(y)EndSub上面的这个程序出现多次If语句嵌套,程序长,不便阅读。为此VB提供了带ElseIf的块If语句,使程序简化易写。其格式如下:If<条件1>Then<语句块l>Elself<条件2>Then<语句块2>……[Else<语句块n+1>]EndIf方法二:PrivateSubCommand1_Click()Di7、mxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<1000Theny=xElseIfx<2000Theny=0.95*xElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.8*xEndIfText2.Text=Str(y)EndSub例5-3输入系数a,b和c求二次方程ax2+bx+c=0的实根。PrivateSubCommand1_Click()Dima!,b!,c!,d!,x1!,x2!,xa=Val(InputBox("请输入8、系数a:")):b=Val(InputBox("请输入系数b:"))c=Val(InputBox("请输入系数c:")):d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/(2*a):x2=(-b-Sqr(d))/(2*a)Print"x1=";x1,"x2=";x2ElseIfd=0Thenx=
3、hent=x:x=y:y=t重要的是学会两个数的交换,若上述语句次序变一下,结果如何?二、双分支结构:格式:If<条件表达式>Then<语句1>Else<语句2>功能:若条件成立或为非0值,则执行“语句1”,否则执行语句2。其中:“条件”通常是关系表达式或逻辑表达式。“语句1”和“语句2”可以是简单句或复合句。例:计算分段函数sinx+√x2+1(x≠0)y=cosx-x3+3x(x=0)Ifx<>0Theny=sin(x)+Sqr(x^2+1)Elsey=cos(x)-x^3+3*x用单分支结构:y=cos(x)-x^
4、3+3*xIfx<>0Theny=sin(x)+Sqr(x^2+1)5.1.2块结构条件语句If<条件表达式>Then语句块1Else语句块2EndIfIf条件1Then语句块1[ElseIf条件2Then语句块2][ElseIf条件3Then语句块3]……[Else语句块n]EndIf块结构条件语句:If条件1Then语句块1[ElseIf条件2Then语句块2][ElseIf条件3Then语句块3]……[Else语句块n]EndIf块结构条件语句的功能是:如果“条件1”为True,则执行“语句块1”;否则如果“条件2
5、”为True,则执行“语句块2”…,否则执行“语句块n”,最后执行EndIf结束选择。例题5-2:某商场为了促销,采用购物打折的优惠办法,每位顾客一次购物(1)1000元以上,按九五折优惠(2)2000元以上,按九折优惠(3)3000元以上,按八五折优惠(4)5000元以上,按八折优惠编写程序,输入购物款数,计算并输出优惠价。方法一:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=val(Text1.Text)Ifx<1000Theny=xElseIfx<2000The
6、ny=0.95*xElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.8*xEndIfEndIfEndIfEndIfText2.Text=Str(y)EndSub上面的这个程序出现多次If语句嵌套,程序长,不便阅读。为此VB提供了带ElseIf的块If语句,使程序简化易写。其格式如下:If<条件1>Then<语句块l>Elself<条件2>Then<语句块2>……[Else<语句块n+1>]EndIf方法二:PrivateSubCommand1_Click()Di
7、mxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<1000Theny=xElseIfx<2000Theny=0.95*xElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.8*xEndIfText2.Text=Str(y)EndSub例5-3输入系数a,b和c求二次方程ax2+bx+c=0的实根。PrivateSubCommand1_Click()Dima!,b!,c!,d!,x1!,x2!,xa=Val(InputBox("请输入
8、系数a:")):b=Val(InputBox("请输入系数b:"))c=Val(InputBox("请输入系数c:")):d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/(2*a):x2=(-b-Sqr(d))/(2*a)Print"x1=";x1,"x2=";x2ElseIfd=0Thenx=
此文档下载收益归作者所有