V B語言程序設(shè)計 過程.ppt_第1頁
V B語言程序設(shè)計 過程.ppt_第2頁
V B語言程序設(shè)計 過程.ppt_第3頁
V B語言程序設(shè)計 過程.ppt_第4頁
V B語言程序設(shè)計 過程.ppt_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、過程第七章,本章內(nèi)容,引言,在VB中的兩種過程: (1)由系統(tǒng)提供過程 系統(tǒng)提供的內(nèi)部函數(shù)過程(如sqr函數(shù))和事件過程(click事件)。 (2)由用戶自定義過程 用戶根據(jù)實際應(yīng)用的需要而自行設(shè)計的過程,這樣的過程稱為“通用過程”,引言,通用過程分為兩類: 函數(shù)過程:以Function保留字開始的過程。 子程序過程:以Sub保留字開始的過程;,例5.19 求解s = 1! + 2! + 3! + + 10!的值,采用兩種不同解法 (1)解法一:采用兩重循環(huán),外循環(huán)10次,每次循環(huán)計算一次階乘,把每次階乘值累加起來,即得求解結(jié)果。 Dim s As Long, t As Long s = 0

2、For j = 1 To 10 計算10個階乘 t = 1 計算1個階乘前,先賦初值 For k = 1 To j 計算j!,需要循環(huán)j次 t = t * k 連乘j次 Next k s = s + t 把每次計算得到的階乘值t累加 Next j Print s,階乘n! (n!123n) Private Sub Form_Load( ) Show Dim t As Long, s As Long, i As Integer t = 1 For i = 1 To 5 t = t * i Next i s = t,例7.2 計算5! + 10!,t = 1 For i = 1 To 10 t =

3、 t * i Next i s = s + t Print 5! + 10! =; s End Sub,因為計算5!和10!都要用到階乘n! (n!123n) 所以把計算n!編成Sub過程。 Private Sub Form_Load( ) Show Dim y As Long, s As Long Call Jc(5, y) s = y Call Jc(10, y) s = s + y Print 5! + 10! =; s End Sub 程序運(yùn)行結(jié)果: 5! + 10! 3628920,Private Sub Jc( n As Integer, t As Long ) Dim i As

4、Integer t = 1 For i = 1 To n t = t * i Next i End Sub 注意參數(shù)n及t的調(diào)用情況,例7.2 計算5! + 10!,過程有兩個重要作用:一是把一個復(fù)雜的任務(wù)分解為若干個小任務(wù),可以用過程來表達(dá),從而使任務(wù)更易理解,更易實現(xiàn),將來更易維護(hù);二是代碼重用,使同一段代碼多次復(fù)用。,過程的作用,過程調(diào)用示例 把相同的任務(wù)編成相對獨(dú)立的“子過程” 當(dāng)事件過程需要執(zhí)行這個任務(wù)時,可使用調(diào)用語句(如Call)實行調(diào)用。子過程執(zhí)行完后,會返回事件過程中調(diào)用語句Call的后續(xù)語句繼續(xù)執(zhí)行,通用過程,例7.1 Sub過程示例 Private Sub Form_Lo

5、ad() Show Call mysub1(30) Call mysub2 Call mysub2 Call mysub2 Call mysub1(30) End Sub 程序運(yùn)行結(jié)果,Private Sub mysub1(n) Print String(n, *) End Sub Private Sub mysub2( ) Print *; Tab(30); * End Sub,Sub過程,參數(shù)n,無參數(shù),Sub過程的定義,格式: StaticPublic|PrivateSub 過程名(參數(shù)表列) 語句塊 Exit Sub 語句塊 End Sub 功能:定義一個以為名的Sub過程。 (1)

6、在VB中,Sub過程又稱為子過程。 (2)在子過程中如果沒有形參,調(diào)用時括號()必須省略。 Call mysub2 或 mysub2,Sub過程的調(diào)用,格式: Call 過程名 (實參列表) 或 過程名 實參列表 說明: 實參的個數(shù)、類型、順序應(yīng)與相應(yīng)的形參保持一致,子過程中如果沒有形參,則調(diào)用中也無實參。 第2種調(diào)用方式與第1種相比,結(jié)果一樣,只是去掉Call和一對括號( )。 例如,調(diào)用名為mysub1的過程: Call mysub1(30) mysub1 30,函數(shù)過程,StaticPublic|Private Function 函數(shù)過程名(參數(shù)列表) As 類型 語句塊 函數(shù)名 = 返

