VB程序設(shè)計(jì)基礎(chǔ)-第4章-程序的基本結(jié)構(gòu)課件_第1頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)-第4章-程序的基本結(jié)構(gòu)課件_第2頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)-第4章-程序的基本結(jié)構(gòu)課件_第3頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)-第4章-程序的基本結(jié)構(gòu)課件_第4頁(yè)
VB程序設(shè)計(jì)基礎(chǔ)-第4章-程序的基本結(jié)構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第四章程序的基本結(jié)構(gòu)退出VisualBasic程序包括三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇和分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。第四章程序的基本結(jié)構(gòu)退出VisualBasic程序包括§4.1順序結(jié)構(gòu)順序結(jié)構(gòu)就是指:各個(gè)語(yǔ)句按出現(xiàn)的先后順序依次執(zhí)行。開始語(yǔ)句語(yǔ)句1語(yǔ)句2結(jié)束語(yǔ)句

………§4.1順序結(jié)構(gòu)順序結(jié)構(gòu)就是指:各個(gè)語(yǔ)句按出現(xiàn)的先后順對(duì)于各種程序設(shè)計(jì)語(yǔ)言來(lái)說(shuō),順序結(jié)構(gòu)的語(yǔ)句主要包含了賦值語(yǔ)句、輸入/輸出語(yǔ)句等等。一、賦值語(yǔ)句賦值語(yǔ)句由變量名、賦值運(yùn)算符(=)和某種類型的表達(dá)式組成。賦值語(yǔ)句的一般格式為:

變量=表達(dá)式賦值語(yǔ)句有兩個(gè)基本功能:對(duì)表達(dá)式進(jìn)行計(jì)算和保存表達(dá)式的值。賦值語(yǔ)句被執(zhí)行時(shí):它先對(duì)賦值運(yùn)算符右邊的表達(dá)式進(jìn)行計(jì)算,然后將結(jié)果存儲(chǔ)在運(yùn)算符左邊的變量中。對(duì)于各種程序設(shè)計(jì)語(yǔ)言來(lái)說(shuō),順序結(jié)構(gòu)的語(yǔ)句主若事先定義了變量的類型,變量的類型和表達(dá)式計(jì)算結(jié)果的值必須相匹配。(一)賦值號(hào)兩邊類型不一致時(shí)的處理規(guī)則:1.當(dāng)左右均為數(shù)值類型時(shí),右邊表達(dá)式的精度與左邊變量精度不同時(shí),強(qiáng)制轉(zhuǎn)換成左邊變量的精度。2.當(dāng)右邊表達(dá)式是數(shù)字字符串,左邊變量是數(shù)值類型時(shí),自動(dòng)轉(zhuǎn)換成數(shù)值類型再進(jìn)行賦值。但如果表達(dá)式中有非數(shù)字字符或空字符串時(shí),就會(huì)出錯(cuò)。若事先定義了變量的類型,變量的類型和表達(dá)式計(jì)3.當(dāng)邏輯表達(dá)式復(fù)制給數(shù)值類型時(shí),true轉(zhuǎn)換為-1,false轉(zhuǎn)換為0;反之,當(dāng)數(shù)值類型轉(zhuǎn)換為邏輯類型時(shí),非0轉(zhuǎn)換為true,0轉(zhuǎn)換為false。4.任何非字符類型賦值給字符類型時(shí),均自動(dòng)轉(zhuǎn)換為字符類型。

3.當(dāng)邏輯表達(dá)式復(fù)制給數(shù)值類型時(shí),true轉(zhuǎn)換為-1,fal(二)使用賦值語(yǔ)句時(shí)的注意事項(xiàng):1.“=”的左邊只能是變量名,不允許出現(xiàn)常量和表達(dá)式。Exp(2)=e^236=6^2100=10*10

(二)使用賦值語(yǔ)句時(shí)的注意事項(xiàng):2.不允許在同一個(gè)賦值語(yǔ)句中為多個(gè)變量復(fù)制(c語(yǔ)言允許)x1=x2=0編譯器將會(huì)把第一個(gè)=當(dāng)成賦值符號(hào),而把第二個(gè)=當(dāng)成比較運(yùn)算符,把x2=0當(dāng)作了邏輯表達(dá)式。3.不要將賦值運(yùn)算與代數(shù)方程式的概念混淆x=x+12.不允許在同一個(gè)賦值語(yǔ)句中為多個(gè)變量復(fù)制(c語(yǔ)言二、輸入框函數(shù)——InputBox函數(shù)(一)InputBOX函數(shù)的格式該函數(shù)用于為程序輸入數(shù)據(jù)。其格式為:InputBox([prompt[,title][,default][,xpos,ypox][,helpfile,context]]說(shuō)明:prompt—輸入的提示,長(zhǎng)度≤1024個(gè)字符。輸入時(shí)若換行操作,則寫出:Chr(13)+Chr(10)title—對(duì)話框標(biāo)題。default—輸入的默認(rèn)值。xpos,ypox—對(duì)話框的坐標(biāo)。helpfile,context—幫助文件的名字,幫助目錄號(hào)。二、輸入框函數(shù)——InputBox函數(shù)例子:計(jì)算兩個(gè)輸入數(shù)據(jù)的和、差、積DimaAsStringDimbAsStringPrivateSubForm_Click()a=InputBox("輸入A的值")b=InputBox("輸入B的值")x=Val(a)y=Val(b)PrintPrintPrint"兩數(shù)之和=";x+yPrint"兩數(shù)之差=";x-yPrint"兩數(shù)之積=";x*yEndSub例子:計(jì)算兩個(gè)輸入數(shù)據(jù)的和、差、積(二)應(yīng)用InputBOX函數(shù)的幾個(gè)問(wèn)題1.有些參數(shù)可以省略,但是參數(shù)出現(xiàn)的位置和順序是固定的,用來(lái)分隔參數(shù)的逗號(hào)不能省略。2.該函數(shù)返回的是字符串,若輸入數(shù)值并參與計(jì)算,需用Val()函數(shù)將其轉(zhuǎn)換為數(shù)值型。(二)應(yīng)用InputBOX函數(shù)的幾個(gè)問(wèn)題3.Inputbox一旦被調(diào)用,用戶必須響應(yīng),否則程序一直處于等待狀態(tài),無(wú)法繼續(xù)執(zhí)行。4.一個(gè)InputBOX對(duì)話框只能輸入一個(gè)值,通??山Y(jié)合循環(huán)語(yǔ)句進(jìn)行賦值。5.對(duì)話框上的“確定”按鈕用于確認(rèn);“取消”按鈕可使輸入內(nèi)容作廢,返回一個(gè)空字符串。3.Inputbox一旦被調(diào)用,用戶必須響應(yīng),否則程序一直處三、消息框MsgBox函數(shù)和MsgBox語(yǔ)句MsgBox函數(shù)用于生成一個(gè)對(duì)話框,提示用戶進(jìn)行選擇操作。(一)函數(shù)的格式MsgBox(prompt[,buttons][,title][,helpfile,context])其中:prompt—對(duì)話框提示信息。Title—顯示對(duì)話框標(biāo)題。helpfile,context—幫助文件的名字,幫助目錄號(hào)。buttons—是一個(gè)整數(shù)或符號(hào)常量,用于控制對(duì)話框顯示的按鈕,圖標(biāo)的種類和數(shù)量。它是由四類數(shù)值相加產(chǎn)生。注意:有些參數(shù)可以省略,但是參數(shù)出現(xiàn)的位置和順序是固定的,用來(lái)分隔參數(shù)的逗號(hào)不能省略。三、消息框MsgBox函數(shù)和MsgBox語(yǔ)句類別符號(hào)常量值顯示按鈕、圖標(biāo)命令按鈕VbOKOnly0“確定”,按鈕VbOKCancel1“確定”,“取消”按鈕VbAbortRetrylgnore2“終止”,“重試”,“忽略”按鈕VbYesNoCancel3“是”,“否”,“取消”按鈕VbYesNo4“是”,“否”按鈕VbRetryCancel5“重試”,“取消”按鈕圖標(biāo)VbCritical16CriticalMessage圖標(biāo)VbQuestion32WarningQuery圖標(biāo)VbExclamation48WarningMessage圖標(biāo)Vbinformaation64InformaationMessage圖標(biāo)默認(rèn)按鈕VbDefaultButton10第一個(gè)按鈕是默認(rèn)值VbDefaultButton2256第二個(gè)按鈕是默認(rèn)值VbDefaultButton3512第三個(gè)按鈕是默認(rèn)值VbDefaultButton4768第四個(gè)按鈕是默認(rèn)值強(qiáng)制返回VbApplicationModel0程序強(qiáng)制返回,直到用戶作出響應(yīng)。VSystemModel4096系統(tǒng)強(qiáng)制返回,直到用戶作出響應(yīng)。類別符號(hào)常量值顯示按鈕、圖標(biāo)命令按鈕VbOKOnly0“確定(二)函數(shù)的用途在應(yīng)用程序中,MsgBox的返回值一般用來(lái)作為繼續(xù)執(zhí)行程序的依據(jù),根據(jù)返回值決定后面的操作。MsgBox函數(shù)的返回值返回值操作符號(hào)常量1選“確定”按鈕VbOk2選“取消”按鈕VbCancel3選“終止”按鈕VbAbort4選“重試”按鈕VbRetry5選“忽略”按鈕VbIgnore6選“是”按鈕VbYes7選“否”按鈕VbNo(二)函數(shù)的用途返回值操作符號(hào)常量1選“確定”按鈕VbOk2例子:用InputBox函數(shù)輸入一個(gè)正整數(shù),若輸入正確,計(jì)算其平方根。模態(tài)窗口——運(yùn)行時(shí),模態(tài)窗口掛起應(yīng)用程序的其他窗口操作,直到獲得應(yīng)答。例子:用InputBox函數(shù)輸入一個(gè)正整數(shù),若輸入正確,計(jì)算(三)MsgBox語(yǔ)句1.格式:

MsgBox<prompt>2.作用:只是向用戶報(bào)告一個(gè)簡(jiǎn)短的信息,沒(méi)有返回值。(三)MsgBox語(yǔ)句四、格式輸出函數(shù)Format與Print方法Format通常與Print方法配合使用格式:Format(表達(dá)式[,格式控制符])說(shuō)明:表達(dá)式——要格式化輸出的數(shù)值、日期或字符串類型表達(dá)式格式控制符——用來(lái)指定輸出個(gè)實(shí)的字符串,格式字符串必須用雙引號(hào)括起來(lái)。功能:按一定格式輸出四、格式輸出函數(shù)Format與Print方法(一)數(shù)值格式化

將數(shù)值表達(dá)式按“格式控制符”制定的格式輸出例子:a=123456789b=12/24Printformat(a,”0000000000”)‘前面補(bǔ)0Printformat(a,”###,###,###.00”)‘分節(jié)與小數(shù)點(diǎn)Printformat(b,”%”)‘輸出百分?jǐn)?shù)Printformat(a,”-#########”)‘輸出負(fù)數(shù)Printformat(2345,”####E+5”)‘輸出浮點(diǎn)數(shù)(一)數(shù)值格式化(二)日期和時(shí)間格式化

將日期類型的值或數(shù)值表達(dá)式以日期、時(shí)間的序數(shù)值按“格式控制符”制定的格式輸出。

(三)字符串格式化

將字符串按“格式控制符”制定的格式輸出,主要是字母大小寫、字符串長(zhǎng)度控制等處理。

(二)日期和時(shí)間格式化§4.2選擇分支結(jié)構(gòu)使用條件語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)一、條件語(yǔ)句(if)VisualBasic的選擇結(jié)構(gòu)程序是應(yīng)用單分支,雙分支,多分支語(yǔ)句來(lái)實(shí)現(xiàn)的。§4.2選擇分支結(jié)構(gòu)使用條件語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)(一)IF……then語(yǔ)句(單分支)語(yǔ)句格式:1、If<表達(dá)式>Then<語(yǔ)句體>

2、或:If<表達(dá)式>Then語(yǔ)句塊EndIf

表達(dá)式:一般為關(guān)系表達(dá)式、邏輯表達(dá)式,也可以是算術(shù)表達(dá)式。表達(dá)式的值不為零則視為True,為零則視為False。語(yǔ)句塊:一個(gè)或多個(gè)語(yǔ)句。若用1的簡(jiǎn)單形式,則語(yǔ)句塊只能是單個(gè)語(yǔ)句。

功能:判斷條件,為真則執(zhí)行語(yǔ)句體;否則執(zhí)行后面的語(yǔ)句。

(一)IF……then語(yǔ)句(單分支)語(yǔ)句格式的流程圖見下圖:False語(yǔ)句條件后續(xù)語(yǔ)句前一語(yǔ)句True語(yǔ)句格式的流程圖見下圖:False語(yǔ)句條件后續(xù)語(yǔ)句前一語(yǔ)句T例4.1根據(jù)用戶在消息框中單擊的命令按鈕,決定是否結(jié)束程序的運(yùn)行:例4.2:在窗體上設(shè)置三個(gè)命令按鈕,當(dāng)點(diǎn)擊其中一個(gè)時(shí),另兩個(gè)即失效。例4.1根據(jù)用戶在消息框中單擊的命令按鈕,決定是否結(jié)束程注意:1、簡(jiǎn)單if語(yǔ)句關(guān)鍵字then之后只能在同一行上有語(yǔ)句。所以不用加EndIf。否則換行之后的語(yǔ)句將被視為在選擇結(jié)構(gòu)之后的語(yǔ)句。

2、判斷表達(dá)式中如果出現(xiàn)“=”,則視為關(guān)系運(yùn)算符,不視為賦值運(yùn)算。注意:(二)if……then……else語(yǔ)句(雙分支)1、語(yǔ)句格式:

If條件Then語(yǔ)句塊1Else語(yǔ)句塊2EndIf

或If條件Then語(yǔ)句1Else語(yǔ)句22、功能:

判斷條件,若條件為真,執(zhí)行語(yǔ)句塊1;條件為假,執(zhí)行語(yǔ)句塊2。即在兩個(gè)語(yǔ)句塊中選擇一個(gè)。(二)if……then……else語(yǔ)句(雙分支)程序流程見下圖:True語(yǔ)句1條件語(yǔ)句2后續(xù)語(yǔ)句前一語(yǔ)句False

程序流程見下圖:True語(yǔ)句1條件語(yǔ)句2后續(xù)語(yǔ)句前一語(yǔ)句Fa(三)if……then……elseif語(yǔ)句(多分支結(jié)構(gòu))1.語(yǔ)句格式

If條件1Then語(yǔ)句塊1[Elseif條件2Then語(yǔ)句塊2][Elseif條件3Then語(yǔ)句塊3]……[Else語(yǔ)句塊n]EndIf(三)if……then……elseif語(yǔ)句(多分支結(jié)構(gòu))12.語(yǔ)句功能如果第k個(gè)條件表達(dá)式(k=1,2,3……)成立,則執(zhí)行語(yǔ)句塊k(k=1,2,3……),否則執(zhí)行語(yǔ)句塊n。其判斷順序?yàn)楸磉_(dá)式1、表達(dá)式二……2.語(yǔ)句功能表達(dá)式1表達(dá)式2表達(dá)式n-1語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊n-1語(yǔ)句塊nFalseFalseFalseTrueTrueTrue多分支結(jié)構(gòu)流程圖表達(dá)式1表達(dá)式2表達(dá)式n-1語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊n-1語(yǔ)句3.注意:(1)無(wú)論有多少個(gè)分支,程序執(zhí)行一個(gè)分支以后,其余的分支便不再執(zhí)行(2)關(guān)鍵字ElseIf不能寫成ElseIf(3)當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足判斷條件時(shí),則只執(zhí)行第一個(gè)與之匹配的語(yǔ)句。3.注意:例4.8根據(jù)輸入的百分制成績(jī)Score,轉(zhuǎn)換成優(yōu)、良、中、及格、不及格5個(gè)等級(jí),并在窗體上顯示出來(lái)。等級(jí)劃分標(biāo)準(zhǔn)如下:優(yōu)Score>=90

