人教版高二數學上冊演算法與程式框圖教學計劃

人教版高二數學上冊演算法與程式框圖教學計劃

  教學目標:

  1、知識與技能

  (1)瞭解演算法的含義,體會演算法的思想;

  (2)能夠用自然語言敘述演算法;

  (3)掌握正確的演算法應滿足的要求;

  (4)會寫出解線性方程(組)的演算法;

  (5)會寫出一個求有限整數序列中的最大值的演算法.

  2、過程與方法

  (1)透過求解二元一次方程組,體會解方程的一般性步驟,從而得到一個解二元一次方程組的步驟,這些步驟就是演算法,不同的問題有不同的演算法;

  (2)同一個問題也可能有多個演算法,能模仿求解二元一次方程組的步驟,寫出一個求有限整數序列中的最大值的演算法.

  3、情感與價值觀

  透過本節的學習,對計算機的演算法語言有一個基本的瞭解;明確演算法的要求,認識到計算機是人類征服自然的一個有力工具,進一步提高探索、認識世界的能力.

  教學重點、難點:

  重點:演算法的含義,解二元一次方程組、判斷一個數為質數和利用“二分法”求方程近似解的演算法設計.

  難點:把自然語言轉化為演算法語言.

  教學過程:

  (一)創設情景、匯入課題

  問題1:把大象放入冰箱分幾步?

  第一步:把冰箱門開啟;

  第二步:把大象放進冰箱;

  第三步:把冰箱門關上.

  問題2:指出在家中燒開水的過程分幾步?(略)

  問題3:如何求一元二次方程 的解?

  第一步:計算 ;

  第二步:如果 , ;

  如果 ,方程無解

  第三步:下結論.輸出方程的根或無解的資訊.

  注意:在以上三個問題的求解過程中,老師要緊扣演算法定義,帶領學生總結,反覆強調,使學生體會以下幾點:

  ①有窮性:步驟是有限的,它應在有限步操作之後停止,而不能是無限地執行下去。

  ②確定性:每一步應該是確定的並且能有效地執行且得到確定的結果,而不應當是模稜兩可的。

  ③邏輯性:從初始步驟開始,分為若干個明確的步驟,前一步是後一步的前提,只有執行完前一步才能進行下一步,並且每一步都準確無誤,才能完成問題。

  ④不唯一性:求解某一個問題的演算法不一定只有唯一的一個,可以有不同的演算法。

  ⑤普遍性:很多具體的問題,都可以設計合理的演算法去解決。

  注:其他還有輸入性、輸出性等特徵,結論不固定.

  提問:演算法是如何定義?

  (二)師生互動、講解新課

  x-2y=-1 ①

  回顧(課本P2內容): 寫出解二元一次方程組 2x+y=1 ② 的演算法.

  解:第一步,②×2+①,得5x=1;③

  第二步,解③,得x= ;

  第三步,②-①×2得5y=3;④

  第四步,解④ ,得y= ;

  第五步,得到方程組的解為 x= ;y= 。

  思考1:你能寫出求解一般的二元一次方程組的步驟嗎?

  上題的演算法是由加減消元法求解的,這個演算法也適合一般的二元一次方程組的解法.

  對於一般的二元一次方程組 可以寫出類似的求解步驟:

  第一步,①×b2-②×b1,得 ;③

  第二步,解③,得 .

  第三步,②×a1-①×a2,得 ;④

  第四步,解④,得 ;

  第五步,得到方程組的解為

  (高斯消去法)

  思考2:根據上述分析,用加減消元法解二元一次方程組,可以分為五個步驟進行,這五個步驟就構成了解二元一次方程組的一個“演算法”.我們再根據這一演算法編制計算機程式,就可以讓計算機來解二元一次方程組.那麼解二元一次方程組的演算法包括哪些內容?

  思考3:一般地,演算法是由按照一定規則解決某一類問題的基本步驟組成的.

  你認為:

  (1)這些步驟的個數是有限的還是無限的?

  (2)每個步驟是否有明確的計算任務?

  總結:在數學中,按照一定規則解決某一類問題的明確和有限的步驟稱為演算法.

  演算法(algorithm)一詞出現於12世紀,源於算術(algorism),即算術方法.指的是用阿拉伯數字進行算術運算的過程.在數學中,演算法通常是指按照一定的規則解決某一類問題的明確的和有限的步驟.現在,演算法通常可以編成計算機程式,讓計算機執行並解決問題.後來,人們把它推廣到一般,把進行某一工作的方法和步驟稱為演算法.

  廣義地說,演算法就是做某一件事的步驟或程式.菜譜是做菜餚的演算法,洗衣機的使用說明書是操作洗衣機的演算法,歌譜是一首歌曲的演算法.在數學中,主要研究計算機能實現的演算法,即按照某種機械程式步驟一定可以得到結果的解決問題的程式.比如解方程的演算法、函式求值的.演算法、作圖的演算法,等等.

  (三)例題剖析,鞏固提高

  例1(課本P3例1):如果讓計算機判斷7是否為質數,如何設計算法步驟?

  演算法:

  第一步,用2除7,得到餘數1,所以2不能整除7.

  第二步,用3除7,得到餘數1,所以3不能整除7.

  第三步,用4除7,得到餘數3,所以4不能整除7.

  第四步,用5除7,得到餘數2,所以5不能整除7.

  第五步,用6除7,得到餘數1,所以6不能整除7.

  因此,7是質數.

  課堂練習1:

  整數89是否為質數?如果讓計算機判斷89是否為質數,按照上述演算法需要設計多少個步驟?

  思考4:用2~88逐一去除89求餘數,需要87個步驟,這些步驟基本是重複操作,我們可以按下面的思路改進這個演算法,減少演算法的步驟.

  (1)用i表示2~88中的任意一個整數,並從2開始取數;

  (2)用i除89,得到餘數r. 若r=0,則89不是質數;若r≠0,將i用i+1替代,再執行同樣的操作;

  (3)這個操作一直進行到i取88為止.

  你能按照這個思路,設計一個“判斷89是否為質數”的演算法步驟嗎?

  演算法設計:

  第一步,令i=2;

  第二步,用i除89,得到餘數r;

  第三步,若r=0,則89不是質數,結束演算法;若r≠0,將i用i+1替代;

  第四步,判斷“i>88”是否成立?若是,則89是質數,結束演算法;否則,返回第二步.

  探究:一般地,判斷一個大於2的整數是否為質數的演算法步驟如何設計?

  在中央電視臺幸運52節目中,有一個猜商品價格的環節,竟猜者如在規定的時間內大體猜出某種商品的價格,就可獲得該件商品.現有一商品,價格在0~8000元之間,採取怎樣的策略才能在較短的時間內說出比較接近的答案呢?

  例2、一群小兔一群雞,兩群合到一群裡,要數腿共48,要數腦袋整17,多少隻小兔多少隻雞?

  演算法1:S1 首先計算沒有小兔時,小雞的數為:17只,腿的總數為34條。

  S2 再確定每多一隻小兔、減少一隻小雞增加的腿數2條。

  S3 再根據缺的腿的條數確定小兔的數量: (48-34)/2=7只

  S4 最後確定小雞的數量:17-7=10只.

  演算法2:S1 首先設 只小雞, 只小兔。

  S2 再列方程組為:

  S3 解方程組得:

  S4 指出小雞10只,小兔7只。

  演算法3:S1 首先設 只小雞,則有 只小兔

  S2 列方程

  S3 解方程得 ,則

  S4 指出小雞10只,小兔7只.

  演算法4:S1 “請一名馴獸師”所有小雞抬一條腿,所有小兔抬兩條腿

  S2 有小兔 只

  S3 有小雞 只

  S4 指出小雞10只,小兔7只.

  演算法5:S1 有小兔 只

  S2 有小雞 只

  二分法:

  對於區間[a,b ]上連續不斷,且f(a)f(b)<0的函式y=f(x),透過不斷地把函式f(x)的零點所在的區間一分為二,使區間的兩個端點逐步逼近零點,而得到零點近似值的方法叫做二分法.

  例3(課本P4例2):寫出用“二分法”求方程 的近似解的演算法.

  演算法分析:

  令f(x)= ,則方程 的解就是函式f(x)的零點.

  第一步,令f(x)= ,給定精確度d.

  第二步,確定區間[a,b],滿足f(a)·f(b)<0.

  第三步,取區間中點 .

  第四步,若f(a)·f(m)<0,則含零點的區間為[a,m],否則,含零點的區間為[m,b].

  將新得到的含零點的區間仍記為[a,b];

  第五步,判斷[a,b]的長度是否小於d或f(m)是否等於0.若是,則m是方程的近似解;否則,返回第三步.

  (四)課堂小結,鞏固反思

  1、演算法的主要特點:

  (1)有限性:一個演算法在執行有限步後必須結束;

  (2)確切性:演算法的每一個步驟和次序必須是確定的;

  (3)輸入:一個演算法有0個或多個輸入,以刻劃運算物件的初始條件.所謂0個輸入是指演算法本身定出了初始條件.

  (4)輸出:一個演算法有1個或多個輸出,以反映對輸入資料加工後的結果.沒有輸出的演算法是毫無意義的.

  2、計算機解決任何問題都要依賴演算法,演算法是建立在解法基礎上的操作過程,演算法不一定要有運算結果.設計一個解決某類問題的演算法的核心內容是將解決問題的過程分解為若干個明確的步驟,即演算法,它沒有一個固定的模式,但有以下幾個基本要求:

  (1)符合運算規則,計算機能操作;

  (2)每個步驟都有一個明確的計算任務;

  (3)對重複操作步驟作返回處理;

  (4)步驟個數儘可能少;

  (5)每個步驟的語言描述要準確、簡明.

最近訪問