資源描述:
《第6章VisualBasic程序結(jié)構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、程序的三種基本結(jié)構(gòu)從結(jié)構(gòu)化程序設(shè)計(jì)角度出發(fā),程序有三種結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.1結(jié)構(gòu)化程序設(shè)計(jì)的幾種結(jié)構(gòu)已證明:上述三種結(jié)構(gòu)組成的程序可以解決全部的問題,所以任何一種高級(jí)語(yǔ)言都具備上述三種結(jié)構(gòu)。1.順序結(jié)構(gòu)表示為ABAB先執(zhí)行A,再執(zhí)行B。2.選擇結(jié)構(gòu)表示為ABPTFBTPFA存在某條件P,若P為真,則執(zhí)行A,否則執(zhí)行B。另外:由選擇結(jié)構(gòu)可以派生出另一種基本結(jié)構(gòu)––多分支結(jié)構(gòu)。KK=K1A1A2AiAn……K=K2K=KiK=Kn3.循環(huán)結(jié)構(gòu)表示為PFTAAP為T(1)當(dāng)型結(jié)構(gòu)當(dāng)P條件成立時(shí)(T),反復(fù)執(zhí)行A,直到P為“假”時(shí)才停止循環(huán)。有兩種結(jié)構(gòu):當(dāng)型和直到型(2
2、)直到型APFTA直到P為真先執(zhí)行A,再判斷P,若為F,再執(zhí)行A,如此反復(fù),直到P為T。所謂選擇結(jié)構(gòu)(即條件判斷),是指根據(jù)所給的條件,選擇執(zhí)行某分支。其特點(diǎn)是在若干個(gè)分支中必選且只選其一執(zhí)行。VisualBasic提供的選擇結(jié)構(gòu)(即條件語(yǔ)句)有:If…Then,If…Then…Else,If…Then…ElseIf和SelectCase。在使用時(shí),可以根據(jù)不同的條件,選擇一種合適的條件語(yǔ)句。6.2選擇控制結(jié)構(gòu)6.2.1If…Then語(yǔ)句(單分支結(jié)構(gòu))有條件地執(zhí)行一個(gè)或多個(gè)語(yǔ)句語(yǔ)句形式:If<表達(dá)式>Then<語(yǔ)句塊>EndIf一般為關(guān)系或邏輯表達(dá)式,也可為其它表達(dá)式一條或多
3、條要執(zhí)行的語(yǔ)句語(yǔ)句功能:當(dāng)表達(dá)式的值為“真”(True)時(shí),則VB執(zhí)行Then后面的語(yǔ)句塊;若表達(dá)式的值為“假”(False)時(shí),則不執(zhí)行Then后面的語(yǔ)句塊,而直接開始執(zhí)行EndIf后的其它語(yǔ)句。表達(dá)式語(yǔ)句塊FT單分支結(jié)構(gòu)如:IfAge1=Age2ThenPrintAge1Print"甲與乙同歲"EndIf注意:若語(yǔ)句塊中只有一條語(yǔ)句,可以寫成一種較簡(jiǎn)單的形式,即可省略掉EndIf。即為:If<表達(dá)式>Then<語(yǔ)句>若語(yǔ)句塊中有多條語(yǔ)句,而要省略掉該語(yǔ)句結(jié)構(gòu)中結(jié)尾的EndIf,則應(yīng)將各條語(yǔ)句用冒號(hào)間隔,且必須寫在一行上。如:IfAge1=Age2ThenPrintAge1
4、:Print"甲與乙同歲"If語(yǔ)句簡(jiǎn)單示例程序例6.1示例程序例6.1:設(shè)計(jì)一個(gè)程序,求一元二次方程的根控件屬性項(xiàng)屬性值控件屬性項(xiàng)屬性值命令按鈕NameCaptionCmdCalcu"計(jì)算(&C)"標(biāo)簽5NameCaptionFontLabel5"B="字大小為四號(hào)標(biāo)簽1NameCaptionFontLabel1"ax*x+bx+c=0"字大小為10標(biāo)簽6NameCaptionFontLabel6"C="字大小為四號(hào)標(biāo)簽2NameCaptionFontLabel2"x1="字大小為10文本框1NameTextText1空標(biāo)簽3NameCaptionFontLabel3"x2=
5、"字大小為10文本框2NameTextText2空標(biāo)簽4NameCaptionFontLabel4"A="字大小為四號(hào)文本框3NameTextText3空6.2.2If…Then…Else語(yǔ)句(雙分支結(jié)構(gòu))有條件地執(zhí)行其中一個(gè)語(yǔ)句塊語(yǔ)句形式:If<表達(dá)式>Then<語(yǔ)句塊1>Else<語(yǔ)句塊2>EndIf當(dāng)表達(dá)式值不為零(True),執(zhí)行語(yǔ)句塊1當(dāng)表達(dá)式值為零(False),執(zhí)行語(yǔ)句塊2注意:若語(yǔ)句塊中只有一條語(yǔ)句,可以寫成一種較簡(jiǎn)單的形式,即可省略掉EndIf,且必須寫在一行上。即為:If<表達(dá)式>Then<語(yǔ)句1>Else<語(yǔ)句2>表達(dá)式語(yǔ)句塊1語(yǔ)句塊2TF可以是If…T
6、hen…Else語(yǔ)句,稱為嵌套雙分支結(jié)構(gòu)例6.2:設(shè)計(jì)一個(gè)窗體說明雙分支語(yǔ)句的使用例6.2程序例6.1示例程序1(另)用單分支結(jié)構(gòu)實(shí)現(xiàn)用雙分支結(jié)構(gòu)實(shí)現(xiàn)例6.3:計(jì)算分段函數(shù)y=Sinx+Cosx-x3+3x計(jì)算成績(jī)示例程序6.2.3If…Then…ElseIf語(yǔ)句(多分支結(jié)構(gòu))有條件地選擇執(zhí)行其中一個(gè)語(yǔ)句塊,并且只執(zhí)行其中一個(gè)分支,即程序執(zhí)行某一分支后,其余分支就不再執(zhí)行語(yǔ)句形式:If<表達(dá)式1>Then<語(yǔ)句塊1>ElseIf<表達(dá)式2>Then<語(yǔ)句塊2>…Else<語(yǔ)句塊n+1>EndIf表達(dá)式1表達(dá)式2表達(dá)式3表達(dá)式n語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊3語(yǔ)句塊n……TFFTTT語(yǔ)
7、句塊n+1FF多分支結(jié)構(gòu)例6.4程序例6.4:設(shè)計(jì)一個(gè)程序,評(píng)定學(xué)生成績(jī)的等級(jí)例6.5示例程序(用多分支結(jié)構(gòu)實(shí)現(xiàn))例6.6示例程序例6.5:設(shè)計(jì)一個(gè)程序,求一元二次方程的根(注意:任意一元 二次方程的根有四種情況①A=0②B2-4AC>0③B2-4AC<0④B2-4AC=0)例6.5示例程序(另)(用雙分支結(jié)構(gòu)的嵌套形式實(shí)現(xiàn))例6.6:用戶不斷單擊窗體,應(yīng)用程序可以根據(jù)靜態(tài)變量Index的數(shù)值更換窗體的標(biāo)題。6.2.4Iif函數(shù)Iif函數(shù)可用來(lái)執(zhí)行簡(jiǎn)單的條件判斷操作,它是If…Then…Else結(jié)構(gòu)的簡(jiǎn)