良80<=Score<90等級(jí)=中70<=Score<80及格60<=Score<70不及格Score<60例4.8根據(jù)輸入的百分制成績(jī)Score,轉(zhuǎn)換成優(yōu)、良、中、(四)If語(yǔ)句的嵌套:注意:1、EndIf總是與最接近的If配對(duì)。2、為增強(qiáng)程序的可讀性,書寫代碼時(shí)最好采用鋸齒形。(四)If語(yǔ)句的嵌套:例4.9從鍵盤上輸入三個(gè)整數(shù),分別賦值給變量x1,x2,x3比較它們的大小并重新排列,使得x1>x2>x3。

例4.9從鍵盤上輸入三個(gè)整數(shù),分別賦值給變二、情況語(yǔ)句(SelectCase)(多分支結(jié)構(gòu))VisualBasic語(yǔ)言中,多分支結(jié)構(gòu)也是可以通過(guò)情況語(yǔ)z實(shí)現(xiàn)的。二、情況語(yǔ)句(SelectCase)(一)情況語(yǔ)句的格式

SelectCase<測(cè)試表達(dá)式>Case<表達(dá)式列表1>語(yǔ)句塊1Case<表達(dá)式列表2>語(yǔ)句塊2……Case<表達(dá)式列表n>語(yǔ)句塊nCaseElse語(yǔ)句塊n+1EndSelect(一)情況語(yǔ)句的格式(二)語(yǔ)句執(zhí)行的說(shuō)明1、“測(cè)試表達(dá)式”——可以是數(shù)值型或字符串表達(dá)式。程序運(yùn)行時(shí)會(huì)判斷哪個(gè)“表達(dá)式”與“測(cè)試表達(dá)式”相符,若相符則執(zhí)行“表達(dá)式”后面的語(yǔ)句塊。可見:這種程序結(jié)構(gòu)與前面的帶ElseIf子句的If語(yǔ)句類似(多分支結(jié)構(gòu))。(二)語(yǔ)句執(zhí)行的說(shuō)明表達(dá)式1表達(dá)式2表達(dá)式n-1語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊n-1語(yǔ)句塊nFalseFalseFalseTrueTrueTrue多分支結(jié)構(gòu)流程圖表達(dá)式1表達(dá)式2表達(dá)式n-1語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊n-1語(yǔ)句2、<表達(dá)式列表>有三種描述形式

第一:可以是單值常量(數(shù)值或字符串),當(dāng)用“,”分割各個(gè)常量時(shí),是“或”的邏輯關(guān)系Month=InputBox("輸入月份數(shù):")SelectCaseMonthCase1,3,5,7,8,10,12x="本月有31天。"Case4,6,9,11x="本月有30天。"Case2x="本月有28天。"CaseElsex="輸入數(shù)值錯(cuò)誤!"EndSelect2、<表達(dá)式列表>有三種描述形式第二:條件是一個(gè)用TO說(shuō)明的數(shù)值范圍

x=InputBox("輸入一個(gè)分?jǐn)?shù):")SelectCasexCase0To59.99a="不及格"Case60To69.99a="及格"Case70To79.99a="中"Case80To89.99a="良好"Case90To100a="優(yōu)秀"EndSelect第二:條件是一個(gè)用TO說(shuō)明的數(shù)值范圍x=InputBo第三:用IS來(lái)指定條件IS代表測(cè)試表達(dá)式的值SelectCasexCaseIs<60a="不及格"CaseIs<70a="及格"CaseIs<80a="中"CaseIs<90a="良好"CaseIs<=100a="優(yōu)秀"EndSelect第三:用IS來(lái)指定條件SelectCasex(三)SELECTCASE語(yǔ)句應(yīng)用的兩個(gè)問(wèn)題1、在一個(gè)CASE子句中可以應(yīng)用幾種“條件”的形式。如:CASE0TO60,61,62,62,64,65TO74,75TO89,IS>892、在各個(gè)CASE子句中,指定的數(shù)值范圍要有明確的界限,否則會(huì)造成混亂。3、當(dāng)多分支中有多個(gè)表達(dá)式同時(shí)滿足判斷條件時(shí),則只執(zhí)行第一個(gè)與之匹配的語(yǔ)句。(三)SELECTCASE語(yǔ)句應(yīng)用的兩個(gè)問(wèn)題三、條件函數(shù)(IIf,Choose)(一)IIf函數(shù)該語(yǔ)句是行IF語(yǔ)句的簡(jiǎn)化形式。1、格式

