摘 要:算法是數學及其應用的重要組成部分,是計算科學的重要基礎。如何在課堂上有效開展教學,拓展學生知識層面,達到培養學生解決問題的能力,就要對\"算法\"有一定的認知。
關鍵詞:算法;數學應用;有效教學
中圖分類號:G632 文獻標識碼:A 文章編號:1002—7661(2012)20—199—01
算法是數學及其應用的重要組成部分,是計算科學的重要基礎。隨著現代信息技術飛速發展,算法在科學技術、社會發展中發揮著越來越大的作用,并日益融入社會生活的許多方面。算法思想已經成為現代人應具備的一種數學素養。然而,算法是一個新增的內容,對老師來說是陌生的,自然教起來就不是那沒得心應手,對學生來說理解起來就比較困難。那么,如何在算法這塊進行有效教學,這的確是一個值得我們思考的問題。下面,我談一下自已幾點淺顯的看法。
一、用淺顯易懂的事例讓學生快快樂樂的學算法
首先,用生活中的事情讓學生感知算法。
盡管算法是比較困難的,如果把它和生活中的事聯系在一起,就顯得尤為簡單。你比如說喝茶這件事,需要這要幾個步驟;洗刷水壺、燒水、洗刷茶具、沏茶,問如何安排這幾個步驟。同學們經常在家里就沏過茶,所以他們會毫不猶豫的說出;先洗水壺、接著燒水,燒水的過程當中洗刷茶具,最后沏茶。告訴學生,這就是沏一壺茶的算法并趁熱打鐵,引出算法的概念。使學生從思想上感知算法,原來就這樣簡單,消除學生的畏懼心理。
其次,用一些簡單的測試來誘發他們的興趣。
比如,一個風雨交加的夜晚,某人駕車在一個鄉村公路上駛過時,有三個人正在等公共汽車,一個是患了重病的老太太;一個是就救過他命的醫生;一個是他心儀已久的漂亮女郎,而此人的車只能搭載一人,問怎樣安排這件事讓大家都覺滿意。這實質也是一個算法的問題,它是以一個有趣的測試的形式出現,容易引起學生的興趣,學生的回答可能是多種多樣的,和學生一塊分析那一個是最滿意的。并告訴學生這是一個體現了算法的最優解問題,這樣可以誘發學生的學習興趣,而興趣又是最好的老師。教科書上在這方面做的比較好,象“韓信點兵”問題“分銀元”問題等等。
二、用通俗易懂的比喻來幫助學生輕輕松松的理解算法
由于高中學生目前主要是學基礎知識階段,所以對計算機的編程知之甚少,而算法正是為計算機編程服務的,所以對學生來說有些地方理解起來就比較費勁沒,這時我們可以用通俗易懂的比喻幫助學生加深理解。例如;要設計算法交換兩個變量a,b盡管學過給變量賦直,但是直接讓學生做,做對的沒幾人,所以我們可以把a,b比喻成兩個裝滿水的瓶子,如何交換兩瓶水,同學們會很快想到;找來第三個容器x,將a瓶水倒入x中,然后將b瓶水倒入a瓶,再將x中的水倒入b瓶,就達到交換的目的。如圖
1、
而變量a,b的交換和它是同一道理。賦值語句為
x=a;a=b;b=x
這樣學生就容易理解了。
又如,在研究斐波納契數列時,為了節約空間,我們只設三個變量A,B,C,A=0;B=1;輸出A,B,C=A+B;輸出C。執行到此,已經輸出了數列的前三項,可以釋放掉這三個變量代表的數值,賦予變量新的數值。這就像我們這里的人摘蘋果一樣,由于筐子有限,每次只能用框子裝一部分蘋果運回家,到家后把蘋果放下,把筐清空,然后再去地里裝蘋果往回運。而斐波納契數列中的三個變量就相當三個筐,運一次蘋果就相當計算一次,清空一次就相當再準備去運一次。所以這樣比喻學生就非常容易理解,也就降低了難度。
三、通過全方位的比較,使學生如魚得水的應用算法
在算法的學習中,我們主要學習算法的含義,程序框圖以及基本算法語句。我們可以對程序框圖的三種基本邏輯結構進行橫向比較,并看它們都適合解決那類數學問題。然后對循環結構中的直到型和當型結構進行縱向比較,明確它們的區別與聯系。同樣,對幾種基本語句也可以進行比較,尤其是do loop語句和 for語句的區別。這樣可以對所給的問題準確選擇正確的結構或語句,提高了解題的效率。
四、通過實際操作,使學生鞏固算法
把算法轉換為計算機可執行的程序,應用計算機解決相應問題,從而讓學生體會到雖然算法過程很復雜或計算很復雜,但在計算機上運行,很快就可以獲得解決問題的結果。同時通過電腦的操作讓學生自我去探索,及時驗證自己的算法是否可行,及時獲得成就感,激發其學習興趣。