版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章算法初步
1.1算法與程序框圖
第一課時(shí)算法的概念
教學(xué)目標(biāo)
1.通過(guò)實(shí)例體會(huì)算法思想,了解算法的含義與主要特點(diǎn);
2.能按步驟用自然語(yǔ)言寫出簡(jiǎn)單問(wèn)題的算法過(guò)程;
3.培養(yǎng)學(xué)生邏輯思維能力與表達(dá)能力.
教學(xué)重點(diǎn)將問(wèn)題的解決過(guò)程用自然語(yǔ)言表示為算法過(guò)程.
教學(xué)難點(diǎn)用自然語(yǔ)言描述算法.
教學(xué)過(guò)程
一.序言
算法不僅是數(shù)學(xué)及其應(yīng)用的重要組成部分,也是計(jì)算機(jī)理論和技術(shù)的核心.在現(xiàn)代社會(huì)里,
計(jì)算機(jī)已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ?聽(tīng)音樂(lè)、看電影、玩游戲、打字、畫(huà)卡
通畫(huà)、處理數(shù)據(jù),計(jì)算機(jī)幾乎滲透到了人們生活的所有領(lǐng)域.那么,計(jì)算機(jī)是怎樣工作的呢?
要想弄清楚這個(gè)問(wèn)題,算法的學(xué)習(xí)是一個(gè)開(kāi)始.同時(shí),算法有利于發(fā)展有條理的思考與表達(dá)的
能力,提高邏輯思維能力.
在以前的學(xué)習(xí)中,雖然沒(méi)有出現(xiàn)算法這個(gè)名詞,但實(shí)際上在數(shù)學(xué)教學(xué)中已經(jīng)滲透了大量的算
法思想,如四則運(yùn)算的過(guò)程、求解方程的步驟等等,完成這些工作都需要一系列程序化的步驟,
這就是算法的思想.
二、數(shù)學(xué)運(yùn)用
1.算法描述舉例
例1.給出求1+2+3+4+5的一個(gè)算法.
解:算法1按照逐一相加的程序進(jìn)行.
第一步:計(jì)算1+2,得到3;
第二步:將第一步中的運(yùn)算結(jié)果3與3相加,得到6;
第三步:將第二步中的運(yùn)算結(jié)果6與4相加,得到10;
第四步:將第三步中的運(yùn)算結(jié)果10與5相加,得到15.
算法2運(yùn)用公式1+2+3++”=幽土D直接計(jì)算.
2
第一步:取=5;第二步:計(jì)算如R;第三步:輸出運(yùn)算結(jié)果.
2
說(shuō)明:一個(gè)問(wèn)題的算法可能不唯一
例2.給出求解方程組12x+y=7的一個(gè)算法.
4x+5y=11
分析:解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒(méi)有本質(zhì)的差別,
為了適用于解一般的線性方程組,以便于在計(jì)算機(jī)上實(shí)現(xiàn),我們用高斯消元法(即先將方程組
化為一個(gè)三角形方程組,在通過(guò)回代過(guò)程求出方程組的解)解線性方程組.
解:用消元法解這個(gè)方程組,步驟是:
第一步:方程①不動(dòng),將方程②中的系數(shù)除以方程①中的系數(shù),得到乘數(shù)冽=3=2;
2
第二步:方程②減去乘以方程①,消去方程②中的項(xiàng),得到[2x+'=7;
I3y=-3
Y4
第三步:將上面的方程組自下而上回代求解,得到y(tǒng)=-l,x=4.所以原方程組的解為一
b=-1
2、算法概念
算法:在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一個(gè)或一類問(wèn)題的明確和有限的步驟。
3、怎樣表達(dá)算法?
如例1:算法3
第一步:使S=l;第二步:使/=2;第三步:使5=5+1;
第四步:使/=/+1;第五步:如果/<5,則返回第三步,否則輸出S.
例1的延伸:給出求1+2+3+…N的一個(gè)算法
第一步:使S=l;第二步:使/=2;第三步:使5=5+1;
第四步:使/=/+1;第五步:如果I<N,則返回第三步,否則輸出S.
2.寫出求1+,+工++」_的一個(gè)算法.
23100
解:第一步:使S=l;第二步:使/=2;第三步:使〃=;;第四步:使5=5+”;
第五步:使/=/+1;第六步:如果/<100,則返回第三步,否則輸出S.
4.算法的重要特征:
(1)有限性:一個(gè)算法在執(zhí)行有限步后必須結(jié)束;
(2)確切性:算法的每一個(gè)步驟和次序必須是確定的;
(3)輸入:一個(gè)算法有0個(gè)或多個(gè)輸入,以刻劃運(yùn)算對(duì)象的初始條件.所謂0個(gè)輸入是指
算法本身定出了初始條件.
(4)輸出:一個(gè)算法有1個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果.沒(méi)有輸出的算
法是毫無(wú)意義的.
第二課時(shí)算法概念的鞏固
教學(xué)目標(biāo)
1.能按步驟用自然語(yǔ)言寫出簡(jiǎn)單問(wèn)題的算法過(guò)程;
2.培養(yǎng)學(xué)生邏輯思維能力與表達(dá)能力.
教學(xué)重點(diǎn)將問(wèn)題的解決過(guò)程用自然語(yǔ)言表示為算法過(guò)程.
教學(xué)難點(diǎn)用自然語(yǔ)言描述算法.
教學(xué)過(guò)程
例1設(shè)計(jì)一個(gè)算法,判斷7是否為質(zhì)數(shù).
算法分析:
根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2?6除7,如果它們中有一個(gè)能整除7,則7
不是質(zhì)數(shù),否則7是質(zhì)數(shù)。根據(jù)以上分析,可寫出如下算法1:
第一步:用2除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以2不能整除7
第二步:用3除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以3不能整除7
第三步:用4除7,得到余數(shù)3,因?yàn)橛鄶?shù)不為0,所以4不能整除7
第四步:用5除7,得到余數(shù)2,因?yàn)橛鄶?shù)不為0,所以5不能整除7
第五步:用6除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以6不能整除7,
所以7是質(zhì)數(shù)。
算法2:
第一步:1=2
第二步:7+1余數(shù)為r,若余數(shù)為0,則7不是質(zhì)數(shù),否則執(zhí)行第三步;
第三步:1=1+1
第四步:重復(fù)第二、第三步直到1>6時(shí)結(jié)束算法。
例1延伸:設(shè)計(jì)一個(gè)算法,判斷嚏數(shù)2)是否為質(zhì)數(shù)?
算法:見(jiàn)課本2
例2:用二分法求方程%—2=O的近似正根,精確度0.05.
解第一步:4/(X)=x2-2.El/-(l)<0,/(2)>0,
*^^巧=1,x2=2.
第二步:令加=土產(chǎn)(因方程的根在區(qū)間(與,X)內(nèi)).
判斷/1(?/)是否為0。若/1(/?)=0,則加為所求;
若否,則進(jìn)行第三步.
第三步:若/(巧)?/(次)>0,則令巧=加;
若/(巧),f(m)<0,則令
第四步:判斷|巧一々|<0.05是否成立?
若是,貝!1花,與之間的任意取值均為滿足條件的近似根;
若否,則返回第二步.
例2的延伸:求血的近似值,精確度0.05.
解:第一步:確定區(qū)間【a,b],因血>1,后<2,設(shè)a=l,b=2
第二步:m=判斷機(jī)是否等于后,若相等,則相為所求,否則執(zhí)行第三步;
2
第三步:若m>血,則令人=根;
若m<6,則令a=7%。
第四步:重復(fù)第二、第三步,直到|a-<0.05或加=后時(shí)結(jié)束算法。
例3:設(shè)計(jì)一個(gè)算法求x、y、z三個(gè)實(shí)數(shù)中的最大值。
解:第一步:輸入x、y、z;
第二步:比較x、y的大小,若x>y則max=x;否則x<y則max=y
第三步:比較max,z的大小,若max<z則max=z,否則執(zhí)行下一步;
第四步:輸出max。
例4:設(shè)計(jì)一個(gè)算法把A、B兩個(gè)數(shù)按從大到小的順序排列。
解:第一步:輸入A、B;
第二步:比較A、B的大小,若A>B,則輸出A、B;否則f=A;A=B;B=/
第三步:輸出A、Bo
例5:例3、例4的綜合:設(shè)計(jì)一個(gè)算法把x、y、z三個(gè)實(shí)數(shù)按從大到小的順序排列
解:第一步:輸入x、y、z;
第二步:比較x、y的大小,若x>y則不變順序,否則t=x;x==f
第三步:比較X、Z的大小,若X>Z則不變順序,否則/'=X;X=Z;Z=f
第四步:比較y、z的大小,若y>z則不變順序,否則/=y;y=z;z=t
第五步:輸出x、y、Zo
第三課時(shí)程序框圖與算法基本邏輯結(jié)構(gòu)
教學(xué)目標(biāo)
1.了解流程圖的概念,了解常用流程圖符號(hào)(輸入輸出框、處理框、判斷框、起止框、流
程
等)的意義;
2.能用程序圖表示順序結(jié)構(gòu)的算法;
3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力.
教學(xué)重點(diǎn)運(yùn)用流程圖表示順序結(jié)構(gòu)的算法.
教學(xué)難點(diǎn)規(guī)范流程圖的表示.
教學(xué)過(guò)程
問(wèn)題:如果現(xiàn)在讓你向全班同學(xué)介紹一個(gè)陌生人的外表形象,有兩種方法你可以選擇:一種
方法是用語(yǔ)言向大家描述,另一種方法是就將陌生人的照片拿給大家看,你們會(huì)選擇哪一種?
1.流程圖的概念:流程圖是用一些規(guī)定的圖形、指向線及簡(jiǎn)單的文字說(shuō)明來(lái)表示算法幾程
序結(jié)構(gòu)的一種圖形程序.它直觀、清晰,便于檢查和修改.其中,圖框表示各種操作的類型,圖
框中的文字和符號(hào)表示操作的內(nèi)容,帶箭頭的流程線(指向線)表示操作的先后次序.
2.構(gòu)成流程圖的圖形符號(hào)及其作用
程序框名稱功能
表示一個(gè)算法的起始和結(jié)束,是任何
起止框
<__________________Z算法程序框圖不可缺少的。
表示一個(gè)算法輸入和輸出的信息,可
二輸入、輸出框用在算法中任何需要輸入、輸出的位
置。
賦值、計(jì)算。算法中處理數(shù)據(jù)需要的
—處理框算式、公式等,它們分別寫在不同的
用以處理數(shù)據(jù)的處理框內(nèi)。
判斷某一條件是否成立,成立時(shí)在出
判斷框口處標(biāo)明“是”或“Y”;不成立時(shí)在
O出口處標(biāo)明則標(biāo)明“否”或“N”。
流程線算法進(jìn)行的前進(jìn)方向以及先后順序
V
循環(huán)框用來(lái)表達(dá)算法中重復(fù)操作以及運(yùn)算
*
O連結(jié)點(diǎn)連接另一頁(yè)或另一部分的框圖
—
注釋框幫助編者或閱讀者理解框圖
3.規(guī)范流程圖的表示:
①使用標(biāo)準(zhǔn)的框圖符號(hào);
②框圖一般按從上到下、從左到右的方向畫(huà),流程線要規(guī)范;
③除判斷框外,大多數(shù)框圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn).
④在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練、清楚.
4、算法的三種基本邏輯結(jié)構(gòu)
課本中例題的講解得出三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu):
順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的處理步驟組成的,這是任何一個(gè)算法都離不開(kāi)的基本
結(jié)構(gòu)。
注:語(yǔ)句A和語(yǔ)句B是依次執(zhí)行的,只有在執(zhí)行完語(yǔ)句A指定的操作后,才能接著執(zhí)行語(yǔ)句
不意圖
例1:已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫一秦九韶公式設(shè)計(jì)一個(gè)算法,求出
它的面積,畫(huà)出算法的程序框圖.
算法分析:
第一步:輸入圓的半徑
第二步:利用公式“圓的面積=圓周率X(半徑的平方)”計(jì)算圓的面積;
第三步:輸出圓的面積。
開(kāi)始
第四課時(shí)條件結(jié)構(gòu)
教學(xué)目標(biāo)
1.進(jìn)一步理解流程圖的概念,了解條件結(jié)構(gòu)的概念,能運(yùn)用流程圖表達(dá)條件結(jié)構(gòu);
2.能識(shí)別簡(jiǎn)單的流程圖所描述的算法;
3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力.
教學(xué)重點(diǎn)運(yùn)用流程圖表示條件結(jié)構(gòu)的算法.
教學(xué)難點(diǎn)規(guī)范流程圖的表示以及條件結(jié)構(gòu)算法的流程圖.
教學(xué)過(guò)程
一.問(wèn)題情境
1.情境:
設(shè)計(jì)一個(gè)算法求X、y、z三個(gè)實(shí)數(shù)中的最大值,并畫(huà)出程序框圖。
2、條件結(jié)構(gòu)(選擇結(jié)構(gòu)):
由上面例子可以得出條件結(jié)構(gòu)的兩種形式;
注:算法的流程根據(jù)條件是否成立有不同的流向.
課本例題的講解。
3、條件結(jié)構(gòu)的嵌套:
例:設(shè)計(jì)一個(gè)算法畫(huà)出它的程序框圖,求這個(gè)分段函數(shù)的函數(shù)值。
我們要對(duì)一次項(xiàng)系數(shù)a和常數(shù)項(xiàng)b的取值情況進(jìn)行分類,分類如下:
(1)當(dāng)aWO時(shí),方程有唯一的實(shí)數(shù)解是-二;
a
(2)當(dāng)a=0,b=0時(shí),全體實(shí)數(shù)都是方程的解;
(3)當(dāng)a=0,bWO時(shí),方程無(wú)解。
讓學(xué)生按照剛講解的條件結(jié)構(gòu)的嵌套自己畫(huà)程序框圖。
第五課時(shí)循環(huán)結(jié)構(gòu)
教學(xué)目標(biāo)
1.了解循環(huán)結(jié)構(gòu)的概念,能運(yùn)用流程圖表示循環(huán)結(jié)構(gòu);
2.能識(shí)別簡(jiǎn)單的流程圖所描述的算法;
3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力.
教學(xué)重點(diǎn)運(yùn)用流程圖表示循環(huán)結(jié)構(gòu)的算法.
教學(xué)難點(diǎn)規(guī)范流程圖的表示以及循環(huán)結(jié)構(gòu)算法的流程圖.
教學(xué)過(guò)程
一:?jiǎn)栴}情景:例:求1+2+3+…N的一個(gè)算法
第一步:使S=l;
第二步:使/=2;
第三步:使5=5+1;
第四步:使/=/+1;
第五步:當(dāng)/WN,則返回第三步、第四步,否則輸出S.
第五步也寫成:重復(fù)第三步、第四步,直到/〉N時(shí)結(jié)束算法。
二:新課教學(xué)
1:循環(huán)結(jié)構(gòu)的定義:
在一些算法中,從否處開(kāi)始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)
結(jié)構(gòu)。
兩種循環(huán)結(jié)構(gòu)有什么差別?
當(dāng)型:先判斷后執(zhí)行
先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)條件,條件為假時(shí)退出循環(huán)。
直到型;先執(zhí)行后判斷
先執(zhí)行循環(huán)體,然后再檢查條件是否成立,如果不成立就重復(fù)執(zhí)行循環(huán)體,直到條件成
立退出循環(huán)。
2:課本中例一、例二的講解;其中例二的講解給同學(xué)嘗試并寫出兩種循環(huán)結(jié)構(gòu)形式。
3:用二分法求解方程求關(guān)于x的方程犬-2=0的根,精確到0.005
流程圖表示
第一步令f(x)=x2-2,因?yàn)?/p>
f(1)<0,f(2)>0,所以設(shè)
a=1,b=2
第二步令m=(a+b)/2,
判斷f(m)是否為0,若
是,則m為所求,否則,
則繼續(xù)判斷f(a”(m)大于
0還是小于0。
第三步若f(a”(m)v0則
令b=m,否貝!|a=m。
n=(a+b)/J
第四步判如a-b|v0.005是艮
否成立?若黃則a、b之間的輸用m
任意值均為滿足條件的近似(fi)
值;否則返回第二步。
在此基礎(chǔ)上讓學(xué)生自己寫出求解痣的近似值的程序框圖。
第六課時(shí)基本算法語(yǔ)句
教學(xué)目標(biāo)
1.正確理解賦值語(yǔ)句、輸入語(yǔ)句、輸出語(yǔ)句的結(jié)構(gòu);
2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問(wèn)題的方法;
3.通過(guò)實(shí)例,使學(xué)生理解3種基本的算法語(yǔ)句(輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句)的表示方法、結(jié)構(gòu)和用法,
能用這三種基本的算法語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基本思想.
教學(xué)重點(diǎn)正確理解輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句的作用.
教學(xué)難點(diǎn)準(zhǔn)確寫出輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句.
教學(xué)過(guò)程
一、問(wèn)題情境
問(wèn)題1:已知我班某學(xué)生上學(xué)期期末考試語(yǔ)文、數(shù)學(xué)和英語(yǔ)學(xué)科成績(jī)分別為80、100、89,試設(shè)計(jì)適當(dāng)?shù)?/p>
算法求出這名學(xué)生三科的平均分.
二、學(xué)生活動(dòng)
1.學(xué)生討論,教師引導(dǎo)學(xué)生寫出算法并畫(huà)出流程圖.
算法:
SIa*-80
S2bTOO
S3c-89
S4A*-(a+b+c)/3
S5輸出A
2.怎樣將以上算法轉(zhuǎn)換成計(jì)算機(jī)能理解的語(yǔ)言呢?
下面我們將通過(guò)偽代碼學(xué)習(xí)基本的算法語(yǔ)句.
三、新課講解
1.偽代碼:
偽代碼是介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字和符號(hào),是表達(dá)算法的簡(jiǎn)單而實(shí)用的好方法.為了今后
能學(xué)好計(jì)算機(jī)語(yǔ)言,我們?cè)趥未a中將使用一種計(jì)算機(jī)語(yǔ)言“BASIC語(yǔ)言”的關(guān)鍵詞.
2.輸入語(yǔ)句
格式:INPUT”提示文字”;變量
注釋:①輸入語(yǔ)句又稱“鍵盤輸入語(yǔ)句”,計(jì)算機(jī)執(zhí)行到該語(yǔ)句時(shí),暫停并等待用戶輸入程序
所需要的數(shù)據(jù);
②''提示內(nèi)容”的作用是在程序執(zhí)行時(shí)提示用戶明確將要輸入的是什么樣的數(shù)據(jù)。當(dāng)提
不內(nèi)容很明顯時(shí)課省略;
③一個(gè)輸入語(yǔ)句可同時(shí)給多個(gè)變量賦值,此時(shí)變量與變量之間用逗號(hào)隔開(kāi);
④在輸入語(yǔ)句中輸入的只能是常數(shù),而不能是函數(shù)、變量或表達(dá)式;
⑤無(wú)計(jì)算功能。
功能:可以為變量提供運(yùn)行所需的數(shù)據(jù),實(shí)現(xiàn)餓算法中的輸入功能。
3.輸出語(yǔ)句
格式:PRINT”提示內(nèi)容”;變量
注釋:①輸出語(yǔ)句又稱“打印語(yǔ)句”;
②''提示內(nèi)容”的作用是在程序執(zhí)行時(shí)提示用戶明確將要輸出的是什么樣的數(shù)據(jù)。當(dāng)提
示內(nèi)容很明顯時(shí)課省略;
③一個(gè)輸出語(yǔ)句可同時(shí)輸出多個(gè)表達(dá)式,此時(shí)表達(dá)式與表達(dá)式之間用逗號(hào)隔開(kāi);
④有計(jì)算功能。
功能:把運(yùn)行的結(jié)果輸出來(lái)。
例:INPUT"Howoldareyou'';x
PRINT“Iam”;x
END
若在鍵盤中輸入16,則此程序運(yùn)行的結(jié)果為Iam16
課本中例一及例二的講解。其中例二要可以寫成:
INPUT"Maths=,Chinese=,English=";a,b,c
y=(a+b+c)/3
PRINT"Theaverage=";y
END
4.賦值語(yǔ)句
格式:變量=表達(dá)式
注釋:①賦值語(yǔ)句中的稱為賦值號(hào),而不是等號(hào)。如“s=s+n”這樣的賦值語(yǔ)句表示把變
量s的值與變量n的值相加后再賦給變量s;
②賦值號(hào)左邊的變量名只能是變量,不能是常量、函數(shù)或表達(dá)式;
③不能在一個(gè)賦值語(yǔ)句中同時(shí)給多個(gè)變量賦值;
④在一個(gè)賦值語(yǔ)句中可以對(duì)一個(gè)變量多次賦值,賦值后新之取代原來(lái)的舊值;
⑤有計(jì)算功能。
功能:先計(jì)算出賦值號(hào)右邊表達(dá)式的值,再將值賦給賦值號(hào)左邊的變量。
課本例三、例四的講解。
5.練習(xí)鞏固
分析下面程序執(zhí)行的結(jié)果
(1)
A=-1000
A=A+100
PRINT“A=”;A
END
A=-900
(2)
INPUT"A,B=”;A,B
B=A+B
A=B-A
B=B-A
PRINT"A,B=”;A,B
END
(運(yùn)行時(shí)從鍵盤輸入3,7)
A,B=73
第七課時(shí)條件語(yǔ)句
教學(xué)目標(biāo)
1.正確理解條件語(yǔ)句的結(jié)構(gòu);
2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問(wèn)題的方法;
3.通過(guò)實(shí)例,使學(xué)生理解條件語(yǔ)句的表示方法、結(jié)構(gòu)和用法,能用條件語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基
本思想.
教學(xué)重點(diǎn)正確理解條件語(yǔ)句的作用并會(huì)應(yīng)用.
教學(xué)難點(diǎn)準(zhǔn)確寫出條件語(yǔ)句.
教學(xué)過(guò)程
一、問(wèn)題情境
一11
1
1
f
i(.東)/
z
1一J
二、知識(shí)探究
1、條件語(yǔ)句(1)
下圖是算法的條件結(jié)構(gòu)用程序框圖表示的一種形式,它對(duì)應(yīng)的條件語(yǔ)句的一般格式設(shè)定
為:
1
滿足條件?-------
是1
___________i___________
步驟A
v
IF條件THEN
語(yǔ)句體
ENDIF
2、條件語(yǔ)句(2)
下圖是算法的條件結(jié)構(gòu)用程序框圖表示的另一種形式,它對(duì)應(yīng)的條件語(yǔ)句的一般格式
設(shè)定為:
IF條件THEN
語(yǔ)句體1
ELSE
語(yǔ)句體2
ENDIF
三、知識(shí)遷移
1、課本第25頁(yè)例五及27頁(yè)例六、例七的講解。
開(kāi)始
受一1
ENDIF
ENDIF
PRINTy
END
程序二:(疊加結(jié)構(gòu))
程序框圖:
程序如下:
INPUTx
IFx>0THEN
尸1
ENDIF
IF產(chǎn)0THEN
7=0
ENDIF
IFx<0THEN
產(chǎn)一1
ENDIF
PRINTy
END
點(diǎn)評(píng):1.條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當(dāng)代入x的數(shù)值時(shí),
“程序一”先判斷外層的條件,依次執(zhí)行不同的分支,才有可能判斷內(nèi)層的條件;而“程序二”中執(zhí)行了對(duì)
“條件1”的判斷,同時(shí)也對(duì)“條件2”進(jìn)行判斷,是按程序中條件語(yǔ)句的先后依次判斷所有的條件,滿足
哪個(gè)條件就執(zhí)行哪個(gè)語(yǔ)句。
2.條件語(yǔ)句的嵌套可多于兩層,可以表達(dá)算法步驟中的多重限制條件。
四、鞏固總結(jié)
條件語(yǔ)句的條件表達(dá)式需用連接符如下:
運(yùn)算符功能舉例數(shù)學(xué)表達(dá)式
<小于a<ba<b
關(guān)系運(yùn)算符
<=小于或等于aV=baWb
>大于a>ba>b
>=大于或等于a>=ba2b
=等于a=ba=b
<>不等于a<>baWb
邏輯運(yùn)算符AND且X<5ANDx>1l<x<5
OR或x<0ORx>3x<0或x>3
NOT非NOTx>ax
第八課時(shí)循環(huán)語(yǔ)句
教學(xué)目標(biāo)
1.正確理解循環(huán)語(yǔ)句的結(jié)構(gòu);
2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問(wèn)題的方法;
3.通過(guò)實(shí)例,使學(xué)生理解循環(huán)語(yǔ)句的表示方法、結(jié)構(gòu)和用法,能用循環(huán)語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基
本思想.
教學(xué)重點(diǎn)循環(huán)語(yǔ)句的步驟、結(jié)構(gòu)及功能.
教學(xué)難點(diǎn)會(huì)編寫程序中的循環(huán)語(yǔ)句.
教學(xué)過(guò)程
1、知識(shí)探究:算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)的
循環(huán)結(jié)構(gòu)有兩種----當(dāng)型與直到型,一般程序設(shè)計(jì)語(yǔ)言中也有當(dāng)型(WHILE型)和直到型(UNTIL
型)兩種語(yǔ)句結(jié)構(gòu)。
SPWHILE語(yǔ)句和UNTIL語(yǔ)句。
(1)WHILE語(yǔ)句的一般格式是:
(2)UNTIL語(yǔ)句的一般格式是:
提問(wèn):通過(guò)對(duì)照,大家覺(jué)得WHILE型語(yǔ)句與UNTIL型語(yǔ)句之間有什么區(qū)別呢?
區(qū)別:在WHILE語(yǔ)句中,是當(dāng)條件滿足時(shí)執(zhí)行循環(huán)體,而在UNTIL語(yǔ)句中,是當(dāng)條件不滿足時(shí)執(zhí)行
循環(huán)體。
2、鞏固提高
例1、編寫程序,計(jì)算自然數(shù)1+2+3+-+99+100的和.
分析:這是一個(gè)累加問(wèn)題.我們可以用WHILE型語(yǔ)句,也可以用UNTIL型語(yǔ)句。
當(dāng)型循環(huán)結(jié)構(gòu)
WHILE語(yǔ)句
i=1
S=0
WHLIEi<=100
S=S+i
i=i+1
WEND
PRINTS
END
UNTIL語(yǔ)句
S=0
DO
S=S+i
i=i+1
LOOPUNTILi>100
PRINTS
END
變式訓(xùn)練⑴:
編寫程序求:n!=1X2X3X4X5X.......Xn的值.
[開(kāi)始I如何修改?WHILE語(yǔ)句
AINPUTan=w;rT\
i=1
S=1
WHLIEi<=n
S=S*i
i=i+1
WEND
PRINTS
END
變式訓(xùn)練⑵:
編寫程序求:1X3X5X7X.......X101的值.
直到型詢還1如何修改?UNITL語(yǔ)句
S=1S=1
DO
S=S*i
i=i+2
LOOPUNTILi>101
_____PRINTS
/輸平/iENDy
結(jié)束---------------------
例2、課本例題的講解
3、總結(jié)歸納:學(xué)習(xí)了循環(huán)語(yǔ)句的兩種格式,我們來(lái)挖掘一下應(yīng)用循環(huán)語(yǔ)句編寫程序的“條件三要素”。
第一、循環(huán)語(yǔ)句中的變量一般需要進(jìn)行一定的初始化操作。
請(qǐng)看我們用WHILE循環(huán)實(shí)現(xiàn)1到100累加為例,做一下說(shuō)明:
“1+2+...+100”
部分程序如下:
sum-0
i=1
WHILEi<=100
sum=sum+i
1=1+1
WEND
這段程序中,循環(huán)的條件是“i〈=100”;因此,一開(kāi)始i肯定需要一個(gè)確定的值。前面的
“i=0”這一個(gè)語(yǔ)句,在聲明變量i的同時(shí),也為i賦了初始值“1”。這樣,條件i<=100得以成立(因
為i為1,所以條件"i<=100”當(dāng)然成立)。
第二、循環(huán)語(yǔ)句在循環(huán)的過(guò)程中需要有“結(jié)束”的機(jī)會(huì)。
程序中最忌“死循環(huán)”。所謂的“死循環(huán)”就是指該循環(huán)條件永遠(yuǎn)成立,沒(méi)有跳出循環(huán)體的機(jī)會(huì)。
第三、在循環(huán)中要改變循環(huán)條件的成立因素
程序每執(zhí)行一次循環(huán)體,循環(huán)條件中涉及到的變量就會(huì)發(fā)生改變,正在步步逼近滿足跳出循環(huán)體的條件。
第九課時(shí)輾轉(zhuǎn)相除法與更相減損術(shù)
教學(xué)目標(biāo)
1.理解輾轉(zhuǎn)相除法與更相減損術(shù)中蘊(yùn)含的數(shù)學(xué)原理,并能根據(jù)這些原理進(jìn)行算法分析;
2.基本能根據(jù)算法語(yǔ)句與程序框圖的知識(shí)設(shè)計(jì)完整的程序框圖并寫出算法程序;
教學(xué)重點(diǎn)理解輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的方法
教學(xué)難點(diǎn)把輾轉(zhuǎn)相除法與更相減損術(shù)的方法轉(zhuǎn)換成程序框圖與程序語(yǔ)言.
教學(xué)過(guò)程
一、問(wèn)題情境
在初中,我們已經(jīng)學(xué)過(guò)求最大公約數(shù)的知識(shí),你能求出18與30的公約數(shù)嗎?
我們都是利用找公約數(shù)的方法來(lái)求最大公約數(shù),如果公約數(shù)比較大而且根據(jù)我們的觀察又不能得到一些公約
數(shù),我們又應(yīng)該怎樣求它們的最大公約數(shù)?比如求8251與6105的最大公約數(shù)?這就是我們這一堂課所要探
討的內(nèi)容.
求最大公約數(shù)
(1)短除法
求兩個(gè)正整數(shù)的最大公約數(shù)的步驟:先用兩個(gè)數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是兩個(gè)互質(zhì)
數(shù)為止,然后把所有的除數(shù)連乘起來(lái)
(2)窮舉法(也叫枚舉法)
窮舉法求兩個(gè)正整數(shù)的最大公約數(shù)的解題步驟:從兩個(gè)數(shù)中較小數(shù)開(kāi)始由大到小列舉,直到找到公約數(shù)
立即中斷列舉,得到的公約數(shù)便是最大公約數(shù)
二、算法設(shè)計(jì)思想:
1.輾轉(zhuǎn)相除法
例1.求兩個(gè)正數(shù)8251和6105的最大公約數(shù).
(分析:8251與6105兩數(shù)都比較大,而且沒(méi)有明顯的公約數(shù),如能把它們都變小一點(diǎn),根據(jù)已有的知識(shí)
即可求出最大公約數(shù))
解:8251=6105X1+2146
顯然8251和的2146最大公約數(shù)也必是2146的約數(shù),同樣6105與2146的公約數(shù)也必是8251的約數(shù),
所以8251與6105的最大公約數(shù)也是6105與2146的最大公約數(shù).
6105=2146X2+1813
2146=1813X1+333
1813=333X5+148
333=148X2+37
148=37X4+0
則37為8251與6105的最大公約數(shù).
以上我們求最大公約數(shù)的方法就是輾轉(zhuǎn)相除法.也叫歐幾里德算法,它是由歐幾里德在公元前300年左
右首先提出的.利用輾轉(zhuǎn)相除法求最大公約數(shù)的步驟如下:
第一步:用較大的數(shù)除以較小的數(shù)得到一個(gè)商%和一個(gè)余數(shù)為;
第二步:若石=0,則為相,〃的最大公約數(shù);若為00,則用除數(shù)除以余數(shù)為得到一個(gè)商名和一個(gè)余數(shù)個(gè)
第三步:若q=0,則八為根,〃的最大公約數(shù);若則用除數(shù)為除以余數(shù)勺得到一個(gè)商%和一個(gè)
余數(shù)2;
依次計(jì)算直至rn=0,此時(shí)所得到的々t即為所求的最大公約數(shù).
練習(xí):利用輾轉(zhuǎn)相除法求兩數(shù)4081與20723的最大公約數(shù)(答案:53)
2.更相減損術(shù)
我國(guó)早期也有解決求最大公約數(shù)問(wèn)題的算法,就是更相減損術(shù).
更相減損術(shù)求最大公約數(shù)的步驟如下:可半者半之,不可半者,副置分母之?dāng)?shù),以少減多,更相減損,
求其等也,以等數(shù)約之.
翻譯出來(lái)為:
第一步:任意給出兩個(gè)正數(shù);判斷它們是否都是偶數(shù).若是,用2約簡(jiǎn);若不是,執(zhí)行第二步.
第二步:以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù).繼續(xù)這個(gè)操作,
直到所得的數(shù)相等為止,則這個(gè)數(shù)(等數(shù))就是所求的最大公約數(shù).
例2.用更相減損術(shù)求98與63的最大公約數(shù).
解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減,
即:98—63=35
63-35=28
35-28=7
28-7=21
21-7=14
14-7=7
所以,98與63的最大公約數(shù)是7.
練習(xí):用更相減損術(shù)求兩個(gè)正數(shù)84與72的最大公約數(shù).(答案:12)
3.比較輾轉(zhuǎn)相除法與更相減損術(shù)的區(qū)別
(1)都是求最大公約數(shù)的方法,計(jì)算上輾轉(zhuǎn)相除法以除法為主,更相減損術(shù)以減法為主,計(jì)算次數(shù)上輾
轉(zhuǎn)相除法計(jì)算次數(shù)相對(duì)較少,特別當(dāng)兩個(gè)數(shù)字大小區(qū)別較大時(shí)計(jì)算次數(shù)的區(qū)別較明顯.
(2)從結(jié)果體現(xiàn)形式來(lái)看,輾轉(zhuǎn)相除法體現(xiàn)結(jié)果是以相除余數(shù)為。則得到,而更相減損術(shù)則以減數(shù)與差
相等而得到.
三.輾轉(zhuǎn)相除法的流程圖及偽代碼
利用輾轉(zhuǎn)相除法與更相減損術(shù)的計(jì)算算法,我們可以設(shè)計(jì)出程序框圖以及BSAIC程序來(lái)在計(jì)算機(jī)上實(shí)現(xiàn)
輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù),下面由同學(xué)們?cè)O(shè)計(jì)相應(yīng)框圖并相互之間檢查框圖與程序的正確性,
并在計(jì)算機(jī)上驗(yàn)證自己的結(jié)果.
(1)輾轉(zhuǎn)相除法的程序框圖及程序
程序框圖:
偽代碼:
Reada,b
WhileMod(〃,Z?)w0
r-Mod(〃,Z?)
a—b
b—丫
EndWhile
Printb
用較大的數(shù)除以較小的數(shù),得到除式加=叼+/(OKrv幾),直到廠=0.
2、更相減損術(shù)程序:
INPUT"請(qǐng)輸入兩個(gè)不相等的正整數(shù)”;a,b
i=0
WHILEaMOD2=0ANDbMOD2=0
a二a/2
b二b/2
i=i+1
WEND
DO
IFb<aTHEN
t=a
a=b
b=t
ENDIF
c=a-b
a=b
b=c
LOOPUNTILa'b
PRINTaT
END
四、回顧小結(jié):
對(duì)于兩個(gè)正整數(shù)如何選擇合適的方法求他們的最大公約數(shù)
方法適用范圍及特點(diǎn)
短除法適合兩個(gè)較小的正整數(shù)或兩個(gè)質(zhì)因數(shù)較少的正整數(shù),筒便易操作。
窮舉法適合計(jì)算機(jī)操作,但一一驗(yàn)證過(guò)于繁瑣。
適用于兩個(gè)較大的正整數(shù),以除法為主,輾轉(zhuǎn)相除法計(jì)算次數(shù)相對(duì)較少,特別
輾轉(zhuǎn)相除法當(dāng)兩個(gè)數(shù)字大小差別較大時(shí)計(jì)算次數(shù)較明顯。
適用于兩個(gè)較大的正整數(shù),更相減損術(shù)以減法為主,計(jì)算次數(shù)上相對(duì)于輾轉(zhuǎn)相
更相減損術(shù)
處法較多。
第十課時(shí)秦九韶算法
教學(xué)目標(biāo)
1.理解秦九韶算法中蘊(yùn)含的數(shù)學(xué)原理,并能根據(jù)這些原理進(jìn)行算法分析;
2.基本能根據(jù)算法語(yǔ)句與程序框圖的知識(shí)設(shè)計(jì)完整的程序框圖并寫出算法程序;
教學(xué)重點(diǎn)理解秦九韶算法計(jì)算多項(xiàng)式的方法
教學(xué)難點(diǎn)把秦九韶算法轉(zhuǎn)換成程序框圖與程序語(yǔ)言.
教學(xué)過(guò)程
一、情景導(dǎo)入
計(jì)算多項(xiàng)式/'(X)=x5+x4+*3+x2+x+l當(dāng)x=5的值
算法1:因?yàn)閒(x)=A-5+X4+X3+X2+A-+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
=3906
算法2:
f(5)=55+54+53+52+5+1
=5X(54+53+52+5+1)+1
=5X(5X(53+52+5+1)+1)+1
=5X(5X(5X(52+5+1)+1)+1)+1
=5X(5X(5X(5X(5+1)+1)+1)+1)+1
ifc兩柳法中備斷股麟霸?
二、新課講解
《數(shù)書(shū)九章》——秦九韶算法
設(shè)/(X)是一個(gè)n次的多項(xiàng)式
n
/(x)=anx+H-----Haxx+a0
對(duì)該多項(xiàng)式按下面的方式進(jìn)行改寫:J/
nnA
/(x)=anx+an_ix~H----1-axx+a0『耳
=H----F?1)%+?(;
23
=((??x"_+an_lx"~H----F?2)x+a1)x+?0
=(???(??x+alt_Jx+a吁2)x+---+?1)x+a0
思考3當(dāng)知道了派的值扃該如何求多項(xiàng)式的值?
/(%)=(???(??x+an_^x+a吁2)x+---+?i)x+?0
要求多項(xiàng)式的值,應(yīng)該先算最內(nèi)層的一次多項(xiàng)式的值,即
\=anX+an-l
然后,由內(nèi)到外逐層計(jì)算一次多項(xiàng)式的值,即一「
%=%x+a“一2最后的一項(xiàng)是
什么?
v3=v^x+at
%=%x+a。
思考*在求多項(xiàng)式的他上.這是焦樣的一伸他?
這種將求一個(gè)n次多項(xiàng)式f(x)的值轉(zhuǎn)化成求n個(gè)一次多項(xiàng)式的值的
方法,稱為秦九韶算法。
例2已知一個(gè)五次多項(xiàng)式為
f(x)=5x5+2X4+3.5X3-2.6X2+1.7X-0.8
用秦九韶算法求這個(gè)多項(xiàng)式當(dāng)x=5的值。
解:將多項(xiàng)式變形:
f(x)=((((5x+2)x+3.5)x-2,6)x+1.7)x-0.8
按由里到外的順序,依此計(jì)算一次多項(xiàng)式當(dāng)x=5時(shí)的值:
%=5
%=5x5+2=27/你從中看到了怎
v=27x5+3.5=138.5樣的規(guī)律?怎么
2用程序框圖來(lái)描
匕=138.5x5—2.6=689.9
v4=689.9x5+1.7=3451.2
v5=3451.2x5-0.8=17255.2
所以,當(dāng)x=5時(shí),多項(xiàng)式的值等于17255.2
三、知識(shí)形成
程序框圖
程序見(jiàn)課本39頁(yè)。
四、鞏固提高
例.已知多項(xiàng)式函數(shù)f(X)=2X5—5X4—4X3+3X2—6X+7,求當(dāng)x=5時(shí)的函數(shù)的值。
解析:把多項(xiàng)式變形為:f(x)=2X5-5X4-4X3+3X2-6X+7
=((((2x-5)x—4)x+3)x—6)x+7
計(jì)算的過(guò)程可以列表表示為:
多項(xiàng)式X系數(shù)2-5-43-67運(yùn)算
1025105540
+
運(yùn)算所得的值XX/670
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年年七年級(jí)數(shù)學(xué)人教版下冊(cè)專題整合復(fù)習(xí)卷27.3 位似(含答案)-
- 人造板類家具相關(guān)行業(yè)投資方案范本
- 空調(diào)安裝維修合同三篇
- 洗發(fā)水運(yùn)輸合同三篇
- 無(wú)縫管熱連軋機(jī)相關(guān)行業(yè)投資方案
- 農(nóng)業(yè)機(jī)械相關(guān)項(xiàng)目投資計(jì)劃書(shū)范本
- 《操作風(fēng)險(xiǎn)的度量》課件
- 董事會(huì)授權(quán)代理合同三篇
- 委托銷售協(xié)議三篇
- 《培訓(xùn)機(jī)加操作者》課件
- 2024-2025學(xué)年高二上學(xué)期期末復(fù)習(xí)【第五章 一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用】十一大題型歸納(拔尖篇)(含答案)
- 【MOOC】法理學(xué)-西南政法大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年新湘教版七年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件 第4章 圖形的認(rèn)識(shí) 章末復(fù)習(xí)
- 2024年民用爆炸物品運(yùn)輸合同
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語(yǔ)文試題(含答案)
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)教育-云南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 《個(gè)體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識(shí)培訓(xùn)
- 儲(chǔ)能運(yùn)維安全注意事項(xiàng)
- 2024蜀繡行業(yè)市場(chǎng)趨勢(shì)分析報(bào)告
- 電力法律法規(guī)培訓(xùn)
- 北京交通大學(xué)《成本會(huì)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論