高中演算法難點
① 高中數學的演算法,程序框圖
其實你把課好好聽、作業認真完成都搞懂就可以了,不要這么緊張。我經驗是最後考試題目非常簡單。要注重培養邏輯思維,模仿計算機按步驟辦事計算。有問題再問我好了。
附上:對高中數學中演算法的幾點認識(網上找的,意義不大)
演算法屬於新教材的新增內容,筆者結合自己的教學體會,談談對演算法的理解和認識,供各位同仁參考:
1、演算法的內容
(1)自然語言(2)程序框圖(3)演算法語句,其中,在每種語言中有各自的結構,如:順序結構、循環結構、條件結構等。
2、演算法在高中課程中的地位:
演算法內容的設計分為兩部分。
一部分主要介紹演算法的基礎知識,可以稱作演算法的「三基」:演算法基本思想,演算法基本結構,演算法基本語句。通過一些具體的案例介紹演算法的基本思想,使學生了解:為了解決一個問題,設計出解決問題的系列步驟,任何人實施這些步驟就可以解決問題,這就是解決問題的一個演算法。這是對演算法的一種廣義的理解。對演算法的理解,更多地是與計算機聯系在一起,計算機可以完成這些步驟。
演算法的基本結構一般有三種:順序結構,分叉結構,循環結構。前兩種結構很容易理解,循環結構稍微有點難,這里用到函數思想,難在理解反映循環過程的循環變數。在教學過程中,一定要通過具體的案例,結合具體的情境引入概念,會使問題變得很簡單。
介紹演算法語句的時候,要區分演算法語言和基本的演算法語句。我們知道,現在使用的演算法語言是很多的,例如,basic 語言,q-basic 語言,c-語言,等等。在高中的數學課程中,不要求介紹演算法語言,僅僅需要了解基本語句,例如,輸入語句,輸出語句,賦值語句,條件語句,循環語句,等等。在不同的語言中,這些語句的表示可能不一樣,數學課程要求採用公認的統一表示,稱為偽代碼。很容易把偽代碼翻譯成任何一種演算法語言。
描述演算法有三種語言:自然語言、框圖語言、基本演算法語句。
演算法的另一部分設計,是把演算法的思想融入相關數學內容中。實際上,演算法思想是貫穿在高中數學課程始終的基本思想。例如,二分法求方程的解;點到直線的距離、點到平面的距離、直線到直線距離;立體幾何性質定理的證明過程;一元二次不等式;線性規劃;等等內容中,都運用了演算法思想。
用演算法思想學習和認識數學對於提高數學素養是很有用的,希望老師予以重視。
3、理解賦值語句:
賦值是演算法中的難點之一,理解賦值對於理解演算法是非常重要的。
賦值就是把數值賦予給定的變數。例如,a:=5,就表示變數a被賦予的值是5,即a=5,這個被賦值的變數可以與其他的值進行運算。對於被賦值的變數a,還可以賦予其它的值取代原來的值。我們可以用磁帶錄音來比喻賦值,在我們錄音時,是把磁帶上舊的錄音材料沖掉之後,才能把新的錄音材料載入上去。同樣的道理,我們這里的賦值也是先把原來的值清零之後,再把新的值賦上去。下面我們通過一個例子來說明如何設置變數和給變數賦值。
例:設計一個演算法,從4個不同的數中找出最大數。
解:記這5個不同的數分別為a1,a2,a3,a4,a5,演算法步驟如下:
1、比較a1與a2將較大的數記作b.
(在這一步中,b表示的是前2個數中的最大數)
2、再將b與a3進行比較,將較大的數記作b.
(執行完這一步後,b的值就是前3個數中的最大數)
3、再將b與a4進行比較,將較大的數記作b.
(執行完這一步後,b的值就是前4個數中的最大數)
4、輸出b,b的值即為所求得最大數。
分析:上述演算法的4個步驟中,每步都要與上一步中得到的最大數b進行比較,得出新的最大數。b可以取不同的值,b就稱之為變數。在第1步到第3步的演算法過程中,我們都把比較後的較大數記作b,即把值賦予了b,這個過程就是賦值的過程,這個過程有兩個功能,第一,我們可以不斷地對b的值進行改變,即把數值放入b中;第二,b的值每變化一次都是為下一步的比較服務。
4、函數在循環結構中的作用:
(1)循環結構是演算法的一種基本結構。
例如,設計演算法,輸出1000以內能被3和5整除的所有正整數。解決這個問題,我們首先要引入變數a表示待輸出的數,則a=15n (n=1,2,3,…,66).n從n從1變到66,反復輸出a,就能輸出1000以內的所有能被3和5整除的正整數。像這樣的演算法結構稱為循環結構,其中反復執行的部分稱為循環體。變數n控制著循環的開始和結束,稱為循環變數。
(2)循環結構是理解演算法的另一個難點,難點在於對於循環變數的理解。
循環結構中的循環變數分為兩種形式,一種是控制循環次數的變數,例如,輸出1000以內能被3和5整除的所有正整數這個循環結構中,n就是控制循環次數的循環變數。另一種是控制結果精確度的變數,例如用二分法演算法求方程f(x)=0在區間[0,1]上的一個近似解的流程圖,要求精確度為。在這個演算法過程中,精確度就是控制結果精確度的循環變數。
循環變數使得循環體得以「循環」,循環變數控制了循環的「開始」和「結束」,是刻畫循環結構的關鍵。
以上幾點是對演算法的粗淺認識,不當之處,請批評指正!