周星辰
(1.曲阜師范大學(xué)網(wǎng)絡(luò)信息中心,山東 曲阜 273165;2.桂林電子科技大學(xué)廣西密碼學(xué)與信息安全重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
數(shù)學(xué)軟件功能強(qiáng)大,簡(jiǎn)單易學(xué),在教學(xué)和科研中有重要的作用。目前,相關(guān)數(shù)學(xué)軟件方面的研究論文大多為探究它們?cè)诖髮W(xué)數(shù)學(xué)教學(xué)中的輔助作用,而中學(xué)數(shù)學(xué)教學(xué)中涉及到數(shù)學(xué)軟件的論文較少。例如,楊婷婷分析和研究了基礎(chǔ)數(shù)學(xué)軟件應(yīng)用于高中數(shù)學(xué)教學(xué)的優(yōu)勢(shì)[1]。袁子絢以“圖形與幾何”部分為例探討了動(dòng)態(tài)數(shù)學(xué)軟件如何輔助初中數(shù)學(xué)教學(xué)[2]。楊振平分析了MATLAB等數(shù)學(xué)軟件在可視化方面的優(yōu)勢(shì),讓學(xué)生直觀感受并深刻理解抽象的數(shù)學(xué)概念和性質(zhì)[3]。在建構(gòu)主義學(xué)習(xí)理論的支持下,李一甲利用MATLAB軟件的優(yōu)勢(shì)設(shè)計(jì)了高中概率與統(tǒng)計(jì)課程的教學(xué)案例[4]。
目前,主要的數(shù)學(xué)軟件有MATLAB、Mathematica、Maple和Magma。但是這些數(shù)學(xué)軟件都是商業(yè)軟件并且價(jià)格比較昂貴,許多學(xué)校的經(jīng)濟(jì)都承受不起。因此,本文引入一款功能強(qiáng)大且免費(fèi)的數(shù)學(xué)軟件來輔助高中數(shù)學(xué)教學(xué)。SageMath是一個(gè)免費(fèi)且開源的數(shù)學(xué)軟件,可用于代數(shù)、幾何、數(shù)論、密碼學(xué)、數(shù)值計(jì)算以及其他相關(guān)領(lǐng)域的教學(xué)和科研。SageMath的總體目標(biāo)是成為一個(gè)實(shí)用的、高效的、免費(fèi)的、開源的數(shù)學(xué)軟件以代替MATLAB、Mathematica、Maple和Magma。為了方便,SageMath還提供了易于使用的網(wǎng)頁版工作界面SageMathCell 和CoCalc。用戶只需要了解基本的程序語言就可以線上使用SageMath的計(jì)算、編程、繪圖和動(dòng)畫功能。
本文以導(dǎo)數(shù)的概念及其意義的課程內(nèi)容為例,探討如何利用開源數(shù)學(xué)軟件SageMath輔助高中數(shù)學(xué)教學(xué),進(jìn)而提高學(xué)生愛數(shù)學(xué),做數(shù)學(xué)的主觀能動(dòng)性,改善課堂教學(xué)質(zhì)量。
在高中數(shù)學(xué)人教A版選擇性必修二教材中,第五章的內(nèi)容是一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用,該章內(nèi)容挖掘了導(dǎo)數(shù)的本質(zhì),通過物理運(yùn)動(dòng)及幾何切線兩方面展現(xiàn)了數(shù)學(xué)無限趨近的思想。但是,高中學(xué)生的認(rèn)知水平難以理解“無限逼近”的數(shù)學(xué)思想,這是導(dǎo)數(shù)教學(xué)的障礙和難點(diǎn)。另外,高中學(xué)生的邏輯思維能力也難以理解教學(xué)內(nèi)容中涉及的 “以直代曲、數(shù)形結(jié)合”等思想。這些都是導(dǎo)數(shù)教學(xué)中遇到的瓶頸。
為了解決上述教學(xué)難點(diǎn),教師可以利用數(shù)學(xué)軟件強(qiáng)大的編程、計(jì)算、繪圖和動(dòng)畫功能進(jìn)行“數(shù)學(xué)實(shí)驗(yàn)”,引導(dǎo)學(xué)生觀察和分析實(shí)驗(yàn)結(jié)果,從而揭示抽象知識(shí)的形成過程,發(fā)現(xiàn)數(shù)學(xué)問題的規(guī)律和本質(zhì)。例如,課堂上對(duì)高臺(tái)跳水問題進(jìn)行討論時(shí),可以利用數(shù)學(xué)軟件計(jì)算運(yùn)動(dòng)數(shù)據(jù),并用該數(shù)據(jù)展示時(shí)間間隔趨近于0時(shí)平均速度逼近瞬時(shí)速度的數(shù)學(xué)過程。對(duì)導(dǎo)數(shù)的幾何意義進(jìn)行分析探討時(shí),利用數(shù)學(xué)軟件的程序編寫及動(dòng)畫演示功能為學(xué)生直觀演示割線變切線這一數(shù)學(xué)動(dòng)態(tài)過程,讓他們深入掌握“數(shù)形結(jié)合”及“無限逼近”等思想。對(duì)函數(shù)性質(zhì)進(jìn)行深入研究時(shí),利用數(shù)學(xué)軟件的計(jì)算繪圖功能解出駐點(diǎn)并繪制函數(shù)圖象,可以讓函數(shù)圖形化,由抽象變形象,對(duì)于函數(shù)的性質(zhì)也能簡(jiǎn)單直觀地反映出來。對(duì)曲邊梯形的面積如何計(jì)算進(jìn)行分析探討時(shí),利用數(shù)學(xué)軟件的動(dòng)畫功能演示曲邊梯形面積如何計(jì)算這一動(dòng)態(tài)步驟,再通過數(shù)學(xué)軟件的程序功能展示如何計(jì)算曲邊梯形面積近似值這一逼近的全過程。其中采用多種近似代替方法編寫程序計(jì)算出所有小矩形的面積之和并逐步改變等分?jǐn)?shù),讓學(xué)生直觀感受,抽象思維轉(zhuǎn)變?yōu)樾蜗笏季S,更能深入理解這一過程。另外,導(dǎo)數(shù)教學(xué)中運(yùn)算量比較大這一問題也能通過數(shù)學(xué)軟件強(qiáng)大的數(shù)值計(jì)算功能得以解決。例如,計(jì)算平均變化率和定積分等。從而可以避免復(fù)雜的運(yùn)算,節(jié)省課堂時(shí)間,提高教學(xué)效率。總之,利用數(shù)學(xué)軟件輔助“一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用”的教學(xué)可以解決傳統(tǒng)教學(xué)方式不能很好呈現(xiàn)的一些教學(xué)難題。
本節(jié)以教科書中第五章第一節(jié)內(nèi)容“導(dǎo)數(shù)的概念及其意義”為例,簡(jiǎn)單講述如何利用開源數(shù)學(xué)軟件SageMath輔助課程教學(xué)。如下圖所示,首先利用該數(shù)學(xué)軟件的計(jì)算功能演示時(shí)間間隔趨近于0時(shí)平均速度無限逼近瞬時(shí)速度這一動(dòng)態(tài)過程。其次,利用SageMath的動(dòng)畫功能直觀演示動(dòng)態(tài)變化動(dòng)畫:“割線變切線”,讓“無限逼近”的抽象思想轉(zhuǎn)化為形象生動(dòng)的幾何圖形變換。最后,運(yùn)用該軟件的計(jì)算和繪圖功能引出導(dǎo)函數(shù)的概念。
圖1 案例設(shè)計(jì)與分析的總體方案
教師課堂展示一節(jié)運(yùn)動(dòng)員進(jìn)行高空跳水的動(dòng)畫影片。
【教師提問】在高臺(tái)跳水運(yùn)動(dòng)中,運(yùn)動(dòng)員相距跳水水面的高度設(shè)定為h(單位:m),運(yùn)動(dòng)員起跳后的時(shí)間設(shè)定為t(單位:s),二者存在函數(shù)關(guān)系h(t)=-4.9t2+4.8t+11。設(shè)定跳水運(yùn)動(dòng)員在起跳后的某一時(shí)刻為t0,那大家討論下t0這一時(shí)刻運(yùn)動(dòng)員的瞬時(shí)速度是多少?
【學(xué)生回答】跳水運(yùn)動(dòng)員在t0時(shí)刻的瞬時(shí)速度想求解,關(guān)鍵要探求t=t0附近平均速度如何變化。
先求出t0時(shí)刻到t0+Δt的平均速度
【教師提問】當(dāng)t0=2s時(shí),瞬時(shí)速度怎么求呢?
【師生活動(dòng)】教師利用基于SageMath的數(shù)學(xué)軟件平臺(tái)進(jìn)行數(shù)學(xué)實(shí)驗(yàn)操作,向?qū)W生演示數(shù)據(jù)的動(dòng)態(tài)變化情況。從2s到(2+Δt)s這段時(shí)間內(nèi)平均速度為
(1)當(dāng)Δt<0時(shí),取Δt的初始值為-0.1,令Δt→0,編寫SageMath代碼如下:
x=-0.1
for i in range(6) :
f=-4.9*x-14.8
print(‘當(dāng) *t={0:.6f} 時(shí), 平均速度為 {1:.6f}’.format(x, f))
x=x*0.1x
運(yùn)行結(jié)果為:
當(dāng)Δt=-0.100000 時(shí),平均速度為 -14.310000
當(dāng)Δt=-0.010000 時(shí),平均速度為 -14.751000
當(dāng)Δt=-0.001000 時(shí),平均速度為 -14.795100
當(dāng)Δt=-0.000100 時(shí),平均速度為 -14.799510
當(dāng)Δt=-0.000010時(shí),平均速度為 -14.799951
當(dāng)Δt=-0.000001時(shí),平均速度為 -14.799995
(2)當(dāng)Δt>0時(shí),取Δt初始值為0.1,令Δt→0,編寫SageMath代碼如下:
x=0.1
for i in range(6) :
f=-4.9*x-14.8
print(‘當(dāng) *t={0:.6f} 時(shí), 平均速度為 {1:.6f}’.format(x, f))
x=x*0.1
運(yùn)行結(jié)果為:
當(dāng)Δt=0.100000 時(shí),平均速度為 -15.290000
當(dāng)Δt=0.010000 時(shí),平均速度為 -14.849000
當(dāng)Δt=0.001000 時(shí),平均速度為 -14.804900
當(dāng)Δt=0.000100 時(shí),平均速度為 -14.800490
當(dāng)Δt=0.000010時(shí),平均速度為 -14.800049
當(dāng)Δt=0.000001時(shí),平均速度為 -14.800005
通過以上程序數(shù)據(jù)的觀測(cè)可得知,令Δt由正負(fù)兩方向朝0逐漸趨近時(shí),平均速度都逼近常量-14.8。則t=2s的瞬時(shí)速度可由這個(gè)常量來表示,計(jì)算公式展示為:
【設(shè)計(jì)目的】目前大多數(shù)傳統(tǒng)課堂及教材中,高臺(tái)跳水涉及的無限趨近過程沒有進(jìn)行信息技術(shù)的闡述,而是直接給出的計(jì)算結(jié)果。傳統(tǒng)教學(xué)方式難以體現(xiàn)無限趨近過程,學(xué)生難以理解。除此之外,課程內(nèi)容涉及很多重復(fù)的運(yùn)算,如果用計(jì)算器的話,需要花費(fèi)大量時(shí)間。而使用SageMath軟件,只需編寫幾行代碼和一個(gè)循環(huán)語句就能讓學(xué)生直觀感受無限趨近這一思想的形成過程,進(jìn)而培養(yǎng)學(xué)生的學(xué)習(xí)興趣。通過數(shù)學(xué)實(shí)驗(yàn),學(xué)生能夠從實(shí)驗(yàn)數(shù)據(jù)中感知逼近思想,更深刻地理解瞬時(shí)速度的意義。
【教師提問】上面已經(jīng)計(jì)算出t=2s時(shí)的瞬時(shí)速度,那么在任一時(shí)刻t0的瞬時(shí)速度怎么表述呢?
【學(xué)生活動(dòng)】用t0代替2s,通過類比得到某時(shí)刻t0的瞬時(shí)速度的計(jì)算公式:
【教師提問】通過前面問題的歸納分析,是否找出什么規(guī)律或定義呢?
【師生討論】依據(jù)運(yùn)動(dòng)員高臺(tái)跳水這一課堂案例,學(xué)生分組討論、找出規(guī)律、概括定義。
定義:在x=x0處函數(shù)f(x)的瞬時(shí)變化率是
稱為函數(shù)y=f(x)在x=x0處的導(dǎo)數(shù),記作f′(x0)或
【設(shè)計(jì)目的】帶領(lǐng)學(xué)生將具體的數(shù)學(xué)動(dòng)態(tài)案例歸納出導(dǎo)數(shù)的概念,增進(jìn)特殊到一般這一數(shù)學(xué)思想的領(lǐng)悟與體會(huì)。
【教師提問】大家想知道導(dǎo)數(shù)f′(0x)的幾何意義嗎?以f(x)=x2,x0=0.5為例,運(yùn)行如下SageMath代碼可以得到割線變切線過程的動(dòng)畫。
x=SR.var(“x”)
f=plot(x^2, (-0.5,1.8), color=’blue’,legend_label=’$x^2$’)
f +=point( (0.5,0.25), color=’red’,pointsize=20)
f +=text(‘A (0.5,0.25)’, (0.7,0.15), color=’red’)
g=[(f+plot(k*(x-0.5)+0.25, (-0.2,1.5),color=’green’, ymin=-0.5, ymax=2))
for k in [1.8..1.2,step=-0.15]]
g.append(f+plot((x-0.5)+0.25, (-0.2,1.5),color=’red’, ymin=-0.5, ymax=2))
a=animate(g)
a.show(delay=100, iterations=3)
教師課堂展示動(dòng)畫,學(xué)生能清晰地觀察到割線變切線的動(dòng)態(tài)趨近過程。如圖2所示,藍(lán)線曲線為y=f(x)的圖像(教師隨堂更改曲線的函數(shù)式),綠線直線是經(jīng)過動(dòng)點(diǎn)和定點(diǎn)A(0.5, 0.25) 的割線。當(dāng)動(dòng)點(diǎn)緩慢地趨近定點(diǎn)A時(shí),經(jīng)過定點(diǎn)A及動(dòng)點(diǎn)的割線也在緩慢地靠近定點(diǎn)A處的切線(紅色)。
圖2 割線和切線
【教師提問】同學(xué)們認(rèn)真觀察一下割線的斜率有著怎樣的變化?
【學(xué)生議論】隨著動(dòng)點(diǎn)逐漸接近定點(diǎn),割線逐漸與切線重合,從而推出割線斜率Δx逐步逼近切線斜率k。因此,函數(shù)f(x)在x=x0處的導(dǎo)數(shù)的幾何意義就是過這一點(diǎn)的切線的斜率k,即。
【設(shè)計(jì)目的】教師通過數(shù)學(xué)軟件SageMath平臺(tái)展示程序動(dòng)畫,讓數(shù)學(xué)“無限趨近”思想的感知過程能清晰形象生動(dòng)地呈現(xiàn)在課堂上,激發(fā)學(xué)生導(dǎo)數(shù)學(xué)習(xí)的積極性。
教師帶領(lǐng)學(xué)生對(duì)運(yùn)動(dòng)員高臺(tái)跳水問題進(jìn)行幾何角度的分析。根據(jù)函數(shù)h(t)=-4.9t2+4.8t+11,教師利用SageMath平臺(tái)的編程繪圖功能將運(yùn)動(dòng)員高臺(tái)跳水的動(dòng)態(tài)過程繪制出運(yùn)動(dòng)軌跡曲線。則t時(shí)刻曲線上此點(diǎn)的切線斜率就是它在這一時(shí)刻的瞬時(shí)速度。
根據(jù)SageMath平臺(tái)數(shù)學(xué)實(shí)驗(yàn)結(jié)果可知曉,x是一個(gè)具體值時(shí)f′(x) 也是一個(gè)具體確定值。然而,x的數(shù)值發(fā)生變化時(shí)f′(x)的值也相應(yīng)變化。因此f′ (x)是x的函數(shù),稱之為f(x)的導(dǎo)函數(shù),簡(jiǎn)稱為導(dǎo)數(shù),有時(shí)也記作y′。
在數(shù)學(xué)軟件SageMath平臺(tái)的輔助下,本文采用課堂上進(jìn)行數(shù)學(xué)實(shí)驗(yàn)的模式,以問題驅(qū)動(dòng)為前提,讓學(xué)生進(jìn)行程序試驗(yàn)探索、觀察、歸納、總結(jié)。借助SageMath平臺(tái)的編程、計(jì)算、繪圖和動(dòng)畫等強(qiáng)大功能,突破傳統(tǒng)導(dǎo)數(shù)教學(xué)所不能解決的教學(xué)障礙難點(diǎn),將抽象的數(shù)學(xué)思想變成有趣的、形象的、動(dòng)態(tài)的數(shù)學(xué)動(dòng)畫,或讓學(xué)生親手設(shè)計(jì)數(shù)學(xué)實(shí)驗(yàn)、編寫程序,自主探索,發(fā)現(xiàn)數(shù)學(xué)規(guī)律,歸納數(shù)學(xué)思想。以此增強(qiáng)高中學(xué)生數(shù)學(xué)學(xué)習(xí)的抽象思維能力及愛數(shù)學(xué)做數(shù)學(xué)的主觀能動(dòng)性,進(jìn)而提高課堂教學(xué)質(zhì)量。