何曉勤
一、程序框圖中的錯解剖析
1.循環(huán)結(jié)構(gòu)的循環(huán)體出現(xiàn)錯誤
剖析:當輸出(或輸入)在循環(huán)體內(nèi)部時,每次循環(huán)時都要輸出(或輸入)變量的值,我們稱這種循環(huán)輸出(或輸入)為批量輸出(或輸入)。本題輸出在循環(huán)體內(nèi)部,每執(zhí)行一次循環(huán)體,都要輸出對應(yīng)的s的值,并非是輸出最后的s的值。
正解:輸出的結(jié)果是2,5,10。
二、基本算法語句中的錯解剖析
1.賦值語句的變量傳遞出現(xiàn)錯誤
例4 執(zhí)行如圖5所示的算法,若輸入的a,b的值分別為2和3,則輸出的a,b的值分別為 。
錯解:由該程序可知:a=2,b=3;a=2+3=5,6=2=3=-1。故輸出的a,b的值分別為5,-1。
剖析:當一個變量被另一個變量或表達式賦值時,此變量的原有值已被刪除,而具有了新值,所以在執(zhí)行下一語句時,應(yīng)將新值代人運算。本題的算法執(zhí)行賦值a=a+b之后,a的值已變成了5,所以執(zhí)行賦值b=a-b時,a的值是5,而不是2。
正解:輸出的a,b的值分別為5,2。
2.條件語句嵌套格式出現(xiàn)錯誤
剖析:在運用條件語句中的嵌套格式時了出現(xiàn)錯誤,一般的格式是IF-ELSE-(IF-FLSE-ENDIF)-END IF。要注意IF和END IF的一一對應(yīng)關(guān)系。
3.循環(huán)語句變量取值和語句順序關(guān)系把握不好出現(xiàn)錯誤
例6 圖8和圖9的兩個程序均表示求滿足1×3×5×7×…×n<5000的最大的正整數(shù)n的算法程序,請將①②處補充完整。
錯解:圖8的程序輸出的結(jié)果為滿足1×3×5×7×…×n<5000的最大正整數(shù)n,①處填i。圖9的程序輸出的結(jié)果為滿足1×3×5×7×…×n<5000的最大正整數(shù)n,②處填i-2。
剖析:錯解錯在對程序各語句的順序把握不好,且對輸出變量的含義理解不透徹。正確解答本題的關(guān)鍵是要判斷循環(huán)結(jié)束的條件、變量i的值與最大正整數(shù)n的關(guān)系。圖8和圖9中循環(huán)體內(nèi)的兩個語句的順序恰好相反,運行兩程序可知,循環(huán)結(jié)束時,圖8中i的值比所求的n的值大2,而圖9中的i的值比所求的n的值大4。
正解:①處應(yīng)填i-2,②處應(yīng)填i-4。