1順序結(jié)構(gòu)2分支結(jié)構(gòu)3循環(huán)結(jié)構(gòu)_第1頁
已閱讀1頁,還剩301頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、,3.1 順序結(jié)構(gòu) 3.2 分支結(jié)構(gòu) 3.3 循環(huán)結(jié)構(gòu),第 3 章 程序流程控制,如果在一個語句序列中,每一個語句都是按出現(xiàn)的先后順序執(zhí)行,即要執(zhí)行第i個語句,必須先執(zhí)行第i-1個語句,則這種語句序列的結(jié)構(gòu)稱為順序結(jié)構(gòu)。,3.1.1 賦值語句 3.1.2 數(shù)據(jù)輸入 3.1.3 數(shù)據(jù)輸入的Print方法 3.1.4 打印機(jī)輸出

2、 3.1.5 注釋、暫停與程序結(jié)束,3.1 順序結(jié)構(gòu),1.賦值語句的作用 一般形式: = 或[.] = 其中為變量名,用戶定義標(biāo)識符。 “ = ”號 稱為賦值號。 為表達(dá)式。是對象名。 為屬性名。 作用: 首先計(jì)算賦值號右邊表達(dá)式的值,然后將該值賦給賦值號左邊的標(biāo)識符代表的變量或控件屬性,作為變量或控件屬性的當(dāng)前值。該值一直保存到下一次再對它賦值為止。,3.1.

3、1 賦值語句,例如: Total = 100 k = k + 1 St$ = “Good morning .” ext1.Text = St$ & “teacher!” Text2.Text = Str(T

4、otal),例3-1,在窗體Form1內(nèi)建立2個文本框,2個命令按鈕。通過命令按鈕的事件過程計(jì)算正弦函數(shù)值,并在文本框顯示結(jié)果。 (1)設(shè)計(jì)界面,(2)程序代碼,控件:TextBox,控件:CommandButton,Option Explicit Dim x!, y! Private Sub Command1_Click() Command1.Caption = “弧度” x = InputBox(“

5、請輸入弧度”) y = Sin(x) Text1.Text = "Sin(" & Str(x) & ")=" & Str(y) End Sub Private Sub Command2_Click() Command2.Caption = "角度" x = InputBox("請輸入角度")

6、 y = Sin(x * 3.14159 / 180) Text2 = "Sin(" & Str(x) & "度)=" & Str(y) End Sub,2. 賦值與邏輯等號 “=”號是一個具有二義性的符號,既可以作為賦值號,也可以表示為關(guān)系運(yùn)算中的邏輯等號。它的實(shí)際意義要根據(jù)前后文的形式判斷。 例如,“=”號在以下語句中有不同含義:

7、 b = 1 / ( x + y ) c = 2 a = b = c k = a = b And b = c,3. 賦值相容 賦值語句中的變量名或控件的屬性名,都代表一個存儲單元。當(dāng)執(zhí)行賦值語句時,如果這個存儲單元的結(jié)構(gòu)和大小能夠正確地表示賦值號右邊表達(dá)式的值,則稱該賦值語句賦值相容。,(1)數(shù)值型與字符串型 如果

8、字符串中的字符為數(shù)值形式,則可將該字符串賦給數(shù)值變量。也可將數(shù)值賦給字符串變量。但如果把非數(shù)值形式的字符串賦給數(shù)值變量,則會出現(xiàn)“類型不匹配”的錯誤。,賦值相容測試。將命令按鈕和文本框放置在窗體中。,例3-2,Private Sub Command1_Click () Dim intX As Integer Dim strY As String strY = "100.23&qu

9、ot; intX = strY strY = Cos (strY) Text1.Text = strY End Sub,(2)整型與實(shí)型 一般地,把一個整數(shù)賦給一個實(shí)型變量,將不會出什么錯。但當(dāng)把一個長整數(shù)賦給一個單精度變量,就可能會受示數(shù)精度的影響。 例如:Dim x As Single, y As Long y = 2

