程序設計方法課標解讀
“算法”是關于解決問題的計算過程的描述,即解決問題的方法和步驟的描述;“程序設計”是使用計算機可理解的語言表達算法的過程。本模塊反映了計算機解決結構化應用問題的基本方法,為選修模塊。
通過本模塊的學習,學生應該體驗算法思維,掌握幾種基本算法;能設計簡單應用問題的算法,并能初步使用一種程序設計語言,編制程序解決該問題。
本模塊的教學,要強調理論與實踐的結合,注意尋找、發現身邊簡單的實際問題,進而設計出算法和計算機程序去解決這些問題。本模塊著重強調的是算法設計思想,故對程序設計語言不作具體規定,應根據實際條件加以選擇。
本模塊由3個主題組成:
(一)計算機解決問題的基本過程
1.內容標準
(1)了解算法和計算機程序的基本概念,了解計算機程序執行的基本過程。
(2)了解算法的表示方法,能用自然語言、流程圖、偽代碼等描述算法,重點掌握流程圖描述算法的方法。
例1 農夫、狼、山羊和蔬菜過河問題。一個農夫帶著一條狼、一頭山羊和一籃蔬菜過河,但只有一條小船,并且每次只能讓農夫帶一樣東西過河,而且農夫在場的情況下動物和蔬菜均相安無事,一旦農夫不在,狼會吃羊,羊會吃蔬菜。問聰明的農夫如何解決過河問題。
例2 求解sum=1+2+……(n-1)+n
例3 兩個正整數最大公因子的計算問題。
(3)了解程序設計環境的基本知識,了解程序設計語言、編輯程序、編譯程序、連接程序以及程序開發的環境。
2.活動建議
選擇若干簡單的數學計算問題,在教師的指導下,學生分小組設計相應的算法,并使用某種方法描述這些算法。
(二)面向對象程序設計語言初步
1.內容標準
(1)理解使用一種面向對象程序設計語言的基本方法,掌握對象及其封裝、事件驅動、繼承、方法和事件的概念;理解數據類型和表達式的構成及描述計算過程的三種基本結構。
例1 順序結構實例:交換兩個數據的算法。
例2 選擇結構實例:求兩個數中的大數的算法。
例3 循環結構實例:求解1+2+……+100問題。
例4 雞兔共籠,一共有30個頭,90只腳,求雞兔各有多少只?
(2)理解模塊化的程序設計方法。
(3)掌握從源程序到可執行程序的生成方法。
(4)掌握調試、運行指定程序的方法。
2.活動建議
選擇一個實例,根據解決問題的要求,設計算法,編寫源程序,生成對應的可執行程序,調試并運行該程序。
(三)常用算法
a 用解析法設計算法
1.內容標準
(1)了解解析法的基本概念及用解析法設計算法的基本過程。
(2)能夠用解析法分析簡單問題并設計算法及編寫程序求解問題。
例1 求解一元二次方程根的算法。使用一根長度為l厘米的鐵絲,制作一個面積為s的矩形框,要求計算出滿足這種條件的矩形的長h和寬w (歸結成求一元二次方程ax2+bx+c=0的根)。
例2 兩個日期之間天數的計算。計算從y1年m1月d1日起,到y2年m2月d2日之間的天數。
2.活動建議
(1)上機實習:獲得解決解析法中兩個實例的可執行程序。
(2)從數學、物理、化學學科的學習中選擇計算問題,確定解決該問題所需的計算公
式,并用流程圖描述問題的計算過程,編寫程序,獲得計算結果。
b 用窮舉法設計算法
1.內容標準
(1)了解窮舉法的基本概念及用窮舉法設計算法的基本過程。