


與傳統的教學內容相比,算法是新課程改革中新增的內容,目的是培養同學們的邏輯思維能力,提高解決問題的程序化能力.算法語句有著嚴格的語法規則,教材中介紹了五種基本的算法語句:輸入語句、輸出語句、賦值語句、條件語句、循環語句.每一種語句都有著嚴格的要求,但同學們在學習算法基本語句時常會犯一些共性的錯誤.本文從以下幾個實例對算法中常見錯誤作簡要剖析.
易錯點剖析一:賦值概念的理解錯誤
例1已知兩個單元存放了變量x,y,z的值,試給出一個算法,依次變換x,y,z的值.(x←y←z←x)
錯解:Step1: x←y
Step2: y←z
Step3: z←x
錯因剖析:沒有理解賦值的含義,按上述算法,結果為x=z且為原y的值,y為原z的值.
正如A,B,C三個杯子中分別裝有可樂、雪碧、橙汁,若要交換這三種飲料,需要一個空杯子D來存儲A中的可樂,這樣才能依次將B中雪碧倒入A中,C中的橙汁倒入B中,再將D中可樂倒入A中.
正解:Step1: p←x
Step2: x←y
Step3: y←z
Step4: z←p
易錯點剖析二:變量的初始值錯誤
例2寫出一個計算1+2+22+23+…+210的值的程序語句.
錯解:如下圖
i←1
S←0
While i≤10
S←S+2i
i←i+1
End While
Print S
End
錯因剖析:錯解中程序語句的功能是計算式子2+22+23+…+210的值,比題目中要求的式子少了一項“1”,將循環體中i的初始值改為0,可以實現題目的要求.
正解:如下圖.
i←0
S←0
While i≤10
S←S+2i
i←i+1
End While
Print S
End
易錯點剖析三:算法語句順序錯誤
例3設計一個求1+2+3+4+…+100的流程圖.
錯解:如下圖
錯因剖析:當先執行S←S+n,再判斷,而后執行n←n+1,當S加上100時,符合條件,再次進入循環,這樣執行的最后結果中多了101.即改變了算法語句的順序,使得執行的結果發生了變化.
正解:如圖1,圖2.
變式:用當型循環來……