10、147483647 x = y Print x 輸出結(jié)果: 2.147484E+09 把一個實(shí)數(shù)賦給一個整變量,則只能獲取它的整數(shù)部分。,在VB應(yīng)用程序中,若把需處理的原始數(shù)據(jù)或其它數(shù)據(jù)輸入到計(jì)算機(jī)的存儲器中,則可以使用InputBox函數(shù)和MsgBox 函數(shù)。,InputBox函數(shù) MsgBox 函數(shù) MsgBox 語句,3.1.2

11、 數(shù)據(jù)輸入,一般格式:InputBox([,][,] [,][,]) 功能:系統(tǒng)在屏幕上顯示一個輸入對話框,并在輸入對話框中顯示兩個命令按鈕,一個是“確定”按鈕,另一個是“取消”按鈕。此時,系統(tǒng)等待用戶輸入數(shù)據(jù)并按回車鍵或“確定”按鈕,也可以按“取消”按鈕。若用戶輸入數(shù)據(jù)并按回車鍵或“確定”按鈕后,系統(tǒng)就把該數(shù)據(jù)看作字符串作為函數(shù)返回值;否則,函數(shù)的返回值為空串。

12、,1. InputBox函數(shù),設(shè)計(jì)一程序,由用戶輸入立方體的長、寬和高,計(jì)算并輸出立方體的表面積和體積。,(2) 程序代碼,(1) 界面設(shè)計(jì),例3-3,Private Sub Command1_Click() Dim x!, y!, z!, s!, v! x = InputBox("請輸入長度(cm):", "輸入數(shù)據(jù)", 10, 2000, 3000) y = InputBox(&q

13、uot;請輸入寬度(cm):", "輸入數(shù)據(jù)", 10, 2000, 3000) z = InputBox(“請輸入高度(cm):", "輸入數(shù)據(jù)", 10, 2000, 3000) s = (x * y + y * z + x * z) * 2 v = x * y * z: Text1 = x & " cm“: Text2 = y &

14、 " cm" Text3 = z & " cm“: Text4 = s & " cm2“: Text5 = v & " cm3"End SubPrivate Sub Command2_Click() EndEnd Sub,注意: (1) 為了能夠正確地把字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù),通常應(yīng)該對被賦值變量作出類型說明,如在例3-

