當前位置:
首頁 > 最新 > 演算法設計教學中以數學建模為核心的計算思維實踐

演算法設計教學中以數學建模為核心的計算思維實踐

展現獨立思想 博採百家眾長

彙集涓涓細流 共向遼闊海洋

普通高中信息技術課程標準倡導將知識積累、技能培養與思維發展融入到運用數字化工具解決問題和完成任務的過程中,通過培養學生技術應用與問題解決之間的思維連接,引導學生學會分析問題、歸納問題,最終解決問題,而這一思維方式正是高中信息技術核心素養之一——計算思維。

新的課程標準指出:「具備計算思維的學生,在信息活動中能夠採用計算機可以處理的方式界定問題、抽象特徵、建立結構模型、合理組織數據;通過判斷、分析與綜合各種信息資源,運用合理的演算法形成解決問題的方案;總結利用計算機解決問題的過程與方法,並遷移到與之相關的其他問題解決中。」可見,建模是計算思維的核心要素之一。

在演算法設計中,常常接觸到兩種建模類型:一是數學計算範疇的問題,二是非數學計算範疇的問題。下面,筆者希望通過對數學計算與非數學計算範疇的兩個演算法設計案例的分析,幫助學生逐漸形成以信息技術的視角思考解決問題方案的思維模式,提升其利用信息技術解決問題的能力。

案例一:高空墜球——通過數學計算問題進行的計算思維培養

一球從100米高度自由落下,每次落地後又反彈回原高度的一半,再落下,求小球在第10次落地時,共經過多少米?第10次反彈有多高?

一般情況下,數學問題的演算法設計只要找到相應的數學公式就能完成,而用計算機解題需要按照計算機處理問題的步驟進行。

第1步:用計算機可處理的方式界定問題,確認問題的可計算性。

學生面對數學問題一般會通過數學計算的方式(如等比數列等)思考和解答。對於這種情況,可啟發學生進行如下思考:

①小球第一次落下100米,反彈100/2米,第二次落地後反彈100/4米……

那麼,第i(反彈計數)次落地反彈高度=100/2^i。

②第一次落地經過的距離為100米,第二次落地經過的距離為100+2×100/2米……

那麼,第i次落地時經過的距離=100+2×100/2+…+2×100/2^i。

通過對問題的簡單推理,得到解決這個問題的一般規律,以及確認這個問題的可計算性。

第2步:抽象關鍵要素並符號化。

通過對解題一般規律的分析可以發現:解決高空墜球問題必須使用原始高度、反彈總次數、反彈計數、反彈高度以及經過距離5個重要要素,即關鍵要素。這5個要素的數據在解題過程中會隨著實際情況而發生變化,因此需用變數表示可用下表表示。

第3步:建立各要素間的數學模型。

將符號化的關鍵要素帶入到解決問題的一般規律中,建立如下解決實際問題的數學模型:

第i次落地的反彈高度:t=h/2^i;

第i次落地時經過的距離:s=s+2×t。

第4步:繪製流程圖表述演算法,並用程序實現。

數學模型建立後,根據解決問題的一般規律,進行演算法設計,通過流程圖或自然語言等方式表達,最終用程序實現。

在數學問題案例分析過程中,學生容易混淆數學計算與演算法設計的概念,需要幫助學生明確二者的區別:數學計算是針對某一個數學問題進行的一系列的數學運算過程,注重運算結果的正確性;而演算法設計是針對同類問題的歸納性解決方案,注重問題的解決過程,不會由於初始數量的變化導致解決方案的變化。因此,數學計算與演算法設計是單一問題的解決與同類問題解決方案的區別。

案例二:我是大偵探——通過非數學計算問題進行的計算思維培養

2月13日凌晨3:13,丹姆斯頓大街上的卡爾一家發生了命案,卡爾先生一家人無一倖免。警局接到報案後立即派人趕往現場,經過現場勘察、取樣,確定為有人蓄意謀殺……經過多方取證,最後嫌疑犯鎖定在卡爾先生的四名同事身上,經審訊得來的口供,警方確定四人中有一名嫌疑犯在說謊,而說謊的這個人就是殺害卡爾一家的兇手。四名嫌疑人(用甲、乙、丙、丁表示)的口供如下,請你判斷找出,誰在說謊?

警官問:「12月13日下午15:00至16:00誰離開過辦公室?」甲說:「不是我。」乙說:「是丙。」丙說:「是丁。」丁說:「不是我。」

非數學問題的演算法設計在提取抽象特徵和構建數學模型兩方面都要難於數學問題。首先要將問題中的文字描述轉化為數學表達;其次提取關鍵要素,通過數字或編碼的方式將其符號化,即以某種數據類型如常量、變數、數組等方式表示,便於計算機處理;然後尋找關鍵要素間的關係,推理或歸納出數學模型;最終通過演算法思想生成自動化的解決方案。具體操作步驟如下:

第1步:用計算機可處理的方式界定問題,確認問題的可計算性。

啟發學生將文字描述轉化為數學表達,得到解決問題的思路並確認這個問題的可計算性。

①如果是甲離開房間:判斷可得:甲—假、乙—假、丙—假、丁—真。結論:共有3個人說謊,1人說真話,因此甲不是兇手。

②如果是乙離開房間:判斷可得:甲—真、乙—假、丙—假、丁—真。結論:共有2個人說謊,2人說真話,因此乙不是兇手。

……

推論:當某人離開房間時,如果判斷得到有3個人說真話,那麼離開房間的這個人就是兇手。

第2步:抽象關鍵要素並符號化。

根據分析問題得到的推論,可知甲乙丙丁4人、離開房間的人以及每次判斷後得到的說真話的人數是解決這個問題不可或缺的關鍵要素。其中,甲乙丙丁4人在參與問題解決過程中始終存在,並且要依次進行判斷,可用常量(數字)表示;隨著假設條件的不同,離開房間的人與每次判斷得到的說真話的人數都會發生變化,這兩個要素用變數表示。

第3步:建立數學模型。

將符號化的關鍵要素帶入到解決思路中,得到判斷兇手的條件:

甲說:「不是我」 (離開房間的人不是甲) i1;

乙說:「是丙」 (離開房間的人是丙) i=3;

丙說:「是丁」 (離開房間的人是丁) i=4;

丁說:「不是我」 (離開房間的人不是丁) i4。

判斷以上4個條件,結果為真,則累計說真話的人數,k=k+1。

第4步:用自然語言表述演算法,並用程序實現。

歡迎關注白珍名師工作室


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 白珍名師工作室 的精彩文章:

TAG:白珍名師工作室 |