【正文】
32 38 43 58 77 89 low high mid 初始: 5 11 23 27 29 32 38 43 58 77 89 low high mid 縮小一半 5 11 23 27 29 32 38 43 58 77 89 low mid high 縮小一半 。 解題思路 :本題中的遞歸子過(guò)程為triangle(x1,x2,x3,y1,y2,k), k的初值為三角形的層次,遞歸結(jié)束條件為 k= 1,在遞歸子過(guò)程中,每調(diào)用一次, k的值就減 1。 isum。b end sub 文件 2(*.frm) (窗體模塊 :) public c as single ?全局變量 public a as integer ?全局變量 sub mand1_click() dim c as integer ?局部變量 … print 。 過(guò)程的作用域最小,僅局限于過(guò)程內(nèi)部 (針對(duì)局部變量 ); 模塊 (文件 )次之,僅在某個(gè)模塊或文件內(nèi); 全局 (工程 )范圍最大,在整個(gè)應(yīng)用工程范圍內(nèi)。 函數(shù)和過(guò)程的參數(shù)傳遞 傳址 例 [88]傳值與傳址兩種方式下,形參與實(shí)參的改變。 End Sub Sub temp(Byval x as integer,Byval y as integer) x=x+100: y=x*60 print “x=“。 函數(shù)和過(guò)程的參數(shù)傳遞 傳值 例 【 85】 傳值調(diào)用 Private sub mand1_click() dim x as integer , y as integer x=10: y=20 print “x=“。 Private Function afirm(cj As Integer) As String Select Case cj Case Is 60 afirm = 不及格 Case 60 To 69 afirm = 及格 Case 70 To 79 afirm = 中 Case 80 To 89 afirm = 良 Case Is 90 afirm = 優(yōu) End Select End function = afirm(Val()) 過(guò)程的定義與調(diào)用 Function過(guò)程的定義與調(diào)用 例 [84] 編寫求任意給定兩個(gè)自然數(shù)的最大公約數(shù)的程序 。 解題思路 : 定義一個(gè)過(guò)程 area,計(jì)算矩形的面積 。 Static對(duì)數(shù)組變量也有效,但對(duì)動(dòng)態(tài)變量則無(wú)法轉(zhuǎn)換為靜態(tài)變量; ⑶ Private:表示該過(guò)程為私有過(guò)程,只有本模塊中的其他過(guò)程訪問(wèn),不能 被其他模塊中的模塊訪問(wèn); ⑷ Public:表示該過(guò)程為公有過(guò)程,即可以被程序中所有模塊調(diào)用。當(dāng)程序退出該程序時(shí),局部變量的值仍然保留作為下次調(diào)用的初 值。 Str(f) End Sub Call n(Val()) 過(guò)程的定義與調(diào)用 Sub過(guò)程的定義與調(diào)用 子過(guò)程調(diào)用 ⑴ Call 過(guò)程名 [(實(shí)參列表 )]; 如: call text(12,”abc”) ⑵ 過(guò)程名 [實(shí)參列表 ]; 如: test 12,”abc” 例 [82]給出矩形的長(zhǎng)和寬,求矩形的面積。 過(guò)程的定義與調(diào)用 Function過(guò)程的定義與調(diào)用 函數(shù)過(guò)程的調(diào)用 例 [83]函數(shù)過(guò)程的定義與調(diào)用:判斷某個(gè)成績(jī) (百分制 )的等級(jí) . 解題思路 :定義一個(gè)函數(shù)過(guò)程,用于判斷分?jǐn)?shù)的等級(jí),判斷后的結(jié)果返回為 字符串:優(yōu)、良、中、及格或不及格。 傳值的一個(gè)特點(diǎn)是 將實(shí)參的值復(fù)制一份給形式參數(shù)所代表的臨時(shí)內(nèi)存單元,此后實(shí)參與形參之間再無(wú)任何聯(lián)系,形式參數(shù)的任何變化均不會(huì)對(duì)實(shí)參產(chǎn)生任何影響。y。 例 【 87】 對(duì)于例 [85]中的過(guò)程 temp將其定義為: sub temp(x as integer,y as integer) … End Sub 則 Call temp(x,y)變?yōu)榱藗髦氛{(diào)用,故形參的改變會(huì)引起實(shí)參 x、 y的值改變。 作用域分為三個(gè)層次: 過(guò)程、模塊 (文件 )、全局 (工程 )。c。 變量、過(guò)程的作用域 靜態(tài)變量 例 [810] 一個(gè)窗體單擊事件過(guò)程 (Form_click())和一個(gè)求和函數(shù) (sum())組成的應(yīng)用程序,在 Form_click()過(guò)程中 5次調(diào)用函數(shù) sum() Dim i As Integer, isum As Integer For i = 1 To 5 isum = sum(i) Print isum=。 定義階乘運(yùn)算如下: n! =n(n- 1)! (n- 1)!=(n- 1)(n- 2)! 若用 fn(n)表示 n!,則由有: 1)1(*11{)(????nnfnnnnfn 遞歸 求 n