呂方方
摘 要:當算法作為重要內容被列入數(shù)學課程時,曾引起強烈的反響,有的教師認為這些內容缺乏“數(shù)學味”,屬于信息技術的內容,而有些教師認為很有必要,針對“算法初步”的復習有以下幾點建議:重難點再學習,提升知識理解力;構建知識網(wǎng)絡,形成知識系統(tǒng);抓住知識的本質,注重問題的變式;注重知識的綜合應用。
關鍵詞:算法初步;復習;建議
“算法初步”是新課改之后新加入高中數(shù)學的課程內容,觀察發(fā)現(xiàn),很多一線教師對于這部分內容的教學有畏懼心理,不知道對于這部分內容該如何去組織教學,而對于該部分的復習更是沒有頭緒,因此筆者結合自己在教學中的經驗,對“算法初步”的復習提出以下幾點建議,希望能夠得到認可。
一、重難點再學習,提升知識理解力
本章的重點是體會算法的思想,理解算法的含義,能用自然語言、程序框圖、程序語句正確地表示解決問題的算法,其中“體會算法的思想,理解算法的含義”是本章的重中之重,學生往往是學習完了本章內容卻仍然不理解算法的含義與思想;難點是準確理解算法的思想與含義,并且能夠正確分析解決問題的方法,恰當運用三種基本的邏輯結構畫出程序框圖,準確利用五種基本的算法語句設計出可執(zhí)行的算法程序語句,進而順利地解決問題。那么,對于該部分的重難點,教師要幫助學生進行重難點的再學習,以便學生在原有的認識結構上建構更深層次的認識結構,提升對算法知識的理解力。
二、構建知識網(wǎng)絡,形成知識系統(tǒng)
構建知識網(wǎng)絡有助于幫助學生形成一個系統(tǒng)的知識結構,使抽象的知識具體化、形象化,并且有助于幫助學生理清知識之間的從屬關系以及聯(lián)系,使松散的知識系統(tǒng)化、整體化。
對于該部分的知識結構,筆者將其歸納如下:
本知識網(wǎng)絡尚不夠詳細,在實際的教學中,教師要指導學生自行繪制本章的更為詳盡的知識網(wǎng)絡結構,培養(yǎng)學生的歸納能力。在構建知識網(wǎng)絡的同時,教師亦要幫助學生發(fā)現(xiàn)和查找本章所學知識的遺漏點,進行查漏補缺。
三、抓住知識的本質,注重問題的變式
在數(shù)學教學中,學習形式化的表達是一項基本要求,但是不能只限于形式化的表達,要強調對數(shù)學本質的認識。對于算法初步的教學,教師亦要專注算法初步中知識的本質,這有助于學生更有效地理解算法知識的內涵與本質,避免了知識學習的低效率和理解知識的表面化與片面化。例如對于循環(huán)結構的教學,教師應努力揭示循環(huán)結構的本質即循環(huán)條件和循環(huán)體,而不應該將教學的重點放在區(qū)分“當型循環(huán)”和“直到型循環(huán)”上。而對于循環(huán)結構的復習更是如此,教師應以經典案例為研究對象,努力揭示循環(huán)結構的本質。下面以案例說明:
例1.設計一個計算1+2+3+…+100的算法,并畫出程序框圖。
案例分析:
該例題是一個典型的算法案例,可以說是麻雀雖小,五臟俱全,涵蓋了有關算法的所有基本結構,學生若弄清楚了該例題,那么對于算法的學習必將取得很大的進步。本案例注重考慮其中的循環(huán)結構,抓住其本質,即循環(huán)條件(i≤100?)與循環(huán)體(S=S+i,i=i+1),而對于其他有關循環(huán)結構問題的解決辦法,大的框架不必變化,只需修改循環(huán)體與循環(huán)條件即可,例如:
(1)修改循環(huán)體
例2.設計一個計算12+22+32+…+1002的算法,并畫出程序框圖。
分析:對于該題的解法,只需修改例1中的循環(huán)體即可(其他部分不做變化),即將S=S+i修改為S=S+i*i,便可得到該題的算法,程序框圖和程序代碼做相應的修改即可。
例3 .設計一個計算1×2×3…×100的算法,畫出程序框圖,寫
出程序。
分析:只需修改例1中的循環(huán)體與S的初值即可(其他部分不做變化),即將S=S+i修改為S=S*i,S的初值改為1,便可得到該題的算法,程序框圖和程序代碼做相應的修改即可。
例4.設計一個計算2+■+■+…+■的算法,畫出程序框圖,寫出程序。
分析:只需修改例1中的循環(huán)體即可(其他部分不做變化),即將S=S+i修改為S=S+(i+1)/i,便可得到該題的算法,程序框圖和程序代碼做相應的修改即可。
(2)修改循環(huán)條件
例5.設計一個計算1+2+3+…+n的算法,畫出程序框圖,寫出
程序。
分析:本例題是例1問題的一般化,解決的是一類問題,而例1是該題的具體化,解決的是單個具體問題。該例題亦可從例1的算法修改得到,只需在算法開始時加入一個步驟“請輸入n的值”,然后將循環(huán)條件i≤100?修改為i≤n?,便可得到該問題的算法,程序框圖和程序代碼做相應的修改即可。
例6.設計一個計算n!的算法,畫出程序框圖,寫出程序。
分析:本例題是例3的一般化問題,亦可從例3的算法修改得到,只需在算法開始時加入一個步驟“請輸入n的值”,然后將循環(huán)條件i≤100?修改為i≤n?,便可得到該問題的算法,程序框圖和程序代碼做相應的修改即可。
(3)同時修改變量初始值、循環(huán)體和循環(huán)條件以及輸入輸出變量
例7.試畫出秦九韶算法的程序框圖,寫出相應程序。
分析:表面上看該問題似乎與例1的關系不大,但實際上,秦九韶算法的程序框圖亦可由例1的程序框圖修改得到。我們可以和例1進行比較分析,通過比較分析可知,秦九韶算法的程序框圖亦可由例1的程序框圖修改得到。依然是大的框架幾乎沒有變化,只是修改了框架里面的文字內容。在此不做細述。
由此可知,對于循環(huán)結構的教學,教師要以經典案例為研究對象,努力揭示循環(huán)結構的本質,發(fā)現(xiàn)和挖掘問題的變式,從而幫助學生充分認識知識的內涵,這樣更有利于學生的學習。
四、注重知識的綜合應用
本章的知識是一個非常系統(tǒng)化的知識系統(tǒng),闡述了解決問題的一般方法,即依據(jù)問題找出解決問題的方法(自然語言描述的算法),然后形成程序框圖,再將程序框圖翻譯成計算機程序語言,最后在計算機上調試執(zhí)行,最后得到問題解決的結果。其結構如圖所示:
教師可以嘗試組織綜合實踐活動,在現(xiàn)實生活中找到一些簡單的問題,讓學生按步驟進行算法與程序設計,并且上機實踐,得到問題的結果。這樣不僅可以在實際情境中幫助學生建構自己的知識結構,而且有助于增強學生的自我效能感、提高學生對數(shù)學的學習興趣,并且形成良好的生活價值觀。
(作者單位 山西省運城市垣曲縣中條中學)