變量=IIf(條件,值1,值2)三、條件函數(shù)(IIf,Choose)2、功能當(dāng)條件為真,變量的返回值是“值1”;否則,變量的返回值是“值2”。例子:DimxAsSingleDimyAsStringPrivateSubForm_Load()x=InputBox("輸入x的值:")y=IIf(x>=60,"及格","不及格")Text1.Text=y2、功能(二)Choose函數(shù)1.格式:result=Choose(條件表達(dá)式,選項(xiàng)列表)2.說(shuō)明:計(jì)算表達(dá)式的值,從1開始,以此選擇選項(xiàng)列表中序號(hào)相對(duì)應(yīng)的項(xiàng)作為返回值。如表達(dá)式值小于1或者大于列表中選項(xiàng)數(shù),則返回null。(二)Choose函數(shù)四、無(wú)條件跳轉(zhuǎn)語(yǔ)句——盡量在編程中少使用或不使用GOTO語(yǔ)句1.格式:GOTO標(biāo)號(hào)2.說(shuō)明:標(biāo)號(hào)命名規(guī)則和變量一樣,但是標(biāo)號(hào)之后要加上“:”冒號(hào)。四、無(wú)條件跳轉(zhuǎn)語(yǔ)句4.3循環(huán)結(jié)構(gòu)1.For循環(huán)語(yǔ)句(一般用于循環(huán)次數(shù)已知)形式

