“三步逐過程法”解題步驟:
步驟一:把握題意,泛讀程序,分析程序組成和各過程的功能;
那么,我們?nèi)绾畏治龀龈鱾(gè)過程的功能呢?
核心技巧是從輸出語句著手, 逆向推導(dǎo), 分析各變量的含義, 進(jìn)而根據(jù)過程的輸入?yún)?shù)及其輸出或者反饋, 分析出此過程的功能。
1. 標(biāo)記出輸出語句
輸出語句有兩句:
(1)、Text1 = Text1.Text & Str(I) & " "
(2)、If K Mod 5 = 0 Then Text1 = Text1 & Chr(13) & Chr(10)
2. 逆向推導(dǎo),分析各變量的含義
對(duì)于輸出語句(1),顯然是將符合條件的數(shù)I顯示到文本框。而根據(jù)題意,符合條件的數(shù)必須滿足:2000以內(nèi)和因子和為素?cái)?shù)兩個(gè)條件,因此,我們從語句(1)逆向推導(dǎo),我們知道I是由2到2000的循環(huán)變量,并且只有滿足Prime(Sum)為True的才能顯示到文本框,因此,我們知道Sum應(yīng)該是I的因子和;對(duì)于輸出語句(2),后半句的功能是為了實(shí)現(xiàn)回車和換行,結(jié)合K Mod 5=0以及逆向找出的K=K+1,我們知道,K的功能是為了控制輸出按照每5個(gè)換行進(jìn)行。
3. 分析過程功能
對(duì)于語句Call Fctor(I,Sum),由于此時(shí)的I為2到2000的循環(huán)變量,Sum為I的因子和,因此我們可以判定Fctor的功能是求I的因子和,并將該和賦給Sum變量;根據(jù)Prime(Sum),我們可以判定Prime的功能是對(duì)Sum值進(jìn)行是否是素?cái)?shù)的判定,如果是,則返回True,否則返回False.
步驟二: 從通用過程入手, 逐過程輸入并逐過程調(diào)試。
核心技巧是將通用過程輸入后, 根據(jù)步驟一中分析出的各過程的功能,用含有具體參數(shù)值的過程調(diào)用語句來調(diào)試過程, 即: 給定確定的輸入, 看有無準(zhǔn)確的輸出或者反饋。
那么如何構(gòu)造含有具體參數(shù)值的過程調(diào)用語句呢?
對(duì)于Function過程,由于有輸入?yún)?shù)和返回值,因此比較好構(gòu)造調(diào)用調(diào)試語句。譬如,對(duì)于Prime過程,由步驟一中我們已經(jīng)知道其作用是用于判斷輸入?yún)?shù)是否為素?cái)?shù),如果為素?cái)?shù)則返回True,否則返回False.因此我們可以構(gòu)造:
Print Prime(7);Prime(10)
為此,我們只要在窗體上放置一個(gè)按鈕Command1,在Command1_Click中輸入Print Prime(7);Prime(10)即可,若輸出為“True False”,則該過程正確。如此操作,調(diào)試結(jié)果為:
由此,我們將Exit Sub修改為Exit Function,運(yùn)行正確。
對(duì)于Sub過程,其沒有返回值,因此該過程的反饋信息將可以通過兩種方式得到,一種是直接在Sub中使用輸出語句顯示運(yùn)行結(jié)果;一種是利用按地址傳遞的參數(shù)將反饋信息由被改變的實(shí)參帶出。對(duì)于Fctor(N,S)過程,根據(jù)步驟一,知其功能是,求N的因子和并由S帶出。為此,首先,我們根據(jù)給定的可以設(shè)定N為16.
1. 輸入Prime過程, 用print prime(7),prime(10)來調(diào)試;
2. 輸入fctor過程, 用
dim s as integer
call fctor(16,s)
print s
來調(diào)試。
步驟三: 對(duì)于事件過程, 若代碼較長(zhǎng), 則逐程序塊輸入并調(diào)試(程序塊通常以循環(huán)來區(qū)分)
核心技巧: 在事件過程中, 將完成對(duì)通用過程的調(diào)用組裝, 因此特別留意以下三點(diǎn):
循環(huán):注意循環(huán)變量的初值、終值和步長(zhǎng)以及累積量的初值。
數(shù)組:元素從0開始還是從1開始。
過程:注意參數(shù)傳遞(Byval、 ByRef),返回值類型,調(diào)用形式,具體的說包括:
1. 實(shí)參與形參類型是否一致。
2. 參數(shù)傳遞方法(ByVal與ByRef)是否正確
3. 循環(huán)調(diào)用時(shí), 同一變量調(diào)用前后值有無干涉,具體體現(xiàn)在: 前值沒有清空遺留在后值中或者動(dòng)態(tài)數(shù)組元素未清空等, 此時(shí)錯(cuò)誤表現(xiàn)在: 清空語句放置位置不對(duì)。
四、總結(jié):
1. 思維過程是微觀到宏觀
體現(xiàn)在: 由題意及變量含義推斷過程作用; 逐過程輸入調(diào)試后再進(jìn)行事件工程中的調(diào)用和組裝;
2. 在調(diào)試通用過程時(shí), 應(yīng)用了數(shù)學(xué)中的特殊值法;
3. 在組裝事件過程時(shí), 應(yīng)用了工程中的經(jīng)驗(yàn)法。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |