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