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