姚馨哲
【摘要】算法是計算機科學的核心內容,也是高中數學必學和高考必考內容,而對算法考查經常會與其他數學知識聯系起來考查.本文對算法模塊和其他數學模塊整合進行探討.
【關鍵詞】算法;高中數學;整合
對于計算機科學來說,算法是至關重要的內容.算法是高中數學必學和必考的知識模塊.在高中數學中,算法通常是指按照一定規(guī)則解決某類問題的明確和有限的步驟.[1]在設計算法時,要保證算法正確、盡量簡單,步驟盡量少,且計算機能夠執(zhí)行.表示一個算法常用的方法有:自然語言、程序框圖(傳統(tǒng)流程圖)、N-S流程圖和偽代碼等.程序框圖表示的算法具有靈活、自由、形象、直觀的優(yōu)點.下面用程序框圖表示的算法來探討算法和其他高中知識的整合.
一、算法與方程、解析幾何、導數
求方程在某區(qū)間的近似根可以采用二分法,求方程在某實數附近近似根可以用牛頓迭代法.牛頓迭代法思想是:先任意設定一個與真實的根x*接近的值x0作為近似根,由x0求出f(x0),過點(x0,f(x0))作f(x)的切線交x軸于x1,把它作為第二次近似根,再由x1求出f(x1),過點(x1,f(x1))作f(x)的切線交x軸于x2,再由x2求出f(x2),再作切線……如此繼續(xù)下去,直到足夠接近真正的根x*為止.[2]
請畫出用牛頓迭代法求方程2x3-4x2+3x-6=0在15附近近似根(精確度10-4)的程序框圖.
解 由圖1可以看出:過點(x0,f(x0))的切線方程為y-f(x0)=f′(x0)(x-x0),切線方程中令y=0,可以求出切線與x軸的交點橫坐標x1=x0-f(x0)f′(x0).為便于計算f(x)=2x3-4x2+3x-6可以寫成f(x)=((2x-4)x+3)x-6,則函數在x0處的函數值為f(x0)=((2x0-4)x0+3)x0-6;函數f(x)=2x3-4x2+3x-6的導函數為f′(x)=6x2-8x+3=(6x-8)x+3,函數f(x)當x=x0時的導數為f′(x0)=(6x0-8)x0+3.
程序框圖如圖2所示.
牛頓迭代法求方程在某值附近的近似根,用到算法、函數、方程、解析幾何中的直線,以及用導數求曲線斜率,綜合性較強.
二、算法與函數
已知程序框圖如圖3所示,若f(x)=9,則x=.
分析 本題程序框圖中有兩個判斷框,本質上是分段函數f(x)=(x+2)2(x<0),3(x=0),3x(x>0). 已知f(x)=9,求x的值.
解 (1)當x<0時,由流程圖可知f(x)=(x+2)2,要輸出的函數值f(x)=9,則(x+2)2=9可得x=-5或x=1(舍去),故輸入的x的值應為-5.
(2)當x>0時,由流程圖知f(x)=3x要輸出的函數值f(x)=9,則3x=9可得x=2,故輸入x的值應為2.
綜上可知x=2或x=-5.
三、算法與統(tǒng)計
為弘揚民族文化,提高學生國學素養(yǎng),某中學高二年級舉辦了一次“我愛古詩詞”國學知識競賽活動,共有500名學生參加了這次競賽.為了解本次競賽的成績情況,從中抽取了50名學生的成績(得分均為整數,滿分為100分)進行統(tǒng)計.請根據頻率分布表和算法流程圖(圖4),求輸出S的值.
序號(i)分組(分數)組中值(Gi)頻數(人數)頻率(Fi)
1[60,70)6560.12
2[70,80)75200.4
3[80,90)85120.24
4[90,100]95120.24
合計501
解 用追蹤變量法S=0,i=1.
(1)i≤4成立,
Gi=65,Fi=0.12,S=0+65·0.12=7.8,i=2.
(2)i≤4成立,
Gi=75,Fi=0.4,S=7.8+75·0.4=37.8,i=3.
(3)i≤4成立,
Gi=85,Fi=0.24,S=37.8+85·0.24=58.2,i=4.
(4)i≤4成立,
Gi=95,Fi=0.24,S=58.2+95·0.24=81,i=5.
(5)i≤4不成立,循環(huán)結束,輸出變量S=81,程序結束.
通過分析還可以得出,此算法是求50名學生分數的近似平均值.
四、算法與排列
某校高二年級某班要從15名候選人中選出7名組成班委會,分別擔任班長、學習委員、紀律委員、生活委員、宣傳委員、組織委員和體育委員,求組成班委會的方案數目.如圖5是計算班委會的方案數目的程序框圖.在流程圖的判斷框內應填的條件是什么?
解 從15名候選人選出7名分別擔任一個職位,屬于排列問題,不同的班委會方案數目為A715=15×14×13×12×11×10×9.
根據程序框圖,此算法中重復執(zhí)行的指令中目標變量A用累積法求值;不斷計入目標變量的是15,14,13,12,11,10,9存放在循環(huán)變量n中,則其規(guī)律是在前者的基礎上減1,即n=n-1;變量i作為計數變量.求7個連續(xù)整數的乘積,循環(huán)體應執(zhí)行7次,因此,判斷框內應填的條件為i≤7?或i<8?.
算法是高中數學必學內容,是數學體系的重要組成部分,是計算機科學的基礎.對于面向過程的程序,著名的計算機科學家沃斯提出,程序=算法+數據結構,算法是程序的靈魂.因此,在學習算法時,要多聯系實際,多聯系學過的數學知識比如,不等式、數列、概率……體會算法體現的數學思想.通過對算法的學習,可以培養(yǎng)邏輯思維能力,激發(fā)學習數學的興趣,對以后進一步深造也大有裨益.
【參考文獻】
[1]劉紹學.普通高中課程標準實驗教科書·數學3·必修[M].北京:人民教育出版社,2007.
[2]譚浩強.C程序設計題解與上機指導[M].北京:清華大學出版社,2005.endprint