高榮
在近幾年的高考試卷中,程序框圖的試題頻頻出現(xiàn).以程序框圖作為載體,與函數(shù)、不等式、數(shù)列等各類知識的結(jié)合,已成為高考的熱門問題.但同學(xué)們在答題過程中對一些常見知識點往往注意不夠,出現(xiàn)錯誤.筆者根據(jù)平時的教學(xué)心得,列舉程序框圖問題中常見的幾類問題,以期引起同學(xué)們的重視.
一、程序框圖中箭頭位置錯誤
例1畫出求S=1+22+32+…+102的程序框圖.
錯解:
錯因剖析:這樣的結(jié)果是,由于沒有了判斷框,故程序執(zhí)行時沒有終止,即程序框?qū)=1+22+32+…一直進(jìn)行下去,循環(huán)始終運行,程序為死循環(huán).
正解:若將判斷框左上方箭頭上移就正確了(如下圖).
二、程序框圖中變量的初始值出現(xiàn)錯誤
例2設(shè)計流程圖求1+2+…+100的值.
錯解:
錯因剖析:這里先執(zhí)行“i=i+1”使“i=2”變?yōu)椤癷=3”,再執(zhí)行“S=S+i”使得一開始就是“S=1+3”,跳過了數(shù)2,最后求得的和實際為“S=1+3+4+…+100”的值.這就是循環(huán)結(jié)構(gòu)變量的初始值出現(xiàn)錯誤.
正解:為了不遺漏數(shù)“2”,通常需要改變始端賦值的數(shù)據(jù)或調(diào)整操作程序及末端輸出條件而得正解.
解法1:將第二步“i=2”改為“i=1”而其他數(shù)據(jù)都不變.
解法2:將第三步與第四步互換,即先執(zhí)行“S=S+i”使“S=1+2”再執(zhí)行“i=i+1”往下循環(huán).特別要注意此時判斷框“i<100?”要改為“i<101?”,因為上一步的i到達(dá)100.
三、程序框圖中變量的輸出出現(xiàn)錯誤
例3設(shè)計求滿足條件1+3+5+7+…+>10000的最小整數(shù)的一個算法.
錯解:
錯因剖析:因為要先檢驗條件“S≤10000”是否成立,如果成立,則重復(fù)循環(huán)體中的語句“S=S+i,i=i+2”,只有當(dāng)條件“S≤10000”不成立時,才結(jié)束循環(huán).那么上述算法語句中的最后一次循環(huán):“S的值大于10000,i的值仍然要增加2”,這樣猜出的i值會比所求的值大2.
正解:
四、程序框圖中的控制條件出現(xiàn)錯誤
例4設(shè)計流程圖求1×2×3×4×…×30的值.
錯解:
錯因剖析:判斷框中應(yīng)是“i>29?”,而不是“i>30?”,當(dāng)“i>30?”時,輸出P為“1×2×3×4×…×31”的值.
正解:endprint
在近幾年的高考試卷中,程序框圖的試題頻頻出現(xiàn).以程序框圖作為載體,與函數(shù)、不等式、數(shù)列等各類知識的結(jié)合,已成為高考的熱門問題.但同學(xué)們在答題過程中對一些常見知識點往往注意不夠,出現(xiàn)錯誤.筆者根據(jù)平時的教學(xué)心得,列舉程序框圖問題中常見的幾類問題,以期引起同學(xué)們的重視.
一、程序框圖中箭頭位置錯誤
例1畫出求S=1+22+32+…+102的程序框圖.
錯解:
錯因剖析:這樣的結(jié)果是,由于沒有了判斷框,故程序執(zhí)行時沒有終止,即程序框?qū)=1+22+32+…一直進(jìn)行下去,循環(huán)始終運行,程序為死循環(huán).
正解:若將判斷框左上方箭頭上移就正確了(如下圖).
二、程序框圖中變量的初始值出現(xiàn)錯誤
例2設(shè)計流程圖求1+2+…+100的值.
錯解:
錯因剖析:這里先執(zhí)行“i=i+1”使“i=2”變?yōu)椤癷=3”,再執(zhí)行“S=S+i”使得一開始就是“S=1+3”,跳過了數(shù)2,最后求得的和實際為“S=1+3+4+…+100”的值.這就是循環(huán)結(jié)構(gòu)變量的初始值出現(xiàn)錯誤.
正解:為了不遺漏數(shù)“2”,通常需要改變始端賦值的數(shù)據(jù)或調(diào)整操作程序及末端輸出條件而得正解.
解法1:將第二步“i=2”改為“i=1”而其他數(shù)據(jù)都不變.
解法2:將第三步與第四步互換,即先執(zhí)行“S=S+i”使“S=1+2”再執(zhí)行“i=i+1”往下循環(huán).特別要注意此時判斷框“i<100?”要改為“i<101?”,因為上一步的i到達(dá)100.
三、程序框圖中變量的輸出出現(xiàn)錯誤
例3設(shè)計求滿足條件1+3+5+7+…+>10000的最小整數(shù)的一個算法.
錯解:
錯因剖析:因為要先檢驗條件“S≤10000”是否成立,如果成立,則重復(fù)循環(huán)體中的語句“S=S+i,i=i+2”,只有當(dāng)條件“S≤10000”不成立時,才結(jié)束循環(huán).那么上述算法語句中的最后一次循環(huán):“S的值大于10000,i的值仍然要增加2”,這樣猜出的i值會比所求的值大2.
正解:
四、程序框圖中的控制條件出現(xiàn)錯誤
例4設(shè)計流程圖求1×2×3×4×…×30的值.
錯解:
錯因剖析:判斷框中應(yīng)是“i>29?”,而不是“i>30?”,當(dāng)“i>30?”時,輸出P為“1×2×3×4×…×31”的值.
正解:endprint
在近幾年的高考試卷中,程序框圖的試題頻頻出現(xiàn).以程序框圖作為載體,與函數(shù)、不等式、數(shù)列等各類知識的結(jié)合,已成為高考的熱門問題.但同學(xué)們在答題過程中對一些常見知識點往往注意不夠,出現(xiàn)錯誤.筆者根據(jù)平時的教學(xué)心得,列舉程序框圖問題中常見的幾類問題,以期引起同學(xué)們的重視.
一、程序框圖中箭頭位置錯誤
例1畫出求S=1+22+32+…+102的程序框圖.
錯解:
錯因剖析:這樣的結(jié)果是,由于沒有了判斷框,故程序執(zhí)行時沒有終止,即程序框?qū)=1+22+32+…一直進(jìn)行下去,循環(huán)始終運行,程序為死循環(huán).
正解:若將判斷框左上方箭頭上移就正確了(如下圖).
二、程序框圖中變量的初始值出現(xiàn)錯誤
例2設(shè)計流程圖求1+2+…+100的值.
錯解:
錯因剖析:這里先執(zhí)行“i=i+1”使“i=2”變?yōu)椤癷=3”,再執(zhí)行“S=S+i”使得一開始就是“S=1+3”,跳過了數(shù)2,最后求得的和實際為“S=1+3+4+…+100”的值.這就是循環(huán)結(jié)構(gòu)變量的初始值出現(xiàn)錯誤.
正解:為了不遺漏數(shù)“2”,通常需要改變始端賦值的數(shù)據(jù)或調(diào)整操作程序及末端輸出條件而得正解.
解法1:將第二步“i=2”改為“i=1”而其他數(shù)據(jù)都不變.
解法2:將第三步與第四步互換,即先執(zhí)行“S=S+i”使“S=1+2”再執(zhí)行“i=i+1”往下循環(huán).特別要注意此時判斷框“i<100?”要改為“i<101?”,因為上一步的i到達(dá)100.
三、程序框圖中變量的輸出出現(xiàn)錯誤
例3設(shè)計求滿足條件1+3+5+7+…+>10000的最小整數(shù)的一個算法.
錯解:
錯因剖析:因為要先檢驗條件“S≤10000”是否成立,如果成立,則重復(fù)循環(huán)體中的語句“S=S+i,i=i+2”,只有當(dāng)條件“S≤10000”不成立時,才結(jié)束循環(huán).那么上述算法語句中的最后一次循環(huán):“S的值大于10000,i的值仍然要增加2”,這樣猜出的i值會比所求的值大2.
正解:
四、程序框圖中的控制條件出現(xiàn)錯誤
例4設(shè)計流程圖求1×2×3×4×…×30的值.
錯解:
錯因剖析:判斷框中應(yīng)是“i>29?”,而不是“i>30?”,當(dāng)“i>30?”時,輸出P為“1×2×3×4×…×31”的值.
正解:endprint