




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
在结构化程序设计中,选择结构是最常用的结构之一。其作用是要求系统根据给定的条件是否满足、结果是否成立来选择程序执行的方向. 从书写形式上区分: 单行结构条件语句、块结构条件语句5.1.1单行结构条件语句例5-1输入三个数,输出其中最大值。思考:已知两个数x和y,比较它们的大小,使得x大于y. Ifx<yThent=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^3+3*x Ifx<>0Theny=sin(x)+Sqr(x^2+1)5.1.2块结构条件语句块结构条件语句:例题5-2:某商场为了促销,采用购物打折的优惠办法,每位顾客一次购物 (1)1000元以上,按九五折优惠 (2)2000元以上,按九折优惠 (3)3000元以上,按八五折优惠 (4)5000元以上,按八折优惠 编写程序,输入购物款数,计算并输出优惠价。 方法一: PrivateSubCommand1_Click() DimxAsSingle,yAsSingle x=val(Text1.Text) Ifx<1000Then y=x Else Ifx<2000Then y=0.95*x Else Ifx<3000Then y=0.9*x Else Ifx<5000Then y=0.85*x Else y=0.8*x EndIf EndIf方法二: PrivateSubCommand1_Click() DimxAsSingle,yAsSingle x=Val(Text1.Text) Ifx<1000Then y=x ElseIfx<2000Then y=0.95*x ElseIfx<3000Then y=0.9*x ElseIfx<5000Then y=0.85*x Else y=0.8*x EndIf Text2.Text=Str(y) EndSub 例5-3输入系数a,b和c求二次方程ax2+bx+c=0的实根。 PrivateSubCommand1_Click() Dima!,b!,c!,d!,x1!,x2!,x a=Val(InputBox("请输入系数a:")):b=Val(InputBox("请输入系数b:")) c=Val(InputBox("请输入系数c:")):d=b*b-4*a*c Ifd>0Then x1=(-b+Sqr(d))/(2*a):x2=(-b-Sqr(d))/(2*a) Print"x1=";x1,"x2=";x2 Else Ifd=0Then x=-b/(2*a):Print"x=";x Else Print"此方程无实根" EndIf EndIf EndSub PrivateSubCommand2_Click() End EndSub例5-4给出a,b,c的值,问它们能否构成三角形的3边。如能构成三角形,计算此三角形的面积。 PrivateSubCommand1_Click() Dima!,b!,c!,p!,s!:a=Val(InputBox(“请输入第一个数”)): b=Val(InputBox(“请输入第二个数”)):c=Val(InputBox("请输入第三个数")) Ifa>0Andb>0Andc>0Then Ifa+b>cAndb+c>aAnda+c>bThen p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c)) Print"三角形的边长和面积依次为";a;b;c;s Else Print"这三个数不能构成三角形的三个边" EndIf EndIf EndSub两种条件结构语句的异同:5.1.3情况语句(更为清晰的多分支结构)功能: 根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。 说明: 1、“测试表达式”的值与“表达式表列”的值均不匹配的时候,执行caseelse子句。 2、测试表达式可以是数值表达式或字符串表达式。 3、Case子句可以是一行或多行语句。 4、“表达式表列”中的表达式必须与测试表达式的类型一致。 5、表达式表通常是一个具体值(如Case1),每一个值确定一个分支。三种方法可以确定设定值:(P110) 1)<表达式1>[,<表达式2>]…… 当“测试表达式”的值与其中之

ys****39
实名认证
内容提供者


最近下载