For循環(huán)變量=初值to終值[Step步長(zhǎng) 語(yǔ)句塊Next循環(huán)變量

可以用ExitFor終止循環(huán)

循環(huán)變量<=終值

語(yǔ)句塊循環(huán)變量加步長(zhǎng)T

F

循環(huán)變量得初值

循環(huán)體例4.8計(jì)算1~100的奇數(shù)和,程序段如下:Dimi%,s%等價(jià)于:Dimi%,s%s=0 s=0:i=1Fori=1To100step2 re:Ifi<=100Thens=s+i s=s+iNexti i=i+2 GoTore EndIf4.3循環(huán)結(jié)構(gòu)循環(huán)變量<=終值語(yǔ)句>0初值<終值=1時(shí),可省略<0初值>終值=0死循環(huán)循環(huán)次數(shù)要注意:出了循環(huán),循環(huán)控制變量值的問(wèn)題。例程序段:Fori=2To13Step3循環(huán)執(zhí)行次數(shù)

Printi,輸出i的值分別為:Nexti25811

Print:Print“I=“,i出了循環(huán)輸出為:I=14在循環(huán)體內(nèi)對(duì)循環(huán)控制變量可多次引用;但最好不要對(duì)其賦值,否則影響原來(lái)的循環(huán)控制規(guī)律。步長(zhǎng)>0初值<終值=1時(shí),可省略循環(huán)次數(shù)要注意:步長(zhǎng)例4.9

改變循環(huán)控制變量對(duì)循環(huán)的影響。PrivateSubCommand1_Click()j=0Fori=1To20Step2i=i+3j=j+1Print"第";j;"次循環(huán)i=";iNextiPrint"退出循環(huán)后i=";iEndSub正常情況:i=1,3,5,7,9,11,13,15,17,19現(xiàn)在:i=4,9,14,19例4.10

輸出可打印的ASCII碼字符與它的編碼值。

例4.9改變循環(huán)控制變量對(duì)循環(huán)的影響。例4.10輸出Do~Loop與While先結(jié)合2.Do…Loop循環(huán)語(yǔ)句(用于控制循環(huán)次數(shù)未知)形式1:

Do{While|Until}<條件>語(yǔ)句塊[ExitDo語(yǔ)句塊]Loop形式2:

Do 語(yǔ)句塊 [ExitDo 語(yǔ)句塊] Loop{While|Until}<條件>條件語(yǔ)句序列條件語(yǔ)句序列TrueFalseFalseTrueDo~Loop與While后結(jié)合Do~Loop與While先結(jié)合2.Do…Loop循環(huán)語(yǔ)句例4.11

我國(guó)有13億人口,按人口年增長(zhǎng)0.8%計(jì)算,多少年后我國(guó)人口超過(guò)26億。分析:解此問(wèn)題兩種方法,可根據(jù)公式:26=13*(1+0.008)n

直接利用標(biāo)準(zhǔn)對(duì)數(shù)函數(shù)求得;也可利用循環(huán)求得,程序如下:PrivateSubCommand1_Click()x=13n=0DoWhilex<26x=x*1.008n=n+1LoopPrintn,xEndSub例4.11我國(guó)有13億人口,按人口年增長(zhǎng)0.8%計(jì)算,多例4.12用輾轉(zhuǎn)相除法求兩自然數(shù)m,n的最大公約數(shù)和最小公倍數(shù)。分析:求最大公約數(shù)的算法思想:(1)對(duì)于已知兩數(shù)m,n,使得m>n;(2)m除以n得余數(shù)r;(3)若r=0,則n為最大公約數(shù)結(jié)束;否則執(zhí)行(4);(4)m

n,n

r,再重復(fù)執(zhí)行(2)。例求m=14,n=6的最大公約數(shù).

Ifm<nThent=m:m=n:n=tr=mmodnDoWhile(r<>0)m=nn=rr=mmodnLoopPrint"最大公約數(shù)=",nmnr1462

620輾轉(zhuǎn)相減法m=m-nm>nn=n-mn>m

m、n為公約數(shù)m=nDoWhilem<>nmn

Ifm>nThen146m=m–n86Else26n=n–m24EndIf22Loop例4.12用輾轉(zhuǎn)相除法求兩自然數(shù)m,n的最大公約數(shù)和最小公倍3、While…Wend循環(huán):(類似于DoWhile…Loop)格式為:While<表達(dá)式><語(yǔ)句序列>Wend執(zhí)行過(guò)程:先計(jì)算表達(dá)式的值,如果表達(dá)式的值為True,則執(zhí)行循環(huán)體,遇到Wend語(yǔ)句后,返回到While語(yǔ)句并再對(duì)條件進(jìn)行測(cè)試,如為True,則繼續(xù)執(zhí)行循環(huán)體,如為False,則退出循環(huán)體。3、While…Wend循環(huán):(類似于DoWhile…4.循環(huán)的嵌套

一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套.

例4.13打印九九乘法表.

Fori=1To9Forj=1To9se=i&“×"&j&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNexti思考:打印上三角或下三角程序如何改動(dòng)?上三角Forj=iTo9下三角Forj=1Toi4.循環(huán)的嵌套思考:打印上三角或下三角程序如何改動(dòng)?上三角

Forii=1To10Forjj=1To20… Nextii Nextjj

Forii=1To10Forii=1To20… Nextii Nextii

Forii=1To10Forjj=1To20

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論