7、回值 Exit Function 語句塊 函數(shù)名 = 返回值 End Function 功能:定義一個以為名的Function過程。,函數(shù)過程體,函數(shù)過程說明,1. As 類型: 返回值的類型 2.函數(shù)名 = 返回值 函數(shù)過程必須返回函數(shù)值,而函數(shù)名就代表了函數(shù)值,在函數(shù)體內(nèi)至少對函數(shù)名賦值一次。若不賦值則默認(rèn)返回值為0或空串或空值。函數(shù)名本身就是變量。,函數(shù)過程的調(diào)用,形式: 變量名 = 函數(shù)過程名(實參列表) 或 print 函數(shù)過程名 (實參列表) 功能:調(diào)用一個已定義的Function過程。,jiechen(5) jiechen(6) jiechen(7),a = jiechen(5)

8、 b = jiechen(6) c = jiechen(7) Print jiechen(5) + jiechen(6) + jiechen(7),將n!的Sub過程改為Function過程。 Private Sub Form_Load( ) Show Dim s As Long s = Jc(5) + Jc(10) Print 5! + 10! =; s End Sub,Function Jc( n As Integer) As Long Dim i As Integer , t as Long t = 1 For i = 1 To n t = t * i Next i Jc = t End

9、 Function,例7.3 計算5! + 10!,Function Jc( n %) As Long Dim i As Integer Jc = 1 For i = 1 To n Jc = Jc * i Next i End Function,因為計算5!和10!都要用到階乘n! (n!123n) 所以把計算n!編成Sub過程。 Private Sub Form_Load( ) Show Dim y As Long, s As Long Call Jc(5, y) s = y Call Jc(10, y) s = s + y Print 5! + 10! =; s End Sub,Priva

10、te Sub Jc( n As Integer, t As Long ) Dim i As Integer t = 1 For i = 1 To n t = t * i Next i End Sub,例7.2 計算5! + 10!,把求兩個數(shù)中的大數(shù)編成Function過程,過程名為Max Private Sub Form_Load() Show Dim a As Single, b As Single, c As Single Dim s As Single a = Val(InputBox(輸入第一個數(shù)) b = Val(InputBox(輸入第二個數(shù)) c = Val(InputBox(

11、輸入第三個數(shù)) s = max(a, b) Print 最大數(shù)是:; max(s, c) End Sub,Function max(m!, n!) As Single If m n Then max = m Else max = n End If End Function,調(diào)用,調(diào)用,例7.4 輸入三個數(shù),求出它們的最大數(shù),實參傳給形參( am),通過函數(shù)名max帶回一個結(jié)果,把求兩個數(shù)中的大數(shù)編成Sub子過程,過程名為Max Private Sub Form_Load() Show Dim a As Single, b As Single, c As Single Dim s As Sing

12、le, m As Single a = Val(InputBox(輸入第一個數(shù)) b = Val(InputBox(輸入第二個數(shù)) c = Val(InputBox(輸入第三個數(shù)) Call max(a, b, s) Call max(s, c, m) Print 最大數(shù)是:; m End Sub,Sub max(m!, n!, t!) If m n Then t = m Else t = n End If End Function,例7.4 輸入三個數(shù),求出它們的最大數(shù),函數(shù)過程與Sub過程的區(qū)別,(1)函數(shù)名是一個變量,它有值,有類型,在函數(shù)體中至少賦值一次,并通過它可帶回一個結(jié)果;而Su

13、b過程名,它無值,無類型,在Sub過程體內(nèi)不能賦值,不能通過它帶回結(jié)果。 注意:Sub過程若要帶回結(jié)果,必須通過形參與實參的地址傳遞得到結(jié)果,調(diào)用時可得到多個參數(shù)值。,函數(shù)過程與Sub過程的區(qū)別,(2)調(diào)用時,子過程調(diào)用是一句獨(dú)立的語句。格式: Call 過程名 (實參列表) 或 過程名 實參列表 函數(shù)過程不能作為單獨(dú)的語句加以調(diào)用,必須參與表達(dá)式運(yùn)算。變量名 = 函數(shù)過程名(實參列表) 或 print 函數(shù)過程名 (實參列表),a = jiechen(5) b = jiechen(6) c = jiechen(7) Print jiechen(5) + jiechen(6) + jieche

14、n(7),說明: (1)如果僅僅為實現(xiàn)一個動作,而無任何返回結(jié)果,只能用Sub子過程實現(xiàn)。 (2)如果需要返回一個結(jié)果,既可用函數(shù)過程實現(xiàn)也可用子過程實現(xiàn)。 (3)如果需要返回多個結(jié)果,可用函數(shù)過程實現(xiàn)也可用子過程實現(xiàn),同時必須結(jié)合其他的形式,如全局變量、傳地址(實參形參間的傳遞)等。,函數(shù)過程與Sub過程,函數(shù)過程定義的方法,自定義函數(shù)過程有兩種方法: (1) 利用“工具”菜單下的“添加過程”命令定義,生成一個函數(shù)過程的框架。 (2) 利用代碼窗口手工輸入代碼的方式建立函數(shù)過程。,通用過程(Sub/Function)過程可以保存在兩種模塊中: 窗體模塊(.frm)和標(biāo)準(zhǔn)模塊(.bas) (1

15、) 在窗體模塊中創(chuàng)建通用過程: 可以在代碼窗口中直接鍵入來創(chuàng)建Sub過程 選擇“工具”菜單中的“添加過程”命令 (2) 在標(biāo)準(zhǔn)模塊中創(chuàng)建通用過程: 選擇“工程”菜單中的“添加模塊”命令 保存為一個獨(dú)立的“.bas”文件 舉例:把例7.3的函數(shù)max(m, n)存放在模塊文件中,創(chuàng)建通用過程的方法,參數(shù)的傳遞,參數(shù)傳遞:指主調(diào)過程的實參傳遞給被調(diào)過程的形參。 形參 :是指在定義過程時出現(xiàn)在參數(shù)列表中的變量名或數(shù)組名,這些變量名只能在過程內(nèi)部使用,形式參數(shù)不能是常量。 實參:是調(diào)用過程中已組織好的準(zhǔn)備傳給形參的常量、變量、表達(dá)式或數(shù)組控件對象等。,定義過程和調(diào)用過程的示例: 調(diào)用過程:Call M

16、ysub(100, 計算機(jī) , 1.5) 定義過程:Sub Mysub(t As Integer,s As String,y As Single) “形實結(jié)合”是按照位置結(jié)合的,即第一個實參值(100)傳送給第一個形參t,第二個實參值(“計算機(jī)”)傳送給第二個形參s,第三個實參值(1.5)傳送給第三個形參y。,參數(shù)傳遞的方式,地址傳遞:缺省或加“ByRef”,形參得到的是實參的地址,當(dāng)形參值改變時實參的值也改變,也叫雙向傳遞。 值傳遞:在形參前加“ByVal”,形參得到的是實參的值,形參值的改變不會影響實參的值。也叫單向傳遞。 注意:無論哪種傳遞,實際參數(shù)必須與定義過程時的形式參數(shù)在個數(shù)、類型

17、、順序上保持一一對應(yīng)。,設(shè)置兩個通用過程Test1和Test2,分別按值傳遞和按地址傳遞 Private Sub Form_Load() Dim x As Integer Show x = 5 Print 執(zhí)行test1前,x=; x Call test1(x) Print 執(zhí)行test1后,test2前,x=; x Call test2(x) Print 執(zhí)行test2后,x=; x End Sub,Sub test1(ByVal t As Integer) t = t + 5 End Sub Sub test2(s As Integer) s = s - 5 End Sub,運(yùn)行結(jié)果 執(zhí)行

18、Test1前,x=5 執(zhí)行Test1后,Test2前,x=5 執(zhí)行Test2后,x=0,例7.5 參數(shù)傳遞方式示例,按值傳遞,按地址傳遞,傳遞方式示意圖,5,Form_Load( ),test1( ),x,t,實參,形參,(a) 值傳遞,5,x,s,(b) 地址傳遞,實參和形參共享單元,0,Form_Load( ),test2( ),5,10,因為計算5!和10!都要用到階乘n! (n!123n) 所以把計算n!編成Sub過程,采用Print直接在窗體上輸出結(jié)果。 Private Sub Form_Load( ) Show Dim y As Long, s As Long Call Jc(5,

19、 y) s = y Call Jc(10, y) s = s + y Print 5! + 10! =; s End Sub 程序運(yùn)行結(jié)果: 5! + 10! 3628920,Private Sub Jc( n As Integer, t As Long ) Dim i As Integer t = 1 For i = 1 To n t = t * i Next i End Sub 注意參數(shù)n及t的調(diào)用情況,例7.2 計算5! + 10!,把求兩個數(shù)中的大數(shù)編成Sub子過程,過程名為Max Private Sub Form_Load() Show Dim a As Single, b As S

20、ingle, c As Single Dim s As Single, m As Single a = Val(InputBox(輸入第一個數(shù)) b = Val(InputBox(輸入第二個數(shù)) c = Val(InputBox(輸入第三個數(shù)) Call max(a, b, s) Call max(s, c, m) Print 最大數(shù)是:; m End Sub,Sub max(m, n, t) If m n Then t = m Else t = n End If End Function,調(diào)用,調(diào)用,例7.3 輸入三個數(shù),求出它們的最大數(shù),在一個過程(Sub過程和Function過程)中調(diào)用

21、另外一個過程。 例7.5 輸入兩個數(shù)n、m,求組合數(shù)Cnm 的值 Cnm =,n! m!(n-m)!,7.3 過程的嵌套調(diào)用,Private Sub Form_Load() Show m = Val(InputBox(輸入m的值) n = Val(InputBox(輸入n的值) If m n Then MsgBox 輸入數(shù)據(jù)錯誤, 0, 檢查錯誤 End End If Print 組合數(shù)是:; Calcomb(n, m) End Sub Private Function Calcomb(n, m) Calcomb = Jc(n) / (Jc(m) * Jc(n - m) End Functio

22、n Private Function Jc(x) t = 1 For i = 1 To x t = t * i Next i Jc = t End Function,程序中,采用了過程的嵌套調(diào)用方式。在事件過程Form_Load()中調(diào)用了Calcomb過程,而在Calcomb過程中調(diào)用了三次jc過程。,調(diào) 用,調(diào) 用,過程的嵌套調(diào)用,a=Calcomb(n,m),b=Jc(n),事件過程 Form_Load,Function過程 Calcomb(n,m),Function過程 Jc(x),結(jié)束,開始,變量的作用域,作用域:變量、過程隨所處的位置不同,可被訪問的范圍。,通用過程(Sub/Fun

23、ction)過程可以保存在兩種模塊中: 窗體模塊(.frm)和標(biāo)準(zhǔn)模塊(.bas) (1) 在窗體模塊中創(chuàng)建通用過程: 可以在代碼窗口中直接鍵入來創(chuàng)建Sub過程 選擇“工具”菜單中的“添加過程”命令 (2) 在標(biāo)準(zhǔn)模塊中創(chuàng)建通用過程: 選擇“工程”菜單中的“添加模塊”命令 保存為一個獨(dú)立的“.bas”文件 舉例:把例7.3的函數(shù)max(m, n)存放在模塊文件中,創(chuàng)建通用過程的方法,變量的作用域,局部變量:在窗體模塊(.frm)和標(biāo)準(zhǔn)模塊(.bas)的過程內(nèi)聲明的變量,只能在本過程中使用。 窗體/模塊級變量:在窗體模塊(.frm)和標(biāo)準(zhǔn)模塊(.bas) “通用聲明”段中用Dim語句或用Priv

24、ate語句 聲明的變量,可被本窗體/模塊的任何過程訪問。 全局變量:在標(biāo)準(zhǔn)模塊(.bas) “通用聲明”段中用Public語句聲明的變量,可被本應(yīng)用程序的各窗體模塊(.frm)和標(biāo)準(zhǔn)模塊(.bas)任何過程或函數(shù)訪問。,1. 局部變量 在一個過程內(nèi)部用Dim或Static聲明的變量稱為局部變量。只能在本過程中有效。在一個窗體中,不同過程中定義的局部變量可以同名。例如,在一個窗體中定義 Private Sub Command1_Click() Dim Sum As Integer Sum = 1 . . . End Sub Private Sub Command2_Click() Dim Sum

25、 As Single Sum = 1.5 . . . End Sub,這兩個同名變量Sum沒有任何聯(lián)系,在窗體模塊的“通用聲明”段中聲明的變量稱為模塊級變量,可以在一個窗體的不同過程中使用。 Dim n As Integer Private Sub Command1_Click() n=1 End Sub Private Sub Command2_Click() n=n+1 End Sub 如果用Private或Dim來聲明,則該變量只能在本窗體(或本模塊)中有效,在其他窗體或模塊中不能引用該變量。 以Public聲明的變量,允許在其他窗體和模塊中引用,F(xiàn)orm1.n,2. 模塊級變量,全局變

26、量要在標(biāo)準(zhǔn)模塊文件(.bas)中的通用聲明部分用Global或Public語句來聲明。 全局變量可以被應(yīng)用程序中任何一個窗體和模塊直接訪問。 格式: Global 變量名 As 數(shù)據(jù)類型 Public 變量名 As 數(shù)據(jù)類型,3. 全局變量,生存期,即變量能夠保持其值的時間 ,分為動態(tài)變量和靜態(tài)變量 1. 動態(tài)變量 程序運(yùn)行進(jìn)入變量所在的過程時,才為變量分配內(nèi)存單元,退出過程時,該變量占用的內(nèi)存單元自動釋放,其值消失。當(dāng)再次進(jìn)入該過程時,所有的動態(tài)變量將重新初始化。 使用Dim關(guān)鍵字在過程中聲明的局部變量屬于動態(tài)變量 2. 靜態(tài)變量 退出該過程時變量值被保留,即變量所占的內(nèi)存單元沒有釋放。當(dāng)以

27、后再次進(jìn)入該過程時,原來的變量值可以繼續(xù)使用 使用Static關(guān)鍵字在過程中聲明的局部變量屬于靜態(tài)變量,變量的生存期,Private Sub Command1_Click( ) Dim a As Integer a是動態(tài)變量 Static b As Integer b是靜態(tài)變量 a = a + 1 每次進(jìn)入過程時 a值為0 b = b + 1 每次進(jìn)入過程時 b保持上次的值 End Sub,靜態(tài)變量(局部變量),用Dim聲明的變量 :每次調(diào)用都對變量重新初始化;過程體結(jié)束,變量的內(nèi)容自動消失,存儲單元釋放。 用Static 聲明的變量 :過程體結(jié)束后,不釋放存儲單元。每次調(diào)用過程,變量保持原來

28、的值。其聲明形式為: Private Sub Command1_Click( ) Static 變量名 AS 類型 局部靜態(tài)變量 End Sub,靜態(tài)變量(局部變量),Static Function 函數(shù)名(參數(shù)列表) As 類型 Static Sub 子過程名(參數(shù)列表) 說明:過程名前加Static,表示該過程內(nèi)的局部變量都是靜態(tài)變量。,Static Sub Subtest() Dim t As Integer t=2*t+1 Print t End Sub Private Sub Command1_Click() Call Subtest End Sub,運(yùn)行后,3次單擊命令按鈕,執(zhí)行結(jié)

29、果為: 1 3 7,例7.6 Static Sub語句示例,將Static Sub改為Private Sub,運(yùn)行后,3次單擊命令按鈕,執(zhí)行結(jié)果為: 1 1 1,Private,在窗體模塊的“通用聲明”段中以Public聲明的變量,允許 在其他窗體和模塊中引用,格式為:Form1.n,過程的作用域,窗體/模塊級:加Private關(guān)鍵字的過程,只能在被定義的本窗體或本模塊的任何過程中調(diào)用。 全局級:加Public關(guān)鍵字(缺?。┑倪^程,可供該應(yīng)用程序的所有窗體和所有標(biāo)準(zhǔn)模塊中的過程調(diào)用。,例,設(shè)計兩個窗體,編寫兩段程序代碼,驗證全局級過程與窗體級過程的不同。,Private,多窗體處理 在多窗體程

30、序中,每個窗體可以有自己的界面和程序代碼,完成不同的操作 1. 添加窗體 通過“工程”菜單中的“添加窗體”命令來實現(xiàn) 2. 刪除窗體 選擇“工程”菜單中的“移除”命令 3. 保存窗體 選擇“文件”菜單中的“保存”或“另存為”命令 4. 設(shè)置啟動窗體 在“工程/工程屬性”對話框中設(shè)置,多窗體與Sub Main過程,(1) Load語句 格式:Load 窗體名稱 例如:Load Form2 功能:將一個窗體裝入內(nèi)存。 說明:此時僅能引用窗體中的控件及各種屬性,但運(yùn)行時窗體并不顯示到屏幕上。 (2) UnLoad語句 格式:UnLoad 窗體名稱 功能:清除內(nèi)存中的窗體。,有關(guān)語句和方法,(3) S

31、how方法 格式:窗體名稱.Show 例如: Form2.Show 功能:將一個窗體裝入內(nèi)存,并在屏幕上顯示。 (4) Hide方法 格式:窗體名稱.Hide 功能:隱藏指定的窗體,即不在屏幕上顯示,但仍保存在內(nèi)存中,因此它與UnLoad的作用是不一樣的。,有關(guān)語句和方法,創(chuàng)建3個窗體和1個標(biāo)準(zhǔn)模塊 (1)主窗體(Form1) 本窗體上建立了“輸入數(shù)據(jù)”(Command11) 、“計算” (Command12)和“結(jié)束”(Command13)三個命令按鈕 設(shè)置為啟動窗體,例7.7 多窗體應(yīng)用示例 計算兩數(shù)之和及積,啟動 窗體,主窗體,輸入兩個數(shù),計算,定義全局變量,Private Sub Co

32、mmand11_Click() 主窗體“輸入數(shù)據(jù)”按鈕 Form1.Hide 隱藏主窗體 Form2.Show 顯示“輸入數(shù)據(jù)”窗體 End Sub Private Sub Command12_Click() 主窗體“計算”按鈕 Form1.Hide 隱藏主窗體 Form3.Show 顯示“計算”窗體 End Sub Private Sub Command13_Click() 主窗體“結(jié)束”按鈕 Unload Form1 Unload Form2 Unload Form3 End End Sub,先卸載所有已打開的窗體,(2)“輸入數(shù)據(jù)”窗體(Form2) 這是在主窗體上單擊了“輸入數(shù)據(jù)”按鈕

33、后彈出的窗體,用于輸入運(yùn)算數(shù)x和y。窗體上建立了2個文本框(Text21和Text22)和1個“返回”命令按鈕(Command21),(2)“輸入數(shù)據(jù)”窗體(Form2)代碼: Private Sub Command21_Click() “輸入數(shù)據(jù)”窗體的“返回”按鈕 X = Val(Text21.Text) Y = Val(Text22.Text) Form2.Hide 隱藏“輸入數(shù)據(jù)”窗體 Form1.Show 顯示主窗體 End Sub,(3)“計算”窗體(Form3) Private Sub Command31_Click() “計算”窗體的“加法”按鈕 Text31.Text = X

34、 + Y End Sub Private Sub Command32_Click() “計算”窗體的“乘法”按鈕 Text31.Text = X * Y End Sub Private Sub Command33_Click() “計算”窗體的“返回”按鈕 Form3.Hide 隱藏“計算”窗體 Form1.Show 顯示主窗體 End Sub,Text31,(4)標(biāo)準(zhǔn)模塊(Modulel) 由于在各窗體之間需要使用公共變量來傳送數(shù)據(jù),所以建立一個標(biāo)準(zhǔn)模塊Modulel,對用到的全局變量X和Y進(jìn)行聲明,程序一般從啟動窗體的Form_Load過程開始執(zhí)行 有時在程序啟動時不加載任何窗體,而是首先

35、執(zhí)行一段程序代碼,此時可把要執(zhí)行的程序代碼放在Sub Main過程中,并指定Sub Main為“啟動對象”。 應(yīng)用程序在運(yùn)行時會先執(zhí)行Sub Main過程 Sub Main過程存放在標(biāo)準(zhǔn)模塊中。在一個工程中只能有一個Sub Main過程 設(shè)置Sub Main過程為“啟動對象”的方法:在“工程屬性”對話框的“通用”選項卡中,從“啟動對象”下拉列表框中選中“Sub Main”,Sub Main過程,創(chuàng)建2個窗體和1個標(biāo)準(zhǔn)模塊,例7.8 Sub Main 過程示例,標(biāo)準(zhǔn)模塊,標(biāo)準(zhǔn)模塊是獨(dú)立于窗體的程序單位,其擴(kuò)展名為.bas。 1. 全局變量聲明 使用Public關(guān)鍵詞對變量和常量進(jìn)行聲明,其作用域為整個工程。 2. 模塊級變量聲明 用Dim關(guān)鍵詞聲明的變量和常量,其有效范圍僅限于本模塊內(nèi)。 3. 通用過程 用戶自定義的子程序和函數(shù)。一般用Public關(guān)鍵詞聲明的通用過程和Sub Main過程放在標(biāo)準(zhǔn)模塊中。,例7.9 將判斷一個數(shù)是否為素數(shù)編成一個函數(shù),然后通過調(diào)用該函數(shù)求5001000數(shù)中的所有素數(shù),把這些素數(shù)顯示在列表框中。 (1)分析:素數(shù)也稱質(zhì)數(shù),就是只能被1和它本身整除,而不能被其他整數(shù)整除的整數(shù)。例如 2,3,5,7 是質(zhì)數(shù),而 4,6,8,9 則不是。判斷某數(shù)m是否是素數(shù)的算法是:對

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論