丁發(fā)紅
(慶陽職業(yè)技術(shù)學(xué)院 甘肅慶陽 745000)
“任務(wù)驅(qū)動法”是指在教學(xué)過程中,教師不直接講解教學(xué)內(nèi)容,而是把教學(xué)內(nèi)容分解到精心設(shè)計的各項“任務(wù)”中,學(xué)生在教師的幫助下,在任務(wù)的強烈驅(qū)動下,先進行自主探索學(xué)習,結(jié)合教材內(nèi)容和教師提供的學(xué)習資料,找出解決問題的方法,最后通過完成“任務(wù)”來達到掌握教學(xué)內(nèi)容的目標,“任務(wù)驅(qū)動”教學(xué)方法符合信息技術(shù)的層次性、應(yīng)用性、實踐性和創(chuàng)新性的特點,近年來各高職學(xué)院信息化教學(xué)設(shè)備充足,所以信息技術(shù)課程教學(xué)效果較好,但是“C 語言程序設(shè)計”是理論性很強的一門課程,相對于其他課程來說要求學(xué)生掌握的基礎(chǔ)知識尤其是數(shù)學(xué)基礎(chǔ)知識較多,所謂的任務(wù)就是完成程序設(shè)計,如何引導(dǎo)學(xué)生由簡到繁、由易到難、循序漸進地完成編寫程序的任務(wù)。下面我們以求水仙花數(shù)為例來說明任務(wù)驅(qū)動法在項目教學(xué)中的應(yīng)用。
例題:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身,例如,153是一個水仙花數(shù),因為153=13+53+33
要在“C 語言程序設(shè)計”課程教學(xué)中實施任務(wù)驅(qū)動法,一定要了解學(xué)生現(xiàn)有的知識基礎(chǔ),明確學(xué)生掌握本節(jié)課程需要的基礎(chǔ)算法,比如上題中學(xué)生一定要了解水仙花數(shù)肯定是一個三位數(shù),數(shù)值范圍在100~1 000 之間,而且該數(shù)的特點是各位數(shù)字的立方和等于它本身,高職學(xué)生現(xiàn)有的知識基礎(chǔ)是完全能夠理解的。授課時可以適當舉個已知的“水仙花數(shù)”的例子,讓學(xué)生充分了解題意,明確“水仙花數(shù)”的含義。
在了解程序設(shè)計目的和學(xué)生現(xiàn)有基礎(chǔ)知識的前提條件下,引導(dǎo)學(xué)生突破難點,比如以上程序設(shè)計中,程序的難點就在于如何將一個三位數(shù)中的各位數(shù)字從原三位數(shù)中分離出來,分離過程中要用到已經(jīng)學(xué)過的求余(%)、求整(/)函數(shù),授課過程中要引導(dǎo)學(xué)生重溫這兩個函數(shù)的功能,比如將153 中的各位數(shù)分離出來,個位數(shù):153%10=3,十位數(shù):153%100/10=5, 百位數(shù):153/100=1。
對于一個三位數(shù)來說:個位數(shù)=三位數(shù)%10;十位數(shù)=三位數(shù)%100/10;百位數(shù)=三位數(shù)/100,為了讓學(xué)生掌握程序設(shè)計的重點、難點,可以在此列舉幾個三位數(shù),并且要求學(xué)生將個位、十位和百位數(shù)分離出來,達到理解難點、鞏固重點的目的。
在理解題意,掌握算法重、難點的基礎(chǔ)上,如何將算法用計算機語言體現(xiàn)出來,這就要求程序設(shè)計者巧妙利用數(shù)據(jù)結(jié)構(gòu),比如該題我們可以運用“窮舉法”,將100~1 000 范圍的所有三位數(shù)利用以上方法一個一個將個位、十位和百位分離,然后測試該三位數(shù)是否等于個位、十位和百位數(shù)的立方和,如果相等,則打印該三位數(shù),否則不打印。要實現(xiàn)以上算法,必須使用循環(huán)結(jié)構(gòu)程序來實現(xiàn)從100~1 000 之間數(shù)據(jù)的一一測試,循環(huán)結(jié)構(gòu)內(nèi)部再使用選擇結(jié)構(gòu)程序設(shè)計來實現(xiàn)該數(shù)是否為“水仙花數(shù)”的判斷。
在理解以上算法、數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,引導(dǎo)學(xué)生編寫程序如下:以153 和154 為例,運行程序,分別拆分出個位數(shù)hun,十位數(shù)ten 和百位數(shù)ind,然后用if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind)條件判斷是否成立,引導(dǎo)學(xué)生檢查程序。
程序調(diào)試是將編寫的程序錄入環(huán)境運行測試,修正語法錯誤和邏輯錯誤的過程,這是保證所設(shè)計程序正確性的必不可少的步驟。測試過程中可根據(jù)測試時所發(fā)生的錯誤進一步診斷,找出原因和具體的位置進行修正。
“C 語言程序設(shè)計”課程教學(xué)中,因為每節(jié)課都是以完成某一個具體的程序設(shè)計為目的的,所以我們用任務(wù)驅(qū)動法開展教學(xué)清晰的思路、效果明顯,在完成任務(wù)的過程中,可培養(yǎng)學(xué)生分析問題、解決問題的能力。在調(diào)試程序的過程中,學(xué)生還會不斷地獲得成就感,從而激發(fā)他們的求知欲望,逐步形成一個感知心智活動的良性循環(huán),培養(yǎng)他們獨立探索、勇于開拓進取的自學(xué)能力。為更好地適應(yīng)今后的工作崗位可以根據(jù)需求自學(xué)其他計算機語言打下良好的基礎(chǔ)。