3、hent=x:x=y:y=t重要的是學(xué)會(huì)兩個(gè)數(shù)的交換,若上述語(yǔ)句次序變一下,結(jié)果如何?二、雙分支結(jié)構(gòu):格式:If<條件表達(dá)式>Then<語(yǔ)句1>Else<語(yǔ)句2>功能:若條件成立或?yàn)榉?值,則執(zhí)行“語(yǔ)句1”,否則執(zhí)行語(yǔ)句2。其中:“條件”通常是關(guān)系表達(dá)式或邏輯表達(dá)式?!罢Z(yǔ)句1”和“語(yǔ)句2”可以是簡(jiǎn)單句或復(fù)合句。例:計(jì)算分段函數(shù)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用單分支結(jié)構(gòu):y=cos(x)-x^
4、3+3*xIfx<>0Theny=sin(x)+Sqr(x^2+1)5.1.2塊結(jié)構(gòu)條件語(yǔ)句If<條件表達(dá)式>Then語(yǔ)句塊1Else語(yǔ)句塊2EndIfIf條件1Then語(yǔ)句塊1[ElseIf條件2Then語(yǔ)句塊2][ElseIf條件3Then語(yǔ)句塊3]……[Else語(yǔ)句塊n]EndIf塊結(jié)構(gòu)條件語(yǔ)句:If條件1Then語(yǔ)句塊1[ElseIf條件2Then語(yǔ)句塊2][ElseIf條件3Then語(yǔ)句塊3]……[Else語(yǔ)句塊n]EndIf塊結(jié)構(gòu)條件語(yǔ)句的功能是:如果“條件1”為True,則執(zhí)行“語(yǔ)句塊1”;否則如果“條件2
5、”為True,則執(zhí)行“語(yǔ)句塊2”…,否則執(zhí)行“語(yǔ)句塊n”,最后執(zhí)行EndIf結(jié)束選擇。例題5-2:某商場(chǎng)為了促銷,采用購(gòu)物打折的優(yōu)惠辦法,每位顧客一次購(gòu)物(1)1000元以上,按九五折優(yōu)惠(2)2000元以上,按九折優(yōu)惠(3)3000元以上,按八五折優(yōu)惠(4)5000元以上,按八折優(yōu)惠編寫程序,輸入購(gòu)物款數(shù),計(jì)算并輸出優(yōu)惠價(jià)。方法一: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上面的這個(gè)程序出現(xiàn)多次If語(yǔ)句嵌套,程序長(zhǎng),不便閱讀。為此VB提供了帶ElseIf的塊If語(yǔ)句,使程序簡(jiǎn)化易寫。其格式如下:If<條件1>Then<語(yǔ)句塊l>Elself<條件2>Then<語(yǔ)句塊2>……[Else<語(yǔ)句塊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輸入系數(shù)a,b和c求二次方程ax2+bx+c=0的實(shí)根。PrivateSubCommand1_Click()Dima!,b!,c!,d!,x1!,x2!,xa=Val(InputBox("請(qǐng)輸入
8、系數(shù)a:")):b=Val(InputBox("請(qǐng)輸入系數(shù)b:"))c=Val(InputBox("請(qǐng)輸入系數(shù)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=