算法是數(shù)學及其應(yīng)用的重要組成部分,是計算科學的重要基礎(chǔ),是連接解決的問題方法和計算機能夠理解的程序語言之間的橋梁,是現(xiàn)代人必須具備的數(shù)學素養(yǎng)與信息技術(shù)素養(yǎng)。為此,高中數(shù)學必修中加入了《算法初步》,同時高中信息技術(shù)加入了《算法與程序設(shè)計》(選修1)。雖然兩門課程側(cè)重點各有不同,但算法思想貫穿整個高中數(shù)學內(nèi)容之中,而算法的實現(xiàn)必須和信息技術(shù)發(fā)生聯(lián)系,它的實現(xiàn)必須依賴某種程序設(shè)計,那么在《算法初步》的學習過程當中,就必須適當、合理地運用相關(guān)的程序設(shè)計去實現(xiàn)算法,把學生的主動性、積極性充分調(diào)動起來,使學生的思維與能力在信息技術(shù)與數(shù)學課程整合過程中得到有效的鍛煉。
一、設(shè)置VB程序情景,激發(fā)學生學習興趣
案例一:解二元一次方程組
該案例是《算法初步》第一節(jié)中為引入算法概念而設(shè)計的第一個例題,無論教師按照課本以“加減消元法”解一元二次方程,還是激發(fā)學生使用“代入消元法”求解方程,這都是一個枯燥乏味的問題,很難激發(fā)學生學習算法的熱情。但是如果把該問題轉(zhuǎn)化為程序,以情景的方式呈現(xiàn)出來,讓學生真切地體會算法在實際生活中的應(yīng)用,并產(chǎn)生解決該問題的需要,從而消除課堂的枯燥,激發(fā)學生解決問題的自主探索的欲望。
二、搭建探索平臺,促進學生主動學習
案例二:編寫程序,使任意輸入的3個整數(shù)按從大到小的順序輸出
在算法初步的教學中,一般都要從具體問題出發(fā),去分析算法中的算理、步驟,然后抽象出一般意義上的算法。對于這個實例,主要有兩個難點:一個是兩個數(shù)據(jù)的交換;另一個是數(shù)據(jù)條件的判斷。在這里要用到條件結(jié)構(gòu),對于條件結(jié)構(gòu)總體難度不大,學生也容易設(shè)計出算法,然而對學生學習實際情況分析,無論學生用自然語言、程序框圖或是偽代碼描述算法,都很難發(fā)現(xiàn)算法設(shè)計中存在的錯誤。因此,必須給學生提供上機驗證的機會,可以幫助他們檢驗自己算法設(shè)計的正確與否,進而增強學生學習算法的興趣和積極性。
三、深化教材,延伸知識
案例三:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預計以后每年的年生產(chǎn)總值比上一年增長5%。設(shè)計一個程序框圖,輸出預計年生產(chǎn)總值超過300萬元的最早年份。(教材15頁)
分析——設(shè)2005年以后第N年生產(chǎn)總值Y,則Y=200(1+5%)n,n∈N
數(shù)學課的算法教學更應(yīng)該注重算法對問題的抽象過程和算法的構(gòu)建過程,這個過程中要使學生著重理解算法的“算理”,同時體會算法的特點。
循環(huán)結(jié)構(gòu)的學習是重點也是難點,也是本章學生最難理解的知識內(nèi)容,主要是循環(huán)語句里面的循環(huán)變量和循環(huán)控制條件。在循環(huán)結(jié)構(gòu)中一個關(guān)鍵的地方是設(shè)計累加器,在表示時利用計算機特有的替換方式,n=n+1;學生理解起來還是很有難度的,但是在VB程序中加入若干語句,就可以清楚地顯示整個程序的循環(huán)過程,從而可以更好地理解循環(huán)結(jié)構(gòu)如何預算累加問題。這個實例中只是在循環(huán)體內(nèi)加入了一個輸出語句“PRINT 2005 + n, y”,就可讓計算機輸出每次循環(huán)后數(shù)據(jù)的變化,即n和y的值變化,使學生理解循環(huán)結(jié)構(gòu)如何利用判斷條件結(jié)束循環(huán)的。這一點要給學生講明白,從而使學生理解循環(huán)結(jié)構(gòu)是如何利用判斷條件結(jié)束循環(huán)的。
也可以讓學生在教師執(zhí)行程序設(shè)計的引導下,寫出算法,畫出程序框圖,這樣環(huán)環(huán)相扣地反復練習,學生不但得到了更好的鍛煉,而且學習效果更佳。同時,還讓學生認識到自己寫出的算法通過計算機的操作,可以更快捷、準確地解決繁雜的問題。
算法初步教學的主要目的,是使學生體會算法的思想,提高邏輯思維能力,在教學中側(cè)重算法思想的培養(yǎng)和算法模型的樹立,即重“算理”,通過具體實例來說明由數(shù)學算法到計算機使用算法的過渡過程,從而說明算法的必要性,理解算法各個基本內(nèi)容(結(jié)構(gòu)、框圖、語言等)的作用。重點是算法思想的滲透,算法思維模式的建構(gòu),經(jīng)歷運用自然語言、算法框圖和基本算法語句解決具體問題的過程,注重算法和其他知識的聯(lián)系與整合,而不能簡單地處理成算法語言課或程序設(shè)計課。
作者簡介:王慶良(1975-),男,甘肅酒泉人,甘肅省酒泉師范學校(酒泉市實驗中學),講師。研究方向:中學信息技術(shù)
教學與教育技術(shù)。