版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章主要內(nèi)容 活動(dòng)一:數(shù)字求和 介紹賦值語句、輸入語句和輸出語句 活動(dòng)二:電腦猜數(shù) 介紹分支語句及其運(yùn)用 活動(dòng)三:求素?cái)?shù) 介紹循環(huán)語句及其運(yùn)用 活動(dòng)四:圖形打印 介紹用Print方法顯示信息的常用算法活動(dòng)一:數(shù)字求和 知識(shí)點(diǎn):順序結(jié)構(gòu) 賦值語句 輸入語句 輸出語句 三種基本結(jié)構(gòu)的傳統(tǒng)表示三種基本結(jié)構(gòu)的傳統(tǒng)表示(1)順序結(jié)構(gòu))順序結(jié)構(gòu)條件語句1語句2YN語句1語句2(2)選擇結(jié)構(gòu))選擇結(jié)構(gòu)條件( a )條件語句組(3)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu)a) 當(dāng)型循環(huán)當(dāng)型循環(huán)b) 直到循環(huán)直到循環(huán)YNYN( b )語句組結(jié)構(gòu)化程序設(shè)計(jì)思想結(jié)構(gòu)化程序設(shè)計(jì)思想自頂向下、逐步細(xì)化、模塊化自頂向下、逐步細(xì)化、模塊化自頂
2、向下:自頂向下:先從全局、整體設(shè)計(jì)先從全局、整體設(shè)計(jì)逐步細(xì)化:逐步細(xì)化:將一個(gè)問題分解成幾個(gè)較小的問題解決將一個(gè)問題分解成幾個(gè)較小的問題解決模塊化:模塊化: 將一個(gè)大任務(wù)分解成若干個(gè)較小的部分將一個(gè)大任務(wù)分解成若干個(gè)較小的部分 每每 個(gè)部分承擔(dān)一定功能,稱為個(gè)部分承擔(dān)一定功能,稱為“功能模塊功能模塊”活動(dòng)一:數(shù)字求和活動(dòng)說明從鍵盤上輸入一個(gè)正整數(shù)X(不超過4位),單擊“計(jì)算”命令按鈕,計(jì)算該數(shù)每位數(shù)字之和,輸出界面如圖所示。示例活動(dòng)一:數(shù)字求和活動(dòng)分析 使用賦值語句輸入數(shù)據(jù) 使用If條件語句判斷是否是數(shù)字、超過3位數(shù) 計(jì)算各位上的數(shù)字:百位:a=x100十位:b=x10 Mod 10個(gè)位:c=
3、x Mod 10兩個(gè)按鈕的事件過程公用的變量,兩個(gè)按鈕的事件過程公用的變量,放在通用聲明段放在通用聲明段活動(dòng)一:數(shù)字求和編程實(shí)現(xiàn)Dim x%Private Sub Command1_Click() Dim c1 As String, c2 As String, c3 As String, s As String s$ = Chr$(13) + Chr$(10) c1$ = 請(qǐng)輸入一個(gè)數(shù)(不超過3位) c2$ = 輸入后按回車 c3$ = 或單擊“確定”按鈕 x = InputBox(c1$ + s$ + c2$ + s$ + c3$) If Not IsNumeric(x) Or x 999
4、Then MsgBox (“X為非 _ 數(shù)字字符 + s$ + 或X超過3位了,錯(cuò)誤!)End Sub相當(dāng)于相當(dāng)于vbCrLf中文中文“”“”活動(dòng)一:數(shù)字求和編程實(shí)現(xiàn)Private Sub Command2_Click() Dim a%, b%, c% a = x 100 求百位數(shù) b = x 10 Mod 10 求十位數(shù) c = x Mod 10 求個(gè)位數(shù) Label1.Caption = 輸入的數(shù)是: Label2.Caption = x Label3.Caption = 該數(shù)每位數(shù)字之和為: Label4.Caption = a + b + cEnd Sub活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 順序
5、結(jié)構(gòu) 程序按照語句在代碼中出現(xiàn)的順序自上而下的逐條執(zhí)行;順序結(jié)構(gòu)中的每一條語句都被執(zhí)行,而且只能被執(zhí)行一次。典型語句有: 賦值語句 輸入語句 輸出語句 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 賦值語句 一般形式 Let 變量名=表達(dá)式其中:“Let”表示賦值,通常省略。 “=”稱為賦值號(hào)。 “表達(dá)式”可以是任何類型的表達(dá)式,一般其類型應(yīng)與變量名的類型一致。 作用計(jì)算賦值號(hào)右側(cè)表達(dá)式的值,然后將計(jì)算結(jié)果賦給左側(cè)的變量。 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 提示:1.一個(gè)賦值語句只能對(duì)一個(gè)變量賦值2.不能把非數(shù)值字符串的值賦值給數(shù)值型變量3.賦值號(hào)兩邊同為數(shù)值型,右邊表達(dá)式轉(zhuǎn)換為左邊變量名的類型后賦值4.賦值號(hào)左邊的變量
6、只能是變量,不能是常量、符號(hào)常量、表達(dá)式5.要在一行中給多個(gè)變量賦值,可以用冒號(hào)將語句與語句之間隔開,如:x=1 : y=1 : z=1活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 下列語句不是合法的賦值語句:x+y=a (等號(hào)左邊是表達(dá)式)a%= Visual Basic 6.0 (數(shù)據(jù)類型不匹配)x=y=z=1 (不能同時(shí)對(duì)多個(gè)變量賦值) 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持給變量賦值和設(shè)定屬性是VB編程中常見的兩個(gè)任務(wù)。以下是常用的賦值語句形式:1. Sum=Sum+x 與循環(huán)結(jié)構(gòu)結(jié)合使用,起到累加作用2. i=i+1 與循環(huán)結(jié)構(gòu)結(jié)合使用,起到計(jì)數(shù)器作用3. t=x x=y 交換兩個(gè)變量中的值 y=t 4. 對(duì)象名.屬
7、性名=屬性值 在程序中設(shè)置對(duì)象屬性活動(dòng)一:數(shù)字求和學(xué)習(xí)支持輸入語句 VB的輸入有著十分豐富的內(nèi)容和形式,在VB中,一般使用文本框、輸入框(InputBox函數(shù))等實(shí)現(xiàn)輸入操作。如: a=Text1.Text x=InputBox(輸入x: ) 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 InputBox函數(shù) InputBox是提供從鍵盤輸入數(shù)據(jù)的函數(shù)。它可以產(chǎn)生一個(gè)對(duì)話框,這個(gè)對(duì)話框作為輸入數(shù)據(jù)的界面,等待用戶輸入數(shù)據(jù),并返回所輸入的內(nèi)容。其中: “提示信息”:必需的。字符串表達(dá)式,在對(duì)話框中作為信息顯示,用來提示用戶輸入。 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 “對(duì)話框標(biāo)題”:可選的。字符串表達(dá)式,顯示對(duì)話框標(biāo)題。如果省
8、略,則把應(yīng)用程序名放入標(biāo)題欄中。 “默認(rèn)內(nèi)容”:可選的。字符串表達(dá)式,顯示文本框中。在沒有其它輸入時(shí)作為缺省值。如果省略,則文本框?yàn)榭铡?“x坐標(biāo)位置”、“y坐標(biāo)位置”:可選的。數(shù)值表達(dá)式,坐標(biāo)確定對(duì)話框左上角在屏幕上的位置, 屏幕左上角為坐標(biāo)原點(diǎn),單位為twip。 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 InputBox函數(shù)的用法:變量= InputBox(提示信息,對(duì)話框標(biāo)題 ,默認(rèn)內(nèi)容,x坐標(biāo)位置,y坐標(biāo)位置) 缺省值缺省值標(biāo)題標(biāo)題提示提示活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 提示: InputBox的返回值是一個(gè)字符串返回值是一個(gè)字符串。如果需要將輸入的數(shù)值參加算術(shù)運(yùn)算,必須在進(jìn)行運(yùn)算前用Val函數(shù)把它轉(zhuǎn)換為相
9、應(yīng)類型的數(shù)值。 每執(zhí)行一次InputBox函數(shù)只能輸入一個(gè)值只能輸入一個(gè)值,如果需要輸入多個(gè)值,則必須多次調(diào)用InputBox函數(shù)。這時(shí),通常與循環(huán)語句、數(shù)組結(jié)合使用。 對(duì)話框顯示的信息,若要分多行顯示,必須加回車換行符,即Chr(13)+Chr(10)或VB常數(shù)vbCrLf。 見例題InputBox求圓面積活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 輸出語句 一般使用Print方法、文本框、標(biāo)簽、MsgBox函數(shù)和MsgBox語句等實(shí)現(xiàn)輸出操作。 MsgBox函數(shù)和MsgBox過程 MsgBox用于輸出數(shù)據(jù),它會(huì)在屏幕上顯示一個(gè)對(duì)話框。它可以向用戶傳遞信息,并可通過用戶在對(duì)話框上的選擇接收用戶所做的響應(yīng),作為
10、程序繼續(xù)執(zhí)行的依據(jù)。 MsgBox函數(shù)和函數(shù)和MsgBox過程過程 函數(shù)形式函數(shù)形式:變量變量% = MsgBox(提示提示,按鈕按鈕圖標(biāo)圖標(biāo)+ 缺省按鈕缺省按鈕+模式模式 ,標(biāo)題,標(biāo)題) 過程形式過程形式: MsgBox 提示提示,按鈕按鈕圖標(biāo)圖標(biāo) +缺省按鈕缺省按鈕+ 模式模式,標(biāo)題標(biāo)題圖標(biāo)標(biāo)題提示信息命令按鈕見例題msgbox過程舉例MsgBoxMsgBox按鈕設(shè)置按鈕設(shè)置 本章目錄本章目錄活動(dòng)一:數(shù)字求和學(xué)習(xí)支持被單擊的按鈕內(nèi)部常數(shù)返回值確定vbOK1取消vbCancel2終止vbAbort3重試vbRetry4忽略vbIgnore5是vbYes6否vbNo7表表2-1-2 MsgBo
11、x函數(shù)返回所選按鈕函數(shù)返回所選按鈕整數(shù)整數(shù)值的意義值的意義 活動(dòng)一:數(shù)字求和學(xué)習(xí)支持 例 Private Sub Command1_Click() i = MsgBox(確認(rèn)數(shù)據(jù)是否正確?, vbYesNo + vbQuestion, _ 數(shù)據(jù)驗(yàn)證) If i = 6 Then MsgBox 數(shù)據(jù)正確, ,數(shù)據(jù)驗(yàn)證 Else End End IfEnd Sub活動(dòng)二:電腦猜數(shù)活動(dòng)二:電腦猜數(shù) 知識(shí)點(diǎn)知識(shí)點(diǎn):分支結(jié)構(gòu)分支結(jié)構(gòu) IF條件語句條件語句 IF條件語句的嵌套條件語句的嵌套 IIf函數(shù)函數(shù) Select Case語句語句 1. IfThen語句語句(單分支結(jié)構(gòu)單分支結(jié)構(gòu)) If Then
12、語句塊語句塊 End If 或或 If Then tyx圖1-3-8 兩 個(gè) 數(shù) 交 換過 程例例:已知兩個(gè)數(shù)已知兩個(gè)數(shù)x和和y,比較它們的,比較它們的大小,大小, 使得使得x大于大于y. If xy Then t=x : x=y: y=t End If 或或 If xy Then t=x: x=y: y=t 例 輸入3個(gè)整數(shù),編程求最大數(shù)。 Private Sub Command1_Click() Dim max% max = Val(Text1) If max Val(Text2) Then max = Text2 If max Val(Text3) Then max = Text3 La
13、bel2.Caption = 最大值是: Label3.Caption = maxEnd Sub2. IfThenElse語句語句(雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)) If Then Else End If If Then Else 例如:輸出例如:輸出x,y兩個(gè)中值較大的一個(gè)值。兩個(gè)中值較大的一個(gè)值。IF XY Then Print XElse Print YEnd If也可以寫成如下的單行形式:也可以寫成如下的單行形式: IF XY Then Print X Else Print Y 雙分支選擇結(jié)構(gòu)執(zhí)行過程雙分支選擇結(jié)構(gòu)執(zhí)行過程 例:判斷用戶密碼和用戶名是否為“abc”和”123”,如正確顯示”歡迎您
14、“,不正確顯示”對(duì)不起,您不能登錄“ if text1.text=“abc” and text2.text=“123” then label3.caption=“歡迎您!” else label3.caption=“對(duì)不起,您不能登錄” end if活動(dòng)二:電腦猜數(shù)活動(dòng)二:電腦猜數(shù)學(xué)習(xí)支持 例:輸入一年份,判斷它是否為閏年,并顯示有關(guān)信息,輸出界面如圖所示。 分析:判斷閏年的條件是:年份能被4整除但不能被100整除,或者能被400整除。If y Mod 400 = 0 Or (y Mod 4 = 0 And y Mod 100 0) Then MsgBox (Str(y) & 年是閏年
15、)Else MsgBox (Str(y) & 年不是閏年)End If 例 比較三個(gè)數(shù)的大小并按x為最大進(jìn)行排序。If x yIf y z Then t = y: y = z: z = t If x ; y; ; z見例交通燈程序見例交通燈程序單分支結(jié)構(gòu)格式單分支結(jié)構(gòu)格式(2)單分支結(jié)構(gòu)格式單分支結(jié)構(gòu)格式(1)嵌套的嵌套的If語句語句3. If嵌套語句嵌套語句4. IfThenElseIf語句語句(多分支結(jié)構(gòu)多分支結(jié)構(gòu)) 形式形式: If Then ElseIf Then Else 語句塊語句塊 n+1 End If 例:輸入一學(xué)生成績(jī),評(píng)定其等級(jí)。方法是:例:輸入一學(xué)生成績(jī),評(píng)定其等
16、級(jí)。方法是:90100分為分為“優(yōu)秀優(yōu)秀”,8089分為分為“良好良好”,7079分為分為“中等中等”,6069分為分為“及格及格”,60分為分為“不合格不合格”使用使用IF語句實(shí)現(xiàn)的程序段如下:語句實(shí)現(xiàn)的程序段如下:If x=90 thenPrint 優(yōu)秀優(yōu)秀ElseIf x=80 ThenPrint 良好良好ElseIf x=70 ThenPrint 中等中等ElseIf x=60 ThenPrint 及格及格ElsePrint 不及格不及格End If比較書中比較書中P84的三種方法的三種方法一般形式為: IIf(表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,表達(dá)式,表達(dá)式3) 作用:先計(jì)算的值,當(dāng)
17、的值為True時(shí),返回執(zhí)行的結(jié)果;否則,返回執(zhí)行的結(jié)果。 例如: Max=IIf(x y,x,y) 5. IIf函數(shù)函數(shù) 例 輸入任意數(shù)X(非零),若X大于0時(shí),求2X,否則求X的平方。 x =Val(Inputbox(請(qǐng)輸入任意數(shù)X: )y = IIf(x 0, 大于0,所以2X= & 2 * x, _ 小于0,所以X*X= & x * x)Label1.Caption = 輸入的X是 & x & , & yx是數(shù)值是數(shù)值只能用只能用&作為連接符作為連接符 不能用不能用+6. Select Case語句語句 Select Case語句又稱情況語
18、句,是多分支結(jié)構(gòu)的另一種表示形式,這種語句條件表示直觀,但必須符合其規(guī)定的語法規(guī)則書寫。 Select Case語句一般形式為: Select Case 變量或表達(dá)式Case 表達(dá)式列表1語句塊1Case 表達(dá)式列表2語句塊2Case Else語句塊n+1End Select 其中: “變量或表達(dá)式”:可以是數(shù)值型或字符串表達(dá)式 “表達(dá)式列表i”與“變量或表達(dá)式”的類型必須相同,可以是下面四種形式之一: (1) 表達(dá)式,例: A (2) 一組用逗號(hào)分隔的枚舉值,例:2,4,6,8 (3) 表達(dá)式1 To 表達(dá)式2,例: 60 to 100 (4) Is 關(guān)系運(yùn)算符表達(dá)式,例: Is = 90
19、Print 優(yōu)秀 Case Is = 80 Print 良好 Case Is = 70 Print 中等 Case Is = 60 Print 及格 Case Else Print 不及格End SelectSelect Case Int(mark / 10) Case Is =9 Label2.Caption = 輸入的成績(jī)?yōu)閮?yōu)秀 Case Is=8 Label2.Caption = 輸入的成績(jī)?yōu)榱己?Case Is=6 Label2.Caption = 輸入的成績(jī)?yōu)橹械?Case Else Label2.Caption = 輸入的成績(jī)?yōu)椴頔nd Select或或 mark10Select
20、Case Int(mark / 10) Case Is =6 Label2.Caption = 輸入的成績(jī)?yōu)橹械?Case Is=8 Label2.Caption = 輸入的成績(jī)?yōu)榱己?Case Is=9 Label2.Caption = “輸入的成績(jī)?yōu)閮?yōu)秀 Case Else Label2.Caption = 輸入的成績(jī)?yōu)椴頔nd Select錯(cuò)誤!錯(cuò)誤!Dim mark%mark = val(Text1)Select Case Int(mark / 10) Case 9, 10 Label2.Caption = 輸入的成績(jī)?yōu)閮?yōu)秀 Case 8 Label2.Caption = 輸入的成績(jī)?yōu)?/p>
21、良好 Case 6 To 7 Label2.Caption = 輸入的成績(jī)?yōu)橹械?Case Is 6 Label2.Caption = 輸入的成績(jī)?yōu)椴頔nd Select或或 mark10或或 Case Else 選擇結(jié)構(gòu)的嵌套選擇結(jié)構(gòu)的嵌套 在在IF語句的語句的Then分支和分支和Else分支中可以完整地嵌套另一分支中可以完整地嵌套另一IF語句或語句或Select Case語句,同樣語句,同樣Select Case語句每一個(gè)語句每一個(gè)Case分分支中都可嵌套另一支中都可嵌套另一IF語句或另一語句或另一Select Case語句。下面是兩種語句。下面是兩種正確的嵌套形式:正確的嵌套形式:(1)
22、IF Then . if Then Else . End If . Else . IF Then . Else . End If . End IF(2)IF Then . Select Case Case IF Then Else . End If Case. . End Select .End IF注意:注意: 只要在一個(gè)分支內(nèi)嵌套,不出現(xiàn)交叉,滿足結(jié)構(gòu)只要在一個(gè)分支內(nèi)嵌套,不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套的形式將有很多種,嵌套層次也可以任意規(guī)則,其嵌套的形式將有很多種,嵌套層次也可以任意多。多。 If If語句形式若不在一行上書寫,必須與語句形式若不在一行上書寫,必須與EndIfEndIf
23、配對(duì)。配對(duì)。配對(duì)的原則是:配對(duì)的原則是:多個(gè)多個(gè)If嵌套時(shí),嵌套時(shí),End If與它最接近的與它最接近的lf相配對(duì)。相配對(duì)。 在寫含有多層嵌套的程序時(shí),建議使用在寫含有多層嵌套的程序時(shí),建議使用縮進(jìn)對(duì)齊縮進(jìn)對(duì)齊方式方式,這樣容易閱讀和維護(hù)。,這樣容易閱讀和維護(hù)。活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù) 知識(shí)點(diǎn):循環(huán)結(jié)構(gòu) FOR語句 Do語句 循環(huán)的嵌套 GoTo語句 活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)活動(dòng)說明 例 編寫程序,當(dāng)單擊命令按鈕后,在有滾動(dòng)條的文本框中輸出3100之間的素?cái)?shù),程序界面如圖所示。 活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)活動(dòng)分析 分析: 素?cái)?shù)(或稱質(zhì)數(shù))即指除了1和它本身之外不能被其他整數(shù)整除的大于
24、等于2的整數(shù)。 判別某數(shù)n是否為素?cái)?shù)的方法: 從i=2,3,n-1,判別n能否被i整除,只要有一個(gè)能整除,n不是素?cái)?shù);否則n是素?cái)?shù)。 實(shí)際上n不可能大于Sqr(n)的整數(shù),改進(jìn):i=2,3,int(Sqr(n) 設(shè)Flag作為標(biāo)志變量,初始時(shí)Flag=1。如果在循環(huán)中n能被i整除,設(shè)置Flag=0,退出循環(huán)。當(dāng)i int(Sqr(n)時(shí), 若Flag=1,則n為素?cái)?shù)。 活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)編程實(shí)現(xiàn)Text1.Text = For n = 3 To 100 k = Int(Sqr(n) i = 2 : Flag = 1 Do While i 0 0 初值初值 終值終值 =1 =1 時(shí),可
25、省略時(shí),可省略0 終值終值=0 =0 死循環(huán)死循環(huán)步長(zhǎng)步長(zhǎng)活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)學(xué)習(xí)支持 提示: 步長(zhǎng)不能為0,否則會(huì)發(fā)生“死循環(huán)”。 循環(huán)變量被賦初值,它僅被賦值一次。 循環(huán)變量的值是否在終值內(nèi):當(dāng)步長(zhǎng)為正時(shí),指循環(huán)變量的值終值,當(dāng)步長(zhǎng)為負(fù)時(shí),指循環(huán)變量的值終值 循環(huán)次數(shù):n=int(終值終值-初值初值)/步長(zhǎng)步長(zhǎng)+1) 在循環(huán)體內(nèi)對(duì)循環(huán)控制變量可多次引用,但不要對(duì)其賦值,否則影響原來的循環(huán)控制規(guī)律。活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)學(xué)習(xí)支持For循環(huán)語句執(zhí)行過程循環(huán)語句執(zhí)行過程 循循環(huán)環(huán)變變量量在在終終值值內(nèi)內(nèi) 圖 1-3-13 For 循 環(huán) 語 句 語語 句句 塊塊 Exit For
26、語語 句句 塊塊 循循 環(huán)環(huán) 變變 量量 加加 步步 長(zhǎng)長(zhǎng) T F 循循 環(huán)環(huán) 變變 量量 得得 初初 值值 賦賦循環(huán)次數(shù)循環(huán)次數(shù)) 1(步長(zhǎng)初值終值Int例例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I 4) 1(3213Int循環(huán)執(zhí)行次數(shù)循環(huán)執(zhí)行次數(shù) 輸出輸出I的值分別為的值分別為: 2 5 8 11 出了循環(huán)輸出為出了循環(huán)輸出為: I=14 For i = 1 To 10 Print i Next i Print 退出時(shí)i, i例例 編程計(jì)算:編程計(jì)算:S=1+2+3+100Private Sub Form_Click() D
27、im S%, I%S=0 累加前變量累加前變量S為為0For I=1 to 100 S=S+INext IPrint 1+2+3+100=,S End Sub當(dāng)當(dāng)N Sqr(x) Then label2.caption= 是素?cái)?shù) Elselabel2.caption= “不是素?cái)?shù) End If求最大公約數(shù)和最小公倍數(shù)(注:最小公倍數(shù)=m*n/最大公約數(shù))Dim m%,n%,i%,t%,g%m = Val(Text1.Text)n = Val(Text2.Text)If m n Then t = m: m = n: n = t End IfFor i = 1 To m If m Mod i =
28、0 And n Mod i = 0 Then g = i End IfNext iPrint g形式形式1:(當(dāng)型循環(huán)):(當(dāng)型循環(huán)) Do While|Until 語句塊語句塊 Exit Do 語句塊語句塊 Loop 條 件 F T F T E x it D o 語 句 塊 語 句 塊 E x it D o 語 句 塊 語 句 塊 表 達(dá) 式 列 表 1 圖 1 -3 -1 6 D o L o o p W h ile D o W h ile L o o p執(zhí) 行 過 程 2. DoLoop循環(huán)語句循環(huán)語句 形式形式2:(直到循環(huán))直到循環(huán))Do 語句塊語句塊 Exit Do 語句塊語句塊Lo
29、op While|Until 表 達(dá) 式 列 表 1 F T F T E x it D o 語 句 塊 語 句 塊 E x it D o 語 句 塊 語 句 塊 條 件 D o L o o p W h ile的 執(zhí) 行 過 程 圖 1 -3 -1 5 D o W h ile L o o p 條 件語句塊語句塊TFExit Do條 件語句塊語句塊TFExit Do Do UntilLoop執(zhí)行過程執(zhí)行過程 DoLoop Until執(zhí)行過程執(zhí)行過程 Dim s%s = 0Do While s 0 s = s - 1LoopPrint sDim s%s = 0Do s = s - 1Loop Whi
30、le s 0Print s比較說明:說明:(1 1)當(dāng)使用)當(dāng)使用WhileWhile 構(gòu)成循環(huán)時(shí),當(dāng)條件為構(gòu)成循環(huán)時(shí),當(dāng)條件為“真真” 則反復(fù)執(zhí)行循環(huán)體,當(dāng)條件為則反復(fù)執(zhí)行循環(huán)體,當(dāng)條件為“假假”,則退出循環(huán)。,則退出循環(huán)。(2)當(dāng)使用)當(dāng)使用Until 構(gòu)成循環(huán)時(shí),當(dāng)條件為構(gòu)成循環(huán)時(shí),當(dāng)條件為“假假”,則反復(fù)執(zhí)行循環(huán)體,直到條件成立,即為,則反復(fù)執(zhí)行循環(huán)體,直到條件成立,即為“真真”時(shí),時(shí), 則退出循環(huán)。則退出循環(huán)。(3 3)在循環(huán)體內(nèi)一般應(yīng)有一個(gè)專門用來改變條件表達(dá)式中)在循環(huán)體內(nèi)一般應(yīng)有一個(gè)專門用來改變條件表達(dá)式中 變量的語句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立變量的語句,以使隨著循環(huán)
31、的執(zhí)行,條件趨于不成立 (或成立),最后達(dá)到退出循環(huán)。(或成立),最后達(dá)到退出循環(huán)。(4)語句)語句Exit Do的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能 用在用在DO/Loop結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,用來實(shí)現(xiàn)當(dāng)滿足某一條件時(shí)提前退出循環(huán)。環(huán)結(jié)構(gòu)中,用來實(shí)現(xiàn)當(dāng)滿足某一條件時(shí)提前退出循環(huán)。請(qǐng)同學(xué)們改寫請(qǐng)同學(xué)們改寫1至至100求和的程序求和的程序 將1100求和分別用四種方式編寫程序 將求最大公約數(shù)用do-while實(shí)現(xiàn) 例題:2003年我國(guó)GDP為10萬億元人民幣,近幾年我國(guó)GDP增長(zhǎng)率年均為8%,
32、按此增長(zhǎng)速度,多少年后我國(guó)GDP超過20萬億。 分析:10*(1+0.08)nDim gdp%,n%Gdp=10N=0Do while gdpn;2m除以n得余數(shù)r;3若r=0則n為求得的最大公約數(shù),算法結(jié)束,否則執(zhí)行步驟44 m = n ,n=r ;再重復(fù)執(zhí)行步驟2。n為最大公約數(shù) 最小公倍數(shù)=兩數(shù)相乘除以最大公約數(shù)。 m n r 24 10 4 10 4 2 4 2 0 活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)學(xué)習(xí)支持m = Val(Text1)n = Val(Text2)If n = 0 Or m = 0 Then Print 數(shù)據(jù)出錯(cuò): Exit Submn = m * n If m nr = m
33、 Mod nDo While (r 0) m = n n = r r = m Mod nLoopPrint Val(Text1); 和; Val(Text2); 的最大公約數(shù)是; nPrint Val(Text1); 和; Val(Text2); 的最小公倍數(shù)是 ; mn / n退出事件過程退出事件過程活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)學(xué)習(xí)支持 例 一一個(gè)由30個(gè)數(shù)組成的數(shù)列,它的頭兩個(gè)數(shù)為1和2,從第3個(gè)數(shù)起是前2個(gè)數(shù)之和。編程在窗體中輸出該數(shù)列(一行輸出4列),如圖所示。 活動(dòng)三:求素?cái)?shù)活動(dòng)三:求素?cái)?shù)學(xué)習(xí)支持Dim a!, b!, i%a = 1b = 2i = 1PrintDo Print a
34、, b, a = a + b b = b + a If i Mod 2 = 0 Then Print 一行輸出4列 i = i + 1Loop Until i 151 2 3 5 8 13 a b a b a b每次計(jì)算并輸出每次計(jì)算并輸出2個(gè)數(shù)個(gè)數(shù)方法二:Dim a!, b!, c!, i%a = 1b = 2i = 1PrintDo Print a, c = a + b a = b b = c If i Mod 4 = 0 Then Print 一行輸出4列 i = i + 1Loop Until i 30 循環(huán)的嵌套循環(huán)的嵌套多重循環(huán)結(jié)構(gòu)多重循環(huán)結(jié)構(gòu) 如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)
35、結(jié)構(gòu),則稱如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。 上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:幾種常見的二重嵌套形式:(1)For I=. . For J=. . Next J . Next I(2)For I=. . Do While/Until . . Loop . Next I(3)Do While. . For J=. . Next J . Loop(4)Do While/Until. . Do While/Until . . Loop . Loop For i= 1 to 2 For j=1 to 3Print I,j Next jNext IPrint I,j想想運(yùn)行結(jié)果?Dim i%, j%For i = 1 To 5 Print Spc(i); For j = 1 To 9 Print ; Next j PrintNext iFor i = 1 To 4Print Spc(8 - i); For j =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職(新能源汽車技術(shù))汽車電控系統(tǒng)檢修試題及答案
- 2025年中職葡萄酒文化與營(yíng)銷(酒莊運(yùn)營(yíng)基礎(chǔ))試題及答案
- 2025年高職建筑工程技術(shù)(施工技術(shù)規(guī)范)試題及答案
- 2025年中職口腔技術(shù)(口腔修復(fù)體打磨)試題及答案
- 2025年大學(xué)大四(儀器科學(xué)與技術(shù))智能儀器設(shè)計(jì)綜合評(píng)估試題及答案
- 2025年高職臨高烤乳豬制作(選料與烤制工藝)試題及答案
- 2025年高職遙感技術(shù)應(yīng)用(遙感數(shù)據(jù)處理)試題及答案
- 2025年大學(xué)中外服裝史(服裝史基礎(chǔ))試題及答案
- 2025年高職醫(yī)學(xué)影像技術(shù)(MRI拍攝)試題及答案
- 2025年高職(汽車檢測(cè)與維修技術(shù))發(fā)動(dòng)機(jī)維修綜合技能測(cè)試試題及答案
- 2026年廣東農(nóng)墾火星農(nóng)場(chǎng)有限公司公開招聘作業(yè)區(qū)管理人員備考題庫及參考答案詳解
- 養(yǎng)老護(hù)理服務(wù)的法律監(jiān)管與執(zhí)法
- (一診)成都市2023級(jí)高三高中畢業(yè)班第一次診斷性檢測(cè)物理試卷(含官方答案)
- 降排水應(yīng)急預(yù)案(3篇)
- 隧道施工清包合同(3篇)
- 圍手術(shù)期疼痛的動(dòng)物模型與轉(zhuǎn)化研究
- 八年級(jí)地理長(zhǎng)江流域綜合教學(xué)設(shè)計(jì)方案
- 2025年高中語文必修上冊(cè)《赤壁賦》文言文對(duì)比閱讀訓(xùn)練含答案
- 工業(yè)旅游綜合規(guī)劃與管理手冊(cè)
- 國(guó)家安全生產(chǎn)十五五規(guī)劃
- 代位追償培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論