張秀琦,張曉燕
(1渤海大學(xué) 教育學(xué)院,遼寧 錦州 121000;2河南省實驗中學(xué),河南 鄭州 450002)
Z+Z智能教育平臺在高中數(shù)學(xué)算法教學(xué)中的應(yīng)用
1張秀琦,2張曉燕
(1渤海大學(xué) 教育學(xué)院,遼寧 錦州 121000;2河南省實驗中學(xué),河南 鄭州 450002)
在新課程標(biāo)準(zhǔn)中,算法已被列為高中數(shù)學(xué)的必修內(nèi)容。本文對人教版高一數(shù)學(xué)必修3中算法章節(jié)部分進行了研究,對部分算法的效率進行了深入分析,并在Z+Z智能教育平臺上對改進后的算法進行了驗證。
Z+Z智能教育平臺;高中數(shù)學(xué);算法
在普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)中,算法模塊中要求學(xué)生通過模仿、操作、探索,學(xué)習(xí)設(shè)計程序框圖表達(dá)解決問題的過程;體會算法的基本思想以及算法的重要性和有效性,發(fā)展有條理的思考與表達(dá)的能力,提高邏輯思維能力[1]。
1.判斷質(zhì)數(shù)算法
在1-1-1節(jié)中,教材中設(shè)計了一個算法,用來判斷一個數(shù)是否為質(zhì)數(shù)。根據(jù)質(zhì)數(shù)的定義:只能被1和自身整除的大于1的整數(shù)叫質(zhì)數(shù)(教材第3頁附注),學(xué)生很容易接受書中提供的算法,即設(shè)這個數(shù)為n,用2~n-1這樣的數(shù)依次去除n,如果這些數(shù)都不能把n整除,則n為質(zhì)數(shù);否則n不是質(zhì)數(shù)。
這個算法對于一般的數(shù)據(jù)都可以處理,而且現(xiàn)在計算機的速度非??欤嬎愕臅r間基本上可以忽略;但是在某些特定的問題中,等待我們?nèi)ヲ炞C的數(shù)往往比較大,在這種情況下,此算法的效率就要大打折扣了。以1011107例,若要驗證其是否質(zhì)數(shù),需用2~1011106去試,這樣判斷進行了100多萬次,按此算法編寫程序在QBASIC上從運行到出結(jié)果,明顯感覺有時間延遲。
其實在驗證的過程中,范圍可以縮小,由原來的[2,n-1]改為這個證明很容易:設(shè)p為n的一個因子,即p/n為整數(shù),記為q,如果則一定有p∈[2,也就是說,如果在中不存在n的因子,那么在也不可能有 n的因子;故只需驗證這個范圍即可。
這樣的話,數(shù)1011107是否為質(zhì)數(shù),只需驗證大約1000多次即可,效率大大提高。
2.進制轉(zhuǎn)換算法
在1-3節(jié)的例4中,要求設(shè)計一個算法,把k進制數(shù)a(共有n位)化為十進制數(shù)b。其中算法第三步為:b=b+ai* ki-1,i=i+1。
在循環(huán)進行的n次中,每一次都要求一個ki-1,如果n比較小,這樣做無可厚非,但人們總是忍不住追求高效率,況且對于這個問題,提高效率并不難,只需稍稍改動一下算法,在算法中設(shè)w,用來表示ki-1,顯然,w每處理一位就要增長為w*k,修改后的算法如下:
第一步,輸入a,k和n的值;第二步,將b的值初始化為0,i的值初始化為1,w的值初始化為1,即k0;第三步,b=b+ai*w,i=i+1,w=w*k;第四步,判斷i>n是否成立,若是則執(zhí)行第五步;否則返回第三步;第五步,輸出b的值。
如果想進一步優(yōu)化這個算法,還可以取消i,事實證明本算法中的i是完全可以省略掉的。亦可進一步延伸,讓學(xué)生比較針對同一問題所設(shè)計的不同算法的區(qū)別并體驗它,不但可以加深學(xué)生對算法設(shè)計重要性的認(rèn)識,還可以讓學(xué)生對數(shù)學(xué)知識在算法設(shè)計中的靈活應(yīng)用印象深刻。
由張景中院士主持開發(fā)的“Z+Z 智能教育平臺”適應(yīng)我國數(shù)學(xué)課程改革的特點,充分發(fā)揮了信息技術(shù)條件下教學(xué)的優(yōu)勢,可建立一個讓學(xué)生進行觀察、實驗、猜想、驗證的數(shù)學(xué)學(xué)習(xí)環(huán)境,讓學(xué)生親身經(jīng)歷將實際問題抽象成數(shù)學(xué)模型并進行解釋與應(yīng)用的過程[2]。該軟件可用于平面幾何、代數(shù)、解析幾何、立體幾何、概率統(tǒng)計、算法與編程、函數(shù)等中學(xué)數(shù)學(xué)課程的教學(xué)和學(xué)習(xí)。
學(xué)習(xí)算法,關(guān)鍵在于編寫出讓計算機執(zhí)行的程序??吹接嬎銠C執(zhí)行自己的程序并快速準(zhǔn)確地給出問題的解答,會讓學(xué)生體會到學(xué)習(xí)算法的成就感;另一方面,若執(zhí)行程序未得到自己預(yù)期的答案,則可以對自己的算法和程序進行檢查,通過實踐中的問題學(xué)習(xí)算法可以加深對算法及程序的認(rèn)識和理解[3]。
人教版高一數(shù)學(xué)必修3中提供的算法程序是用BASIC語言編寫的,教師講授時大多在 QBASIC下運行程序,因此會出現(xiàn)上面提到的種種問題。相對于很多計算機高級程序設(shè)計語言來說,利用Z+Z智能教育平臺的程序工作區(qū)執(zhí)行程序具有無須編譯直接執(zhí)行命令并且即時得到運算結(jié)果的優(yōu)點,也無須嵌入頭文件、各種類文件即可進行對應(yīng)的運算,程序執(zhí)行的速度較 QBASIC下快出很多,因此更適合在數(shù)學(xué)課上使用。以下給出改進后的兩個算法在Z+Z智能教育平臺下的程序及運行結(jié)果。其中圖1判斷質(zhì)數(shù)程序執(zhí)行后給出結(jié)果:1011107是質(zhì)數(shù),此改進后的算法在判斷1011107是否為質(zhì)數(shù)時在該平臺下運行較改進前無時間延遲;圖 2進制轉(zhuǎn)換程序執(zhí)行后給出二進制數(shù) 101轉(zhuǎn)換為十進制數(shù)為5。
圖1 Z+Z下的判斷質(zhì)數(shù)程序
圖2 Z+Z下的進制轉(zhuǎn)換程序
本文對人教版高一數(shù)學(xué)必修 3中算法章節(jié)部分進行了研究,對算法的效率進行了深入分析,給出了在Z+Z智能教育平臺上實現(xiàn)算法的程序,希望教師和學(xué)生能利用 Z+Z智能教育平臺豐富的功能提高對數(shù)學(xué)算法的認(rèn)識和理解。
[1] 數(shù)學(xué)課程標(biāo)準(zhǔn)研制組.普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)(實驗稿)[M].北京師范大學(xué)出版社,2000.
[2] 張秀琦,唐吉洪,劉東芝.基于Z+Z智能教育平臺促進中學(xué)生數(shù)學(xué)知識建構(gòu)與理解的研究[J].湖北廣播電視大學(xué)學(xué)報,2010,(1).
[3] 張景中.超級畫板自由行[M].科學(xué)出版社,2006.
G434
A
1008-7427(2010)09-0146-01
2010-07-19
遼寧省教育科學(xué)“十一五”規(guī)劃2009年度一般課題《Z+Z 智能教育平臺在農(nóng)村中學(xué)教學(xué)的應(yīng)用研究》(課題編號JG09CB099)的研究成果。
作者張秀琦系渤海大學(xué)教育學(xué)院講師。