文章編號:1672-5913(2008)18-0095-01
摘要:本文介紹了筆者在教學中如何通過一題多解的開放性思維方法來提高學生編程能力的。
關鍵詞:算法分析;創新能力;語法;
中圖分類號:G642 文獻標識碼:B
1靈活運用啟發式教學方法
為避免學生強于應試而弱于編程實踐,應在教學過程中以程序設計為主線進行教學,有意識地淡化計算機語言本身語句的介紹,而重點介紹程序設計方法,在分析程序和程序設計中熟悉語法、應用語句,將軟件工程、數據結構及算法設計等思想貫穿于程序設計過程中。另外,在教學過程中,靈活運用啟發式教學方法,將比較抽象,不易被學生接受和理解的教學內容化繁為簡,在教學中巧用生活中的實例,運用比喻、游戲、實驗等方法使學生盡快掌握編程的方法。
例1:如高教出版社《全國計算機等級考試——二級教程——C語言程序設計》第五章“循環結構”,課后習題中有這樣一道題:“編寫程序,求1-3+5-7+9-…-99+101的值”這道題與例題5.2“用p/4=1-1/3+1/5-1/7+1/9…公式求p的近似值,直到最后一項的絕對值小于10-6為止”題目有些相似。學生自然而然會想到用例題的這種方法求這道題。程序如方法一:
#include\"stdio.h\"
main()
{
int s=1,n,sum=0;
for(n=1;n<=101;n=n+2)
{
sum=sum+s*n;
s=-s;
}
printf(\"%d\\",sum);
}
這道題除以上的解法以外還有許多種。我讓同學們撇開計算機,就當成是一堂數學課,去試著解決這個問題。大家爭先恐后地講出自已的想法。我將他們的想法一一歸類,并且告訴同學們這就是解決這個問題的算法,同學們感覺有些不可思議,課堂氣氛頓時活躍起來,我再讓同學們冷靜下來將這些想法轉化為C語言形式,同學們這時都來勁了,同學們給出了許多個解決問題的思路。……