




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2010年9月等級考試輔導(dǎo) 二級Visual Basic1第五講 過程Sub過程2變量作用域1Function過程3數(shù)組參數(shù)4對象參數(shù)5局部變量和全局變量名稱作用域聲明位置使用語句局部變量過程過程中Dim或Static模塊變量窗體模塊或標(biāo)準(zhǔn)模塊模塊的通用聲明段Dim或Private全局變量整個(gè)應(yīng)用程序標(biāo)準(zhǔn)模塊的聲明部分Public或Global定義在過程中的靜態(tài)變量(static)在每次執(zhí)行該過程時(shí)會保留上次執(zhí)行的結(jié)果2006年9月筆試真題選擇題-33題以下敘述中錯(cuò)誤的是A)語句“Dim a, b As Integer”聲明了兩個(gè)整型變量 B)不能在標(biāo)準(zhǔn)模塊中定義Static型變量C)窗體層變
2、量必須先聲明,后使用 D)在事件過程或通用過程內(nèi)定義的變量是局部變量2004年9月筆試真題選擇題第8題 在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:Private Sub Command1_Click()Static x As IntegerClsFor i=1 To 2y=y+xx=x+2Next Print x,yEnd Sub程序運(yùn)行后,連續(xù)三次單擊Command1按鈕后,窗體上顯示的是A) 4 2 C) 12 30 D) 4 6 B) 12 182002年9月筆試真題選擇題26題在窗體上畫一個(gè)名稱為Commandl的命令按鈕,然后編寫如下程序:Private
3、Sub Command1_Click() Static X As Integer Static Y As Integer Cls Y=1 Y=Y+5 X=5+X Print X,YEnd Sub程序運(yùn)行時(shí),三次單擊命令按鈕Commandl后,窗體上顯示的結(jié)果為A) 15 16 C) 15 15 D) 5 6 B) 15 6考點(diǎn)2 Sub過程一、建立Sub過程StaticPrivate|Public Sub 過程名 (參數(shù)表)語句塊Exit Sub語句塊End Sub子程序過程例 建立1個(gè)Sub過程實(shí)現(xiàn)兩個(gè)數(shù)的交換第一步:確定形式參數(shù),通過Sub過程要實(shí)現(xiàn)任意兩個(gè)數(shù)的交換,所以將這兩個(gè)數(shù)表示成形
4、式參數(shù)。Sub Swap(a As Integer, b As Integer) 第二步:編寫功能代碼,下面加下劃線的為功能代碼。Sub Swap(a As Integer, b As Integer) Dim t As Integer t = a: a = b: b = tEnd Sub調(diào)用Sub過程 1. 用Call語句調(diào)用Sub過程Call 過程名(實(shí)際參數(shù)) 2. 把過程名作為一個(gè)語句來使用 過程名 實(shí)際參數(shù) 與第一種方式相比,它有兩點(diǎn)不同: (1)去掉關(guān)鍵字Call; (2)去掉實(shí)際參數(shù)的括號。在按鈕單擊事件中調(diào)用前例中的Sub過程Private Sub Command1_Click
5、() Dim x As Integer, y As Integer x = 5: y = 15 Call Swap(x, y) 還可以寫成Swap x, y Print x, yEnd Sub(2007年9月選擇題第30題) 下面程序的輸出結(jié)果是_。 PrivateSubCommand1_Click()ch$=”ABCDEF”procchPrintchEndSubPrivateSubproc(chAsString)s=Fork=Len(ch)To1Step-1 s=s & Mid(ch,k,1) Nextk ch=sEndSub(A)ABCDEF (C)A (D)F (B)FEDCBA上機(jī)教程
6、P103-真題8.1【例】捷成37-5程序運(yùn)行后,如果單擊“讀入數(shù)據(jù)”按鈕,則調(diào)用題目所提供的ReadData1和ReadData2的過程讀入datain1.txt和datain2.txt文件中的各20個(gè)整數(shù),分別放入Arr1和Arr2兩個(gè)數(shù)組中;如果單擊“計(jì)算”按鈕,則把兩個(gè)數(shù)組中對應(yīng)下標(biāo)的元素相減,其結(jié)果放入第三個(gè)數(shù)組中(即:第一個(gè)數(shù)組的第n個(gè)元素減去第二個(gè)數(shù)組的第n個(gè)元素,其結(jié)果作為第三個(gè)數(shù)組的第n個(gè)元素。這里的n 為1、2、20),最后計(jì)算第三個(gè)數(shù)組各元素之和,把所求得的和在窗體上顯示出來;并調(diào)用題目中給出的WriteData過程將所得的和存入考生文件夾下的dataout.txt文件中
7、。考點(diǎn)3 Function過程StaticPrivate|Public Function 過程名 (參數(shù)) As 數(shù)據(jù)類型 語句塊 過程名=表達(dá)式 Exit Function 語句塊End Function編寫1個(gè)函數(shù)實(shí)現(xiàn)素?cái)?shù)求解第一步:確定形式參數(shù)。Function fun(x As Integer) As Boolean第二步:編寫素?cái)?shù)算法Function fun(x As Integer) As Boolean For i = 2 To x - 1 If x Mod i = 0 Then Exit For End If Next i If i x - 1 Then 是素?cái)?shù) Else 不是
8、素?cái)?shù) End IfEnd Function第三步:編寫代碼“過程名=表達(dá)式”,確定返回值函數(shù)過程fun = True 是素?cái)?shù)fun = False 不是素?cái)?shù)考點(diǎn)3 Function過程說明: (1)調(diào)用Sub過程相當(dāng)于執(zhí)行一個(gè)語句,不直接返回值;調(diào)用Function過程要返回一個(gè)值,因此可以像內(nèi)部函數(shù)一樣在表達(dá)式中使用。 (2)過程定義不可嵌套,因而不能在事件過程中定義通用過程,但可在事件過程內(nèi)調(diào)用通用過程。在按鈕單擊事件中調(diào)用前例中編寫的Fun過程。Private Sub Command1_Click() Dim x As Integer x = Val(InputBox(請輸入要判斷的數(shù))
9、 If fun(x) = True Then Print x; 是素?cái)?shù) Else Print x; 不是素?cái)?shù) End IfEnd Sub過程不可嵌套定義、但可嵌套調(diào)用2003年9月筆試真題選擇題23題 設(shè)有如下通用過程:Public Function f(x As Integer) Dim y As Integer x = 20 y = 2 f = x * yEnd Function在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:Private Sub Command1_Click() Static x As Integer x = 10 y=5 y = f(x) Pri
10、nt x; yEnd Sub程序運(yùn)行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是A)10 5 B)20 5 D)10 40 C)20 40上機(jī)真題【例】捷成36-4在窗體上有一個(gè)命令按鈕和一個(gè)文本框。程序運(yùn)行后,單擊命令按鈕,即可計(jì)算出11000范圍內(nèi)能被5整除或能被7整除的整數(shù)的個(gè)數(shù),并在文本框中顯示出來。在窗體的代碼窗口中,已給出了部分程序,其中計(jì)算能被5 整除或能被7整除的整數(shù)的個(gè)數(shù)的操作在通用過程Fun中實(shí)現(xiàn),請編寫該過程的代碼。 考點(diǎn)4 參數(shù)傳送一、參數(shù)傳遞Private Sub Command1_Click() Dim a As Single Dim b As Single a =
11、 InputBox(enter a ) b = InputBox(enter b) s = xiebian(a, b) Print sEnd SubPrivate Function xiebian(b1 As Single, b2 As Single) As Single xiebian = (b1 2 + b2 2) (1 / 2)End Function形參實(shí)參傳地址:實(shí)參為變量名或數(shù)組、形參ByRef聲明傳值:實(shí)參為常量或表達(dá)式、形參ByVal聲明4de(傳地址)6a = 1: b = 2: c = 3: d = 4Call test1(a, b, c, d) Print a; b; c
12、; dPrivate Sub test1(b%, c%, d%, e%) e=b+c+dEnd Sub 1 2 3 6內(nèi)存單元傳地址ByRef傳地址調(diào)用:形參改變,實(shí)參發(fā)生對應(yīng)變化形參和實(shí)參類型必須一致2004年9月22題在窗體上畫一個(gè)名稱為Command1的命令按鈕,并編寫如下程序:Private Sub Command1_Click() Dim x As Integer Static y As Integer x=10 y=5 Call f1(x,y) Print x,yEnd SubPrivate Sub f1(ByRef x1 As Integer, y1 As Integer) x1
13、=x1+2 y1=y1+2End Sub程序運(yùn)行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是A) 10 5 B) 12 5 C) 10 7D) 12 7 (2006年4月選擇題第25題)在窗體上畫1個(gè)命令按鈕,其名稱為Commandl ,然后編寫如下程序:Private Sub Command1 _ Click ( ) Dim a ( 10 ) As Integer Dim x As Integer For i = l To 10 a ( i ) = 8 + i Next x = 2 Print a ( f ( x ) + x ) End Sub Function f ( x As Integer
14、) x= x + 3f = x End Function 程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為_。(A)12 (B)l5 (C)17(D)18a = 1: b = 2: c = 3: d = 4Call test2(a, b, c, d) Print a; b; c; dPrivate Sub test2( b%, c%, d%, ByVal e%) e=b+c+dEnd Sub 1 2 3 4e(傳值)d446內(nèi)存單元傳值ByVal傳值調(diào)用:形參改變,不影響實(shí)參(2005年4月選擇題29題)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程: Priva
15、te Function fun(ByVal m As Integer) If m Mod 2 = 0 Then fun = 2 Else fun = 1 End If End Function Private Sub Command1_Click() Dim i As Integer, s As Integer s = 0 For i = 1 To 5 s = s + fun(i) Next Print s End Sub 程序運(yùn)行后,單擊命令按鈕,在窗體上顯示的是_。(A)6(B)7(C)8(D)9數(shù)組參數(shù) 用數(shù)組作為過程的參數(shù)時(shí),應(yīng)在數(shù)組名的后面加上一對括號。 1、要把整個(gè)數(shù)組作參數(shù)傳遞給
16、過程,形參與實(shí)參都要使用數(shù)組名,但要省略數(shù)組的上下界,且保留括號; 2、整個(gè)數(shù)組作參數(shù)傳遞時(shí),只能傳地址; 3、單個(gè)數(shù)組元素作參數(shù)傳遞給過程時(shí),實(shí)參要指明元素的下標(biāo); 4、在過程中可以使用LBound()和UBound()函數(shù)來確定數(shù)組的上下界。(2006年9月選擇題第26題)Sub subP(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next iEnd SubPrivate Sub Command1_Click() Dim a(1 To 4) As Integer a(1) = 5 a(2) = 6 a(3) = 7 a(4) = 8 subP
17、a() For i = 1 To 4 Print a(i) Next iEnd Sub(A)2 (B)5(C)10 (D)出錯(cuò) 4 6 12 6 7 14 8 8 16(2003年9月選擇題第24題) 設(shè)有如下通用過程: Public Sub Fun(a(), ByVal x As Integer) For i = 1 To 5 x = x + a(i) Next End Sub 在窗體上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕,然后編寫如下的事件過程: Private Sub Command1_Click() Dim arr(5) As Variant For i
18、 = 1 To 5 arr(i) = i Next n = 10 Call Fun(arr(), n) Text1.Text = n End Sub 程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是_。(A)10 (B)15 (C)25 (D)24上機(jī)教程109-真題8.4【例】捷成26-4數(shù)組作為過程參數(shù)形參:數(shù)組名(),括號不可省,括號內(nèi)不帶下標(biāo);實(shí)參:可以是數(shù)組名或數(shù)組名(),若帶括號,不帶下標(biāo)。 其功能是通過調(diào)用過程FindMax 求數(shù)組的最大值,請裝入該文件。程序運(yùn)行后,在四個(gè)文本框中各輸入一個(gè)整數(shù),然后單擊命令按鈕,即可求出數(shù)組的最大值,并在窗體上顯示出來(如圖所示)。 考點(diǎn)6
19、對象參數(shù) 對象作為參數(shù)的格式為:Sub 過程名(形參表) 語句塊 Exit Sub End Sub形參表中形參的類型通常為Control或Form。注意,在調(diào)用含有對象的過程時(shí),對象只能通過傳地址方式傳送。因此在定義過程時(shí),不能在其參數(shù)前加關(guān)鍵字ByVal。 考點(diǎn)6 對象參數(shù)一、窗體參數(shù)當(dāng)形參表中的形參的類型為Form時(shí),是把窗體作為函數(shù)的參數(shù),它通常用在對一批窗體進(jìn)行相同的屬性設(shè)置。二、控件參數(shù)當(dāng)形參表中的形參的類型為Control時(shí),是把控件作為函數(shù)的參數(shù),它通常用在對一批控件進(jìn)行相同的屬性設(shè)置。(2004年9月選擇題第21題)設(shè)一個(gè)工程由兩個(gè)窗體組成,其名稱分別為Form1和Form2,
20、在Form1上有一個(gè)名稱為Command1的命令按鈕。窗體Form1的程序代碼如下: Private Sub Command1_Click() Dim a As Integer a=10 Call g(Form2,a)End SubPrivate Sub g(f As Form,x As Integer) y=IIf(x10,100,-100) f.Show f.Caption=yEnd Sub運(yùn)行以上程序,正確的結(jié)果是_。 (A) Form1的Caption屬性值為100 (B) Form2的Caption屬性值為-100(C) Form1的Caption屬性值為-100 (D)Form2的Caption屬性值為100(2006年4月選擇題第28題)窗體上有名稱分別為Textl 、T
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游景區(qū)開發(fā)及運(yùn)營服務(wù)合同
- 工程合同管理工作制度
- 擔(dān)保合同第三方擔(dān)保
- 職工勞動(dòng)合同協(xié)議書
- 個(gè)人集資房屋買賣合同
- 商場物業(yè)合同年
- 房屋土地出租合同書
- 出租車庫正式合同
- 淺析合同擔(dān)保之定金
- 福建幼兒師范高等專科學(xué)?!冬F(xiàn)代企業(yè)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- (完整版)離婚協(xié)議書標(biāo)準(zhǔn)版下載
- 新人教版八年級數(shù)學(xué)下冊全冊教案-八年級下冊人教版全冊教案
- 山西陽城陽泰集團(tuán)西馮街煤業(yè)有限公司煤炭資源開發(fā)利用方案和礦山環(huán)境保護(hù)與土地復(fù)墾方案
- 病原生物與免疫學(xué)-課件
- 初中語文期末考試試卷分析
- 聽胎心音操作評分標(biāo)準(zhǔn)
- HWSD數(shù)據(jù)庫土壤中文名稱
- 地產(chǎn)集團(tuán)地產(chǎn)體系員工職業(yè)序列及職業(yè)等級管理規(guī)定
- 安徽華星化工有限公司殺蟲單廢鹽資源化處理項(xiàng)目環(huán)境影響報(bào)告書
- 平安健康文明主題班會
- 消防工程管理辦法附流程圖
評論
0/150
提交評論