15、3中有: Dim x! x = InputBox("請輸入長度(cm):", "輸入數(shù)據(jù)", 10, 2000, 3000)或者使用Val函數(shù)作類型轉(zhuǎn)換: x = Val(InputBox("請輸入長度(cm):"),(2) InputBox函數(shù)中的參數(shù)是按順序排列的,若不使用中間的某些參數(shù),必須加入相應(yīng)的逗號分隔。例如: MyValue = Input

16、Box(Prompt, , , 100, 100),一般形式: MsgBox([,][,]) 功能:系統(tǒng)在屏幕上顯示一個對話框,并在對話框上顯示給定的提示信息、標(biāo)題和命令按鈕,等待用戶選擇某一命令按鈕并單擊。此時,函數(shù)的返回值為1~7的整數(shù)值或文字常量。 例如:Msg=MsgBox(“操作已完成”),2. MsgBox函數(shù),表3–2列出了buttons參數(shù)的設(shè)置值及它們的描述。第一組值(0 – 5

17、)描述了對話框中顯示的按鈕的類型與數(shù)目;第二組值(16,32,48,64)描述了圖標(biāo)的樣式;第三組值(0,256,512,768)說明哪一個按鈕是缺省活動按鈕。活動按鈕中文字周圍有虛線,按回車鍵即可執(zhí)行該按鈕的操作;第四組值(0,4096)決定對話框的強(qiáng)制返回性。 參數(shù)值從每組值選取一個值相加而成。參數(shù)表達(dá)式可以用這些數(shù)值構(gòu)成,也可以用文字常量。這些文字常量是VB系統(tǒng)指定的,可以在程序代碼中使用這些文字常量,而不必使用實(shí)

18、際數(shù)值。,例如: 16 = 0 + 16 + 0 或 VBCritical 顯示“確定”按鈕、“×”圖標(biāo),缺省活動按鈕為“確定” 35 = 3 + 32 + 0 或 VbYesNoCancel + VbQuestion 顯示“是”、“否”、“取消”按鈕、“?”圖標(biāo),缺省活動按鈕為“是” 50 = 2 + 48 + 0 或 VbAbort

19、RetryIgnore + VbExclamation 顯示“終止”、“重試”、“忽略”按鈕,“i”圖標(biāo),缺省活動按鈕為“終止”,Private Sub Command1_Click() Dim Msg, Style, Title, Response, MyString Msg = "要繼續(xù)嗎?" Style=vbYesNo+vbCritical + vbDefaultButton2

20、 ‘style=4+16+256或276 Title = “提示信息” Response = MsgBox(Msg, Style, Title) If Response = vbYes Then MyString = "Yes" Else MyString = "No" End If Print MyStri

21、ngEnd Sub,測試MsgBox函數(shù)。,例3-4,MsgBox 也可以寫成語句形式:MsgBox 參數(shù)的意義與MsgBox函數(shù)相同。由于MsgBox語句沒有返 回值,因此常用于簡單的信息顯示。 例如:MsgBox “文件保存完畢,可以退出系統(tǒng)?!?3. MsgBox語句,輸出數(shù)據(jù)的途徑有兩種:一是使用控件的屬性,例如,使用窗體、命令按鈕和標(biāo)簽的Caption屬性或文本框的Text屬性等;二是使用Print方法在多種對

22、象上輸出數(shù)據(jù)和文本。 使用Print方法輸出的一般格式為: [.] Print []其中: 為對象名 為輸出列表,3.1.3 輸出數(shù)據(jù)的Print方法,窗體(Form)、圖片框(PictureBox)、打印機(jī)(Printer)都具有Print方法。 例如: Form2.Print "Visual Basic Program"

23、 Picture1.Print "Visual Basic Program" Print "Visual Basic Program" Printer.Print “Visual Basic Program” 在立即窗口(Debug)使用Pri

24、nt方法時,不能加上對象名作前綴。,1. 具有Print方法的對象, 輸出列表由以下項(xiàng)目組成: [Spc(n) | Tab(n)] 其中:Spc(n)為 空格函數(shù),用來輸出n個空格字符。 Tab(n)為跳格函數(shù),指定輸出項(xiàng)在第n列開始顯示。若Tab函數(shù)無參數(shù),則在下一個打印區(qū)的開始位置顯示。 為數(shù)值表達(dá)式或字符串表達(dá)式。 為分隔符,若用逗號分隔,則按標(biāo)準(zhǔn)格式顯

25、示數(shù)據(jù)項(xiàng),若用分號或空格分隔,則按緊湊格式輸出。,2. 輸出列表的格式,輸出數(shù)值表達(dá)式和字符串。對于數(shù)值表達(dá)式,先計(jì)算表達(dá)式的值,然后輸出;而字符串則原樣輸出。如果缺省表達(dá)式表列,則輸出一個空行。 a = 100 : b = 200 Print a + b '輸出表達(dá)式的值 Print '輸出一個空行

26、Print “ABCDEFG” '字符串必須放在雙引號內(nèi) 300  ABCDEFG,例3-5,用分隔符(逗號、分號或空格)控制輸出格式。 x = 5 : y = 10 : z = 15 Print x, y, z, “ABCDEF” Print Print x, y,

27、z; “ABCDEFG”; “HIJK” 輸出結(jié)果為: 5 10 15 ABCDEF 5 10 15 ABCDEFGHIJK,例3-6,Print “30 + 50 =” , '在下一打印區(qū)輸出后項(xiàng) Print 30 + 50

28、 Print “100 + 50 =” ; '以緊湊方式輸出后項(xiàng) Print 100 + 50 輸出結(jié)果為: 30 + 50 = 80 100 + 50 = 150,使用spc和Tab函數(shù)控制輸出。 Print "Hello"; Tab(20)

29、; "World" Print "Hello"; Tab; "World" Hello World Hello World  Print "10 spaces between here"; Spc(10);

30、 "and here." Print Spc(30); "Thirty spaces later. . ." 10 spaces between here and here. Thirty spaces later. . .,例3-7,一般

31、格式:Format( , ) 用Format函數(shù)可以使數(shù)值按“格式字符串”指定的格式輸出。包括在輸出串前加$,輸出串前、后補(bǔ)0,以及加千位分隔逗點(diǎn)等。 “格式字符串”是一個串常量或串變量,由專門的格式說明字符組成,見表3–4。這些字符決定了數(shù)據(jù)項(xiàng)的顯示格式和長度。當(dāng)“格式字符串”為常量時,必須放在雙引號中。,3. Format函數(shù),(1) # 表示一個數(shù)字位。#號的個數(shù)決定了顯示串的長度。如果要顯

32、示的數(shù)據(jù)位數(shù)小于格式字符串指定的長度,則數(shù)據(jù)在指定區(qū)段內(nèi)左對齊,多余位不補(bǔ)0。如果要顯示的數(shù)據(jù)位數(shù)多于格式字符串指定的長度,則按原值顯示。 (2) 0 與 # 的功能相同,只是多余位以0補(bǔ)齊。 (3) . 表示顯示小數(shù)點(diǎn)。小數(shù)點(diǎn)與 # 或 0 結(jié)合使用,可以放在格式字符串的任何位置。根據(jù)格式串,小數(shù)部分多余的數(shù)字按四舍五入顯示, 但不會改變變量的實(shí)際數(shù)值。,(4) , 在格式字符串中插入逗號,

33、起到“分位”作用。逗號可以放在小數(shù)點(diǎn)前的任何位置,但不能放在串首部。 (5) % 通常放在格式字符串的尾部,用來輸出百分?jǐn)?shù)。 (6) $ 通常作為格式字符串的起始字符。 (7) + 、– 放在格式字符串的首部,為輸出數(shù)據(jù)添加正負(fù)號。 (8) E+ 、E– 表示用指數(shù)形式顯示數(shù)值。,Private Sub Form_Click() Print Format(12345

34、.6, "000,000.00") Print Format(12345.678, "###,###.##") Print Format(12345.6, "###,##0.00") Print Format(12345.6, "$###,##0.00") Print Format(12345.6, "–###,##0.00&quo

35、t;) Print Format(0.123, "0.00%") Print Format(12345.6, "0.00E+00") Print Format(0.1234567, "0.00E–00")End Sub,用窗體事件過程試驗(yàn)數(shù)值的格式化輸出。,例3-8,前面介紹的輸出操作,基本上是以窗體或控件作為輸出對象的。實(shí)際上,只要把輸出對象改為打印機(jī)(Prin

36、ter),就可以在打印機(jī)上輸出所需要的信息。,3.1.4 打印機(jī)輸出,若在打印機(jī)上輸出表達(dá)式的值要使用Print方法。 一般格式: Printer.Print [ ]其中 可以為各種類型的表達(dá)式。 功能:計(jì)算表達(dá)式的值,并在打印機(jī)上打印出來。,1.打印表達(dá)式的值,Private Sub Form_Click() Printer.Print Format(12345.6

37、, "000,000.00") Printer.Print Format(12345.678, "###,###.##") Printer.Print Format(12345.6, "###,##0.00") Printer.Print Format(12345.6, "$###,##0.00") Printer.Print Format(

38、12345.6, "-###,##0.00") Printer.Print Format(0.123, "0.00%") Printer.Print Format(12345.6, "0.00E+00") Printer.Print Format(0.1234567, "0.00E-00") Printer.EndDocEnd Sub,打印

39、機(jī)測試輸出。,例3-9,Private Sub Form_Click() Printer.Print Format(12345.6, "000,000.00") Printer.Print Format(12345.678, "###,###.##") Printer.Print Format(12345.6, "###,##0.00") Printer.Pri

40、nt Format(12345.6, "$###,##0.00") Printer.Print Format(12345.6, "-###,##0.00") Printer.Print Format(0.123, "0.00%") Printer.Print Format(12345.6, "0.00E+00") Printer.Print

41、Format(0.1234567, "0.00E-00") Printer.EndDocEnd Sub,(1)Page屬性 輸出打印頁號可以使用Printer對象的Page屬性,一般格式為: Printer.Page 功能:打印當(dāng)前頁號。VB的頁數(shù)計(jì)數(shù)器從應(yīng)用程序開始或從Printer對象上次使用EndDoc語句后由1開始計(jì)數(shù)。每當(dāng)使用NewPage方法或要打印的文本在當(dāng)

42、前頁容納不下,系統(tǒng)自動換頁時,該計(jì)數(shù)器自動加1。 例如:Printer.print “Page:”;Printer.Page,(2)NewPage方法 打印結(jié)果時,若要強(qiáng)行換頁可以使用Printer對象的NewPage方法,調(diào)用它的一般格式為: Printer.NewPage 功能:強(qiáng)制打印機(jī)前進(jìn)到下一個打印頁,將打印位置重置到新頁面的左上角,并且將Printer對象的Pa

43、ge屬性的值自動加1。 例如: Printer.NewPage,(3)EndDoc方法 使用Printer對象打印完結(jié)果之后通常要結(jié)束Printer對象的打印操作,而結(jié)束打印操作要使用EndDoc方法,一般格式為: Printer.EndDoc 功能:結(jié)束Printer對象的打印操作。 例如: Printer.EndDoc,VB除了可以直接在打印機(jī)上打印結(jié)

44、果或其它信息外,還可以通過PrintForm方法把窗體(包括上面的內(nèi)容)打印出來。一般格式為: [ .] PrintForm省略窗體名時,打印當(dāng)前窗體。 功能:打印指定窗體(包括窗體上的內(nèi)容)。,例3-10 把指定信息輸出到窗體上,然后把窗體輸出到打印機(jī)。,2. 打印窗體,例3-10,Private Sub Form_Click() FontName = "courier&q

45、uot; FontSize = 20 CurrentX = 800 CurrentY = 500 Print "Visual Baasic" FontName = "黑體" CurrentX = 1200 CurrentY = 1000 Print "程序設(shè)計(jì)" PrintForm

46、'輸出當(dāng)前窗體End Sub,把指定信息輸出到窗體上,然后把窗體輸出到打印機(jī)。,說明: (1)窗體打印比直接打印輸出更實(shí)用,因?yàn)樗梢韵仍谄聊簧闲薷囊敵龅膬?nèi)容格式,滿意后才在打印機(jī)上打印出來,這樣可以減少不必要的紙張浪費(fèi),同時可以節(jié)省時間。 (2)為了打印窗體,必須在屬性窗口把要輸出的窗體的AutoRedraw屬性設(shè)置為True 該屬性的缺省值是False。 (3)用Print

47、Form方法不僅可以打印窗體上的文本,而且可以打印出窗體上的任何可見控件。,(1)直接打印 使用“文件”菜單中的“打印”命令實(shí)現(xiàn)。執(zhí)行該命令后,顯示打印對話框,用戶需在對話框中作出選擇。 (2)間接打印 VB源程序代碼是以文本形式保存在擴(kuò)展名為 .frm和.bas 的文件里,我們可以使用任何一種字處理、編輯軟件(例如 Notepad,Word,WPS 等)來打印。,3. 打印源程序代碼,1.注釋語句

48、 2.暫停語句 3.結(jié)束語句,3.1.5 注釋、暫停與程序結(jié)束,1.注釋語句,在程序的適當(dāng)位置加上必要的注釋需使用注釋語句,它的一般格式為: ' | Rem 其中為一串字符。 例如: ' This is a simple example.

49、 Rem 這是一個簡單例子,說明: (1)注釋語句是非執(zhí)行語句,僅對程序的有關(guān)內(nèi)容起注釋作用。它不被解釋和編譯,但在程序清單中,注釋語句被完整地顯示出來。 (2)任何字符(包括漢字)都可以放在注釋行中作為注釋內(nèi)容。注釋語句可以作為一個獨(dú)立行放在過程或模塊的開頭,也可以放在執(zhí)行語句的后面,在這種情況下,注釋語句必須是一行中的最后一個語句。 例如: Text1.Text

50、 = “Good Morning” 'This is a test,2.暫停語句,在程序的執(zhí)行過程中,若要暫停程序的執(zhí)行,則需使用暫停語句,它的一般格式為: Stop 功能:暫停程序的執(zhí)行,自動打開立即窗口,以便用戶檢查變量的值和跟蹤程序的運(yùn)行。 說明: (1)Stop語句可以放置在過程中的任何地方,相當(dāng)于在放置的地方設(shè)置斷點(diǎn)。 (2)程序調(diào)試完畢后應(yīng)刪去所有的St

51、op語句。,3.結(jié)束語句,要結(jié)束程序的執(zhí)行需使用結(jié)束語句。它的一般格式為: End 功能:結(jié)束程序的執(zhí)行,釋放所有變量,并關(guān)閉所有數(shù)據(jù)文件。 例如: Private Sub Command2_Click() End End Sub,說明: (1)一個程序沒有End語句,對運(yùn)行結(jié)果沒有什

52、么影響。如果沒有End語句或雖然有但沒執(zhí)行,程序都不能正常結(jié)束。此時,要結(jié)束程序的執(zhí)行必須執(zhí)行Run菜單中的End命令或單擊工具欄中的程序結(jié)束圖標(biāo)。 (2)為了保持程序的完整性,特別是要求生成EXE文件的程序,應(yīng)該含有End語句,并通過End語句結(jié)束程序的執(zhí)行。,對這類問題需要按給定條件進(jìn)行判斷,并按判斷的結(jié)果進(jìn)行不同的處理。 解決這類問題需要編寫分支結(jié)構(gòu)程序。,3.2.1 單行結(jié)構(gòu)條件語句 3.2.

53、3 GoTo語句3.2.2 塊結(jié)構(gòu)條件語句 3.2.4 情況語句,在實(shí)際問題中,往往需要根據(jù)條件的成立與否來選擇不同的語句執(zhí)行。例如,給定如下公式求 x 的絕對值,3.2 分支結(jié)構(gòu),一般格式: IfThen[Else] 其中為條件,通常用關(guān)系表達(dá)式或邏輯表達(dá)式表示。和 可以為一個語句,也可以為多個語句,多個語句時要用冒號分隔。 注意:單行結(jié)構(gòu)條件語句要求在一行內(nèi)書寫完畢,即一行不能超

54、過255個字符。,3.2.1 單行結(jié)構(gòu)條件語句,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下

55、一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then

56、 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為:

57、 If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,stateme

58、nts,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,,,False,True,下一行語句,statements,,無可選項(xiàng)時,語句的格式為: If Then 功能:如果條件為True,則執(zhí)行語句;否則,執(zhí)行下一行語句。,,condition,,,

59、,,False,True,下一行語句,statements,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,

60、,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為

61、True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condi

62、tion,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,els

63、estatements,,,statements,,,True,,有可選項(xiàng)時,語句的功能是:若條件為True,則執(zhí)行;否則,執(zhí)行 。,,condition,,,,False,下一行語句,,elsestatements,,,statements,,,True,,輸入三個數(shù)a,b,c,輸出三者之中最大者。,(1) 界面設(shè)計(jì) 在窗體放置兩個命令按鈕:Command1和Command2。Command1用于實(shí)現(xiàn)求三個數(shù)的最大者,Comm

64、and2用于結(jié)束程序的執(zhí)行。設(shè)置窗體的Caption屬性值為 “例3_11 求三個數(shù)之中最大者”, Command1的 Caption屬性為“開始”, Command2 的Caption屬性為“結(jié)束”。,例3-11,(2) 算法設(shè)計(jì) ① 用InputBox函數(shù)把三個數(shù)值輸入到變量a , b , c 中; ② 先把a(bǔ)放在變量max中,然后分別與b,c進(jìn)行比較,保留其中最大的數(shù)在變量max中;

65、③ 用Print方法輸出max的值。,開始,,輸入a,b,c,,max=a,,1,1,,b>max,,max=b,,c>max,,max=c,,輸出max,,結(jié)束,,,,False,True,,,,False,True,,求三個數(shù)最大值算法,(3) 事件過程Private Sub Command1_Click() Dim a!, b!, c!, max! a = InputBox("請輸入第 1 個數(shù):

66、", "輸入數(shù)據(jù)") b = InputBox("請輸入第 2 個數(shù):", "輸入數(shù)據(jù)") c = InputBox("請輸入第 3 個數(shù):", "輸入數(shù)據(jù)") max = a If b > max Then max = b '比較后保留最大值 If c > max Th

67、en max = c Print Print a; "、"; b; " 與 "; c; " 之中最大值是:"; Print maxEnd SubPrivate Sub Command2_Click() EndEnd Sub,Private Sub Command1_Click() Dim a!, b!, c!, max! a = InputBox(

68、"請輸入第 1 個數(shù):", "輸入數(shù)據(jù)") b = InputBox("請輸入第 2 個數(shù):", "輸入數(shù)據(jù)") c = InputBox("請輸入第 3 個數(shù):", "輸入數(shù)據(jù)") max = a If b > max Then max = b '比較后保留最大值

69、If c > max Then max = c Print Print a; "、"; b; " 與 "; c; " 之中最大值是:"; Print maxEnd Sub,Private Sub Command2_Click() EndEnd Sub,分析: 當(dāng)a≠0時,x = –b/a ;當(dāng)a = 0,b≠0時,方程無解。因?yàn)橛?作除數(shù)會產(chǎn)生

70、溢出的運(yùn)行錯誤,所以在計(jì)算x的值之前,要先判斷a是否為0。,(1) 界面設(shè)計(jì) 在窗體放置一個命令按鈕:Command1。 Command1用于實(shí)現(xiàn)解方程。設(shè)置窗體的Caption屬性值為 “例3_12解方程ax + b = 0”, Command1的 Caption屬性值為“開始”。,例3-12,輸入系數(shù)a和b,編程序解方程ax + b = 0。,(2) 算法設(shè)計(jì),開始,,輸入系數(shù)a,b,,a0,,輸出“方程無解”信息,,,,求方

71、程的根,,,,,結(jié)束,True,False,(3) 事件過程Private Sub Command1_Click() Dim a!, b!, x! a = Val(InputBox("請輸入系數(shù)a:")) b = Val(InputBox("請輸入系數(shù)b:")) If a 0 Then x = -b / a:Print "x = "; x

72、 Else Print " 方程無解! "End Sub,一般格式:If Then [ElseIf Then [] ...[ElseIf Then [][Else []]End If,其中條件 , ,… , 一般為關(guān)系表達(dá)式或邏輯表達(dá)式 。,,…, 為一個語句或多個

溫馨提示

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

評論

0/150

提交評論