二、編程題應(yīng)試技巧 ⑻ 請(qǐng)?jiān)邳c(diǎn)狀態(tài)下打HELP 如JOIN命令的格式不太肯定,可在點(diǎn)狀態(tài)下鍵入:HELP JOIN 其命令語(yǔ)法格式一目了然。如果命令本身的拼寫也記不清楚,可在點(diǎn)狀態(tài)下打HELP,然后尋找查看,可幫助回憶。當(dāng)然HELP里的文本一般是英文的,這需要有平時(shí)的相應(yīng)經(jīng)驗(yàn)。上機(jī)考試提供的所有資源,考生都可以調(diào)用,為自己服務(wù)。如各種幫助功能,計(jì)算功能。因而算一個(gè)數(shù),驗(yàn)證一個(gè)數(shù),都可用電腦本身的功能來完成,而不必用草稿紙來算。 ⑼ 理解題義很重要 許多考生沒有對(duì)編程題目認(rèn)真分析研究,就匆忙開始編程,由于沒有正確理解題義,影響了成績(jī)。一些題目都有一點(diǎn)小彎,稍不注意,就理解錯(cuò)了。 ⑽ 程序一定要在運(yùn)行中調(diào)試和編寫 好處:⒈很快找到錯(cuò)誤,不必走彎路。⒉使你能很好地控制每一條語(yǔ)句,使你心中有數(shù)。⒊使你能充分利用電腦本身的資源,不必單憑個(gè)苦思冥想。⒋只有運(yùn)行,才有輸出結(jié)果。 曾經(jīng)有一個(gè)簡(jiǎn)單的 程序錯(cuò)誤:D0 WHILE .NOT. EOF(), 正確的語(yǔ)句應(yīng)是:DO WHILE .NOT. EOF() 如果沒有運(yùn)行程序,你到哪里找錯(cuò)誤?如果是難一點(diǎn)的錯(cuò)誤,不運(yùn)行就更難發(fā)現(xiàn)了。應(yīng)該熟悉一些常見的出錯(cuò)信息,如: Operator/operand type misatch. 數(shù)據(jù)類型不匹配 Missing ) 缺少對(duì)應(yīng)語(yǔ)句或符號(hào) End of file Encountered 遇到文件尾 Unrecognized phrase/keyword in command 不能識(shí)別的命令短語(yǔ)和關(guān)鍵字 Variable not found 變量沒找到 ⑾ 要素評(píng)分法 考試系統(tǒng)對(duì)考生編的程序的評(píng)分,滿分是40分,并不是要么全對(duì),要么全錯(cuò)。而是根據(jù)程序題的要求,提取一些要素進(jìn)行評(píng)分,如要求建的庫(kù)建了,給幾分,建對(duì)了,再給幾分;要求輸出的結(jié)果在目的庫(kù)里有沒有,有給幾分,結(jié)果正確,再給幾分;要求用DO WHILE 循球結(jié)構(gòu)做,有DO WHILE,就會(huì)得幾分。因此,不通的程序有的可能是0分,有的可能是25分,這就給我們一個(gè)啟示,要吃透題目,在可能的情況下,把自己能做的都做完。 ⑿ 要有輸出結(jié)果,再好的程序不運(yùn)行不會(huì)得滿分 調(diào)試中可能輸出錯(cuò)誤結(jié)果,應(yīng)在程序調(diào)試成功后,最后把目的庫(kù)刪空,正式運(yùn)行一次,在存放輸出結(jié)果的目的庫(kù)中要有一個(gè)空記錄,許多考生向一個(gè)無記錄的空庫(kù)輸送記錄,結(jié)果是輸入不進(jìn)去,要在適當(dāng)?shù)牡胤郊尤階PPEND BLANK。 存盤的文件名問題,一定要按考試要求的各種文件名調(diào)用和處置文件,如編程的文件名是PROG1.PRG,修改程序的文件名是MODI1.PRG。有考生按要求向目的庫(kù)DAT10輸出結(jié)果,可他卻隨手寫成了DATE10,結(jié)果是前功盡棄。 ⒀ 幾個(gè)基本的調(diào)試方法 ㈠ FILE IS IN USE處理辦法 造成的原因是:試圖在兩個(gè)工作區(qū)中同時(shí)打開同一個(gè)文件,由于調(diào)試的程序中途退出,容易出現(xiàn)這一錯(cuò)誤。解決方法是: .CLOSE ALL .CLEAR ALL 或者QUIT退出點(diǎn)狀態(tài),再進(jìn)FOX編輯環(huán)境。兩種辦法均可初始化系統(tǒng)。 ㈡ 善用SET STEP ON,SET TALK ON 有一個(gè)報(bào)表輸出的程序修改題,程序可以運(yùn)行,但輸出的結(jié)果不正確,程序里很多屏幕格式輸出語(yǔ)句,很多行列的數(shù)據(jù),這類題如果用單步執(zhí)行方式(SET STEP ON),錯(cuò)誤就一目了然,否則苦思冥想也難找到錯(cuò)誤。如把屏幕對(duì)話也打開(SET TALK ON),與單步執(zhí)行相配合,往往可收到奇效,可以看到程序是怎樣一步一步執(zhí)行,在哪條命令處出了問題。 ㈢ 可設(shè)置一些檢查的變量,完成后再刪除 對(duì)于有疑問的地方,如某個(gè)變量是否正確獲得,控制變量有無作用等,最好是設(shè)置一些臨時(shí)的檢查變量,在檢查變量的下面讓程序暫停(WAIT),這樣才不至于犯一些“想當(dāng)然”的錯(cuò)誤。 ㈣ 從簡(jiǎn)單到復(fù)雜 最節(jié)約時(shí)間的編程方法是從簡(jiǎn)單到復(fù)雜,即先不拘泥于細(xì)節(jié),而全力關(guān)心整體的大結(jié)構(gòu),如各個(gè)分支通不通,菜單通不通,能否正常退出。然后再一個(gè)一個(gè)小功能的編、調(diào)試。不要一口氣寫完再調(diào)試,如有問題,調(diào)試反面費(fèi)時(shí)間,可用一些臨時(shí)的方法,如上面提到的設(shè)置臨時(shí)檢查變量,來檢驗(yàn)程序的運(yùn)行。 ㈤ 對(duì)庫(kù)記錄只掃描一次是好程序 許多題目都是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,應(yīng)特別關(guān)心記錄指針的走向。假如有這樣一個(gè)程序題:分別統(tǒng)計(jì)職工庫(kù)中字段“黨派”的黨員、團(tuán)員、群從和其他四種情況的人數(shù),結(jié)果送一個(gè)目的庫(kù)。有的考生可能這樣做: COUN ALL FOR 黨派="黨員" TO PARTY COUN ALL FOR 黨派="團(tuán)員" TO LEAGUE COUN ALL FOR 黨派="群眾" TO MASS ... 這個(gè)程序?qū)?kù)記錄多次掃描,程序語(yǔ)句看似簡(jiǎn)單,但如果庫(kù)記錄很多,實(shí)際上更費(fèi)時(shí),同時(shí)全無一點(diǎn)程序的風(fēng)格,因而不是好程序。正確的做法是,只對(duì)庫(kù)記錄掃描一次,用循環(huán)(DO WHILE...ENDDO)一個(gè)個(gè)判斷,用分支語(yǔ)句(DO CASE...ENDCASE)分別計(jì)數(shù)。這樣程序看似復(fù)雜一點(diǎn),但程序結(jié)構(gòu)清晰、優(yōu)化,是好程序。 ㈥ 兩種錯(cuò)誤:語(yǔ)法錯(cuò)誤和語(yǔ)義錯(cuò)誤 語(yǔ)法錯(cuò)誤是指程序不通,例如命令字有問題,函數(shù)沒有正確調(diào)用等,運(yùn)行不下去;語(yǔ)義錯(cuò)誤則不然,程序本身可以運(yùn)行,沒有語(yǔ)法錯(cuò)誤,但編程人沒有正確理解題意,沒有按指定要求編出程序。 ㈦ 編程沒有唯一的答案 十個(gè)考生的編程可能有十個(gè)樣子,但可能都得滿分。條條大道通羅馬。只要完成題目的要求,就可以。