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