當前位置:學問君>學習教育>畢業論文>

中學新課程算法教學的案例分析

學問君 人氣:2.84W

論文關鍵詞: 算法 案例分析 循環結構
  論文摘要: 在高中數學課程中,算法內容的設計分爲兩部分:一部分主要介紹算法的基礎知識,主要是透過一些具體的案例介紹算法的基本思想,使學生了解:爲了解決一個問題,設計出解決問題的系列步驟,任何人實施這些步驟就可以解決問題,這就是解決問題的一個算法。
  
  一、算法概述
  1.算法的定義及其現代意義
  算法(algorithm)是在有限步驟內求解某一問題所使用的一組定義明確的規則。在數學中,現代意義上的“算法”通常是指可以用計算機來解決的某一類問題的程序或步驟,這些程序或步驟必須是明確的和有效的,而且能夠在有限步之內完成。也就是說,解決一個問題所採取的方法(明確、有效、有限)順序,是算法的核心。
  2.算法在構造性數學中有重要作用
  證明一個方程有解,通常有兩種做法,一種是構造的方法,直接構造出該方程的解;另一種是用反證法,先假定該方程的解不存在,然後推出矛盾。但後一種方法無法知道這個解是什麼。算法給出的是第一種方法的解。由於算法能夠構造出方程的解,所以算法在構造性數學中十分重要。
  3.算法的基本思想
  算法的基本思想是指按照確定的步驟,一步一步去解決某個問題的程序化思想。在數學中,完成每一件工作。例如,計算一個函數值,求解一個方程,證明一個結果,等等,我們都需要有一個清晰的思路,一系列的步驟,一步一步地去完成,這就是算法的思想,即程序化的'思想。
  二、算法的作用
  數學學習的主要作用是形成“算法思維”。算法有着悠久的發展歷史,中國古代數學曾經以算法爲特色,取得了舉世矚目的輝煌成就。算法已經成爲很多學科的基礎。高中數學課程中的算法有以下幾個方面的作用:
  1.算法學習能夠幫助學生清晰思考問題、提高邏輯思維能力
  不論是代數問題,還是幾何問題,算法框圖可以準確、清晰、直觀地展示解決問題的過程;算法程序可以藉助計算機幫助我們具體地解決問題,得到需要的結果。一個算法常常可以解決一類問題。因此,算法,一方面,具有具體化、程序化、機械化的特點,同時又有高度的抽象性、概括性和精確性。將解決具體問題的思路整理成算法的過程是一個條理化,精確化和邏輯化的過程,有助於培養學生的邏輯思維能力。
  案例1:寫一個算法讓計算機來解方程:ax+b=0,其中參數由鍵盤任意輸入,讓計算機輸出結果
  分析:我們能說凡是這樣的方程就讓計算機輸出:“x=-b/a”就可以了嗎?顯然,這是有問題的,因爲當a=0的情形下,這種輸出是錯誤的,也就是說,我們需要分情況討論:
  (1)輸入a,b;
  (2)若a≠0,則輸出x=-b/a;
  如果a=0呢?實際上方程變成了b=0,這樣的方程的解又是什麼呢?看來還要看看參數b,若b=0,則方程爲0=0,若b=5,則方程爲5=0,這兩種情形顯然是不一樣的,前者的解是任意實數,而後者則是無實數解,因此繼續我們的算法:
  (3)若a=0(還要對b進行討論):
  (ⅰ)若b=0,方程的解是全體實數;
  (ⅱ)若b≠0,方程沒有實數解。
  爲什麼對於這樣一個看似簡單的方程還有這麼多門道呢?因爲,作爲一個算法必須是精確的,任何人按照(包括計算機)這個步驟執行都能得到這個問題的求解。
  從以上案例可以看出,書寫一個算法的過程是一個思維的整理過程,是一個精確化、條理化的過程。給出一個算法,實際上是給出了一種實現的方法,就是一種構造性的證明或論證。因此,算法的學習有助於培養學生的邏輯思維能力。
  2.算法學習有助於學生全面的理解運算
  每一個算法都是一個證明——構造型的證明,著名數學家吳文俊提出的“機器證明”就是透過算法實現的,在資訊時代,這種證明將會受到越來越大的重視。“運算”是實施這種證明的手段,只有這樣,計算機才能幫助我們。
  3.算法學習有助於提高學生的資訊素養
  資訊技術正在改變着人們的生活方式、學習方式和工作方式。掌握和使用資訊技術已是現代人必備的素養。在高中數學課程中也開設了資訊技術課程。資訊技術以計算機技術爲核心,而計算機技術的核心則是算法。因此,算法的學習有助於學生理解資訊技術的本質,提高學生的資訊素養。
  三、算法的基本結構
  1.順序結構
  順序結構的算法的操作順序是按照書寫順序執行的。
  案例2:設計一個算法,以確定給定線段AB的4等分點。解決這個問題的算法如下:
  (1)從已知線段的左端點A出發,作一條射線;
  (2)在射線上任取一點C,並作線段CE=EG=GD=AC,那麼線段AD=4AC;
  (3)連接DB;
  (4)過C作DB的平行線,交線段AB於M,這樣點M就是線段AB的4等分點.
  像這樣的算法就是一個順序結構的算法,只要按照書寫順序完成以上4個步驟,就能得到線段AB的4等分點。
  2.分叉(選擇)結構
  選擇結構的算法是根據指定的條件進行判斷,由判斷的結果決定選取執行兩條分枝路徑中的一條。
  案例3:求三個數的最大數的算法就是選擇結構。
  解決這個問題的算法如下:
  (1)輸入變量:x,y,z;
  (2)max:= x;
  (3)比較max和y:如果max  (4)比較max與z:如果max  (5)輸出max.
  在這個算法中,我們根據與變量max比較的不同的結果決定後面的操作。
  3.循環結構
  循環結構的算法要根據條件是否滿足來決定是否繼續執行循環體中的操作。比如,上面求三個數中的最大數,我們進行了兩次比較,假如我們要找出100個數中的最大數,按照上述算法就需要比較99次,算法步驟就是101步。既不便於書寫,也不便於閱讀.解決這個問題就需要利用循環結構了,對於求100個數中的最大數的問題,相應的算法可以用流程圖來表示,像這樣的算法控制結構,我們稱爲循環結構。在循環結構中,函數思想發揮着十分重要的作用。
  參考文獻:
  [1][美]Mark Allen Weiss.數據結構與算法分析———C語言描述.人民郵電出版社,2005.
  [2]嚴蔚敏,吳偉民.數據結構(C語言版).清華大學出版社,2002.
  [3][美]Jan Harrington著.陳博譯.面向對象C++數據結構.科學出版社,2005.
  [4]蹇強,羅宇.數據結構.北京郵電大學出版社,2004.

中學新課程算法教學的案例分析

論文相關查閱:畢業論文範文計算機畢業論文畢業論文格式行政管理論文畢業論文