Pascal語言的設計者沃思教授曾有過“程序設計=算法+數(shù)據(jù)結構”的著名論斷,用來說明算法在程序設計中的重要性。顯然,從計算機處理問題的角度來看,程序設計的核心之一是算法。在學習和生活中,算法的作用也不容忽視,因為生活中問題的解決方法與步驟是程序設計中“算法”思想的具體體現(xiàn)?,F(xiàn)實生活和學習活動中的問題多種多樣,生活算法也不唯一,會有多種多樣的解決方法與步驟,有著不同的過程,要學會從中找到最優(yōu)的方法。通過對算法的學習及其步驟與方法的理解,學生可以逐漸提高邏輯思維能力和自學能力,能較好地面對和解決生活中的現(xiàn)實問題。
本節(jié)教學內(nèi)容選自廣東教育出版社信息技術選修模塊教材《算法與程序設計》。面對初學程序和算法的高中二年級學生而言,本節(jié)內(nèi)容偏理論、較抽象。如果直接講算法,學生很難建立新舊知識的聯(lián)系,更難真正理解算法的含義。筆者遵循認知規(guī)律,從學生的感性認識人手,從他們的興趣出發(fā),通過對現(xiàn)實生活具體問題的討論,使他們明白解決任何問題都需要有清晰的解決思路和步驟,很自然地引入了算法的概念;學生獨立進行算法設計的實踐環(huán)節(jié),有利于學生從生活算法設計中的思維模式向計算機算法設計(描述)的轉(zhuǎn)變,更有利于學生接受和理解下一節(jié)的“計算機解決問題的過程”和“程序設計語言”。
一、教學目標
知識與技能:理解算法的概念及其特征;能夠理論聯(lián)系實際,初步利用算法解決簡單的問題;培養(yǎng)自我探索信息、高效獲取信息、分析評價信息、處理運用信息、表達呈現(xiàn)信息的能力,進一步提高信息素養(yǎng)。
過程與方法:培養(yǎng)發(fā)現(xiàn)舊知識的規(guī)律、方法和解決問題的思路,并把它運用到新知識中去。
情感、態(tài)度與價值觀:通過算法與算法設計在日常生活中的實際應用,啟發(fā)思維,養(yǎng)成主動探究問題、解決問題的思維習慣,從而解決生活中的現(xiàn)實問題。
二、教學重點,難點
重點:理解算法的概念及其特征。
難點:算法設計思想及實踐。
三、教學過程
1、創(chuàng)設情境
師:大家在生活中會碰到許多困難和問題。當遇到問題時,你會怎么辦?
生:解決問題。
師:對。從遇到問題到解決問題,中間要經(jīng)歷哪些步驟?
生:分析問題一找出解決問題的方法一解決問題。
師:很好。比如說,早上誰叫你起床?
生:鬧鐘、別人或生物鐘。
師:這些都是解決“早上起床”這個問題的方法。培根的《論讀書》說:“讀史使人明智?!本妥屛覀儊砜纯垂湃嗽谟龅綄嶋H問題時是怎樣解決的。思考一下,我們能從中受到怎樣的啟發(fā)。
問題一:曹沖稱象(略)
問題二:田忌賽馬(略)
2、得出算法概念
師:通過對上述問題的分析,我們對算法有了一個初步的了解。在解決某些問題時,需要設計出一系列可操作或可計算的步驟,通過實施這些步驟來解決問題,通常把這些方法和步驟稱為解決問題的算法。
師生得出概念:為了解決某一問題而采取的方法和步驟,就稱之為算法。算法設計分兩部分內(nèi)容:一是找方法;二是描述實現(xiàn)方法的步驟。
師:做任何事情都有一定的步驟。例如剛才我們提到的“早上起床”的問題,如果采用的方法是鬧鐘,那么步驟是先調(diào)好時間,再打開開關。等時間到了,鬧鐘就響。又如描述太極拳動作的圖解,就是太極拳的算法。再如一首歌的樂譜,也可以稱之為該歌曲的算法。推而廣之,廚師的菜譜實際上也是一個算法。
3、師生探討
問題三:數(shù)學問題
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