高二數(shù)學(xué)算法初步課件_第1頁
高二數(shù)學(xué)算法初步課件_第2頁
高二數(shù)學(xué)算法初步課件_第3頁
高二數(shù)學(xué)算法初步課件_第4頁
高二數(shù)學(xué)算法初步課件_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、算法初步目標(biāo):了解算法的基本思想;培養(yǎng)使用算法的思想進行思考與表達解決問題的能力。內(nèi)容:1、算法的含義。2、程序框圖。3、實現(xiàn)算法的程序。4、典型的算法介紹。1、算法初步目標(biāo):了解算法的基本思想;培養(yǎng)使用算法的思想進行1

1、算法的含義算法:用計算機解決問題的某一類問題的程序或步驟,且在有限步內(nèi)完成。理解:1、算法是一種解決問題的過程和步驟。2、算法是解決某一類問題的。3、算法具有某種意義上的通用性和普適性。4、算法是與計算機對話的一種思維方式。5、算法必須有限步完成。1、算法的含義算法:用計算機解決問題的某一類問題的程序或步2舉例:求一元二次方程ax2+bx+c=0的實根。

用算法的思想怎樣來求?(全解p7例三)

1、算法的含義因式分解的方法行不行?不具有通用性!解:Step1:確定a,b,cStep2:計算判別式Step3:判別的符號Step4:三種結(jié)果1)無實根;2)有兩個相等實根;3)有兩個不等實根。Step5:輸出實根開始輸入a,b,c=b2-4ac;p=-b/2a;q=||1/2/2a>=0x1=p+q;x2=p-q;兩個相等實根x1,x2輸出不等實根x1,x2無實根x1=x2?結(jié)束否是是否舉例:求一元二次方程ax2+bx+c=0的實根。

用算法的思3

1、算法的含義例1任意給定一個大于1的整數(shù)n,試設(shè)計一個算法步驟對n是否為質(zhì)數(shù)做出判斷。Step1:輸入n,如果n=2,則n是質(zhì)數(shù);若n>2,執(zhí)行第二步;Step2:令flag=1,標(biāo)記flag區(qū)分是否存在整除的情況;Step3:依次從2~n-1循環(huán)檢驗是否為n的因數(shù),在某一步,若是n的因數(shù),則令flag=0,中途直接停止即可,并作出判斷,n不是質(zhì)數(shù);Step4:如果循環(huán)檢查完2~n-1中的每一個數(shù),flag=1仍然成立,則可以做出判斷,n是質(zhì)數(shù)。總體思路:如果n大于2,將n依次除以2~n-1,檢查每一次是否整除,若某一次整除,則n不是質(zhì)數(shù),否則,全部檢查完,仍沒有整除的情況,則n是質(zhì)數(shù);n=2,直接判斷是質(zhì)數(shù)。1、算法的含義例1任意給定一個大于1的整數(shù)n,試設(shè)計一個4

1、算法的含義例1、詳細步驟:Step1:輸入n,如果n=2,則n是質(zhì)數(shù),結(jié)束;若n>2,執(zhí)行第二步;Step2:令flag=1;Step3:1)d=2;

2)d整除n?21)是,flag=0;

22)否,d自增加1(d=d+1);

3)d<=n-1且flag=1?

31)是,重新判斷第2)步(即轉(zhuǎn)2)步);

32)否,下一步;Step4:flag=1?41)是,n是質(zhì)數(shù);

42)否,n不是質(zhì)數(shù)??驁D1、算法的含義例1、詳細步驟:Step1:輸入n,如果n=5

1、算法的含義例2、用二分法求方程x2-2=0的近似根的算法。Step1:令f(x)=x2-2,取區(qū)間端點為x1=1,x2=2,則f(x1)<0,f(x2)>0;Step2:令m=(x1+x2)/2,判斷f(m)=0?若是,m即為所求,停止;Step3:否則,判斷f(x1)·f(m)>0?若成立,令x1=m

;否則,令x2=m;Step4:判斷|x1-x2|<e(e=0.005;0.0005;0.00005等)?

若是,x1,x2之間的任意點均為滿足條件的近似根;否則,返回Step2重復(fù)進行??傮w思路:設(shè)定一個區(qū)間,包含方程的根,每次取區(qū)間的中點,改變原區(qū)間的一個端點,以縮小區(qū)間,但始終保持該區(qū)間包含方程的根,最后使區(qū)間縮小到非常小的程度,達到近似根的精度要求,則區(qū)間內(nèi)任意點都可以作為方程的根。框圖1、算法的含義例2、用二分法求方程x2-2=0的近似根的6

1、算法的含義f(x)=x2-2x2=2x1=751、算法的含義f(x)=x2-2x2=2x1=11.51.7

1、算法的含義小結(jié):算法是“傻瓜式”的,即算法要“面面俱到”,不能省略任何一個細小的步驟,只有這樣,才能在設(shè)計出算法后,把具體的執(zhí)行過程交給計算機完成。但,算法有“好”與“不好”之分,“好”的算法可以節(jié)約計算機的執(zhí)行時間,“不好”的算法占用大量的計算機時間。1、算法的含義小結(jié):算法是“傻瓜式”的,即算法要“面面俱到8

1、算法的含義例如:枚舉法。

x1,x2,x3,x4,x5為0-999之間的整數(shù),求滿足x1+x2+x3+x4+x5=2050的條件下,乘積x1·x2·x3·x4·x5

達到最大。解:計算機枚舉出所有可能的組合(1000)5=1015,現(xiàn)有計算機計算約為200多年。而實際上,可以找到算法算出,當(dāng)x1=x2=x3=x4=x5=410時,x1·x2·x3·x4·x5

達到最大。1、算法的含義例如:枚舉法。9

2、程序框圖框圖:又稱流程圖,是表達算法的重要工具,借助框圖,人們可以清晰而條理地表達思想。理解:1、框圖的表現(xiàn)形式:程序框和流程線的組合形式。2、程序框和流程線是一種形式規(guī)范,好的形式規(guī)范,是交流重要前提。3、通過框圖將解題思想表達為計算機的“思維”習(xí)慣。2、程序框圖框圖:又稱流程圖,是表達算法的重要工具,借助框10例1的框圖開始輸入nflag=0flag=1n不是質(zhì)數(shù)d整除n?結(jié)束d=2否是n>2?d=d+1d<n-1且flag=1?flag=1?n是質(zhì)數(shù)否是否否是返回例1的框圖開始輸入nflag=0flag=1n不是質(zhì)數(shù)d整除11例2的框圖返回開始f(x)=x2-2m=(x1+x2)/2輸出mf(x1)f(m)>0?結(jié)束x1=m否是f(m)=0?x2=m|x1-x2|<e?輸入初值x1,x2,誤差e是否是否例2的框圖返回開始f(x)=x2-2m=(x1+x2)/212

2、程序框圖通過框圖,算法的邏輯結(jié)構(gòu)表現(xiàn)得非常清楚,通常有三種結(jié)構(gòu):1.順序結(jié)構(gòu);2.條件(選擇)結(jié)構(gòu);3.循環(huán)結(jié)構(gòu)。2、程序框圖通過框圖,算法的邏輯結(jié)構(gòu)表現(xiàn)得非常清楚,通常有13

2、程序框圖(1)順序結(jié)構(gòu)例3:已知三角形的三邊邊長為2,3,4,計算面積。思路:1、秦九韶面積公式:S=[p(p-a)(p-b)(p-c)]1/22、其中,p=(a+b+c)/2解決:1、輸入邊長a,b,c,計算p的值。2、按公式計算S,輸出S。2、程序框圖(1)順序結(jié)構(gòu)思路:解決:14

2、程序框圖解:開始p=(a+b+c)/2S=[p(p-a)(p-b)(p-c)]1/2輸出S結(jié)束輸入a,b,c2、程序框圖解:開始p=(a+b+c)/2S=[p(p-15

2、程序框圖(2)條件結(jié)構(gòu)例4:任意給定3個正實數(shù),判斷分別以這些實數(shù)為邊長的三角形是否存在。思路:1、條件:a+b>c且a+c>b且b+c>a2、條件成立,存在該三角形,否則,不存在。解決:1、輸入邊長a,b,c,判斷思路1中的條件。2、根據(jù)思路2中的結(jié)論,輸出結(jié)論。2、程序框圖(2)條件結(jié)構(gòu)思路:解決:16

2、程序框圖解:開始a+b>c且a+c>b且b+c>a同時成立?存在這樣的三角形結(jié)束輸入a,b,c不存在這樣的三角形否是2、程序框圖解:開始a+b>c且a+c>b且b+c>a存在17

2、程序框圖(3)循環(huán)結(jié)構(gòu)例5:設(shè)計一個計算1+2+…+100的值的算法。思路:1、算法要實現(xiàn)累加:問題是一個連加,按照算法的通用性和普適性來說,該問題的共性是加法,且重復(fù)。2、有限次完成。解決:1、設(shè)置一個累加變量,用于存放總和。2、設(shè)置一個計數(shù)變量,用于判斷累加次數(shù)是否超過100次。2、程序框圖(3)循環(huán)結(jié)構(gòu)思路:解決:18

2、程序框圖解:開始i=1sum=0sum=sum+i輸出sumi>100?結(jié)束i=i+1否是否是開始i=1sum=0sum=sum+i輸出sumi<=100?結(jié)束i=i+1直到型當(dāng)型2、程序框圖解:開始i=1sum=0sum=sum+i輸19習(xí)題:

1、設(shè)計一個求12+22+…+1002的值。(思考)2、某居民區(qū)的物業(yè)部門每月向居民收取衛(wèi)生費:3人和3人以下的住戶,每月收取5元,超過3人的住戶,每超過1人加收1.2元.設(shè)計算法,根據(jù)輸入的人數(shù),計算應(yīng)收取的衛(wèi)生費,畫出框圖。(思考)習(xí)題:

1、設(shè)計一個求12+22+…+1002的值。(思考)20解答:

1、略。2、分析:衛(wèi)生費是一個分段函數(shù):開始x>3?輸出m結(jié)束輸入人數(shù)xm=5否是m=5+(x-3)·1.2解答:

1、略。2、分析:衛(wèi)生費是一個分段函數(shù):21

3、實現(xiàn)算法的程序計算機要完成任何一項任務(wù)都需要算法,但要讓計算機正確執(zhí)行,必須要將算法“翻譯”成計算機能夠讀懂的程序才能執(zhí)行。高級語言包括:BASIC,PASCAL,C,C++(VisualC++,BlandC++等),JAVA,PowerBuilder,Delphi等,只要掌握一門或兩門高級語言即可。3、實現(xiàn)算法的程序計算機要完成任何一項任務(wù)都需要算法,但要22

3、實現(xiàn)算法的程序例1、用描點法作函數(shù)的圖像時,要求出自變量和函數(shù)的一組對應(yīng)值,編寫程序,分別計算當(dāng)x=-5,-4,-3,-2,-1,0,1,2,3,4,5時的函數(shù)值.3、實現(xiàn)算法的程序例1、用描點法作函數(shù)23

3、實現(xiàn)算法的程序例2、計算一個學(xué)生的數(shù)學(xué)、語文、英語三門課的平均成績.例3、給一個變量重復(fù)賦值.例4、交換兩個變量A和B的值,并輸出交換前后的值.3、實現(xiàn)算法的程序例2、計算一個學(xué)生的數(shù)學(xué)、語文、英語三門24

3、實現(xiàn)算法的程序例5、編寫程序求ax2+bx+c=0方程的根.例6、編寫程序,使任意輸入的3個數(shù)從大到小的順序輸出.習(xí)題:判斷一年是否為閏年的程序.3、實現(xiàn)算法的程序例5、編寫程序求ax2+bx+c=0方程25

3、實現(xiàn)算法的程序循環(huán)結(jié)構(gòu):編寫求和程序.編寫判斷是否是質(zhì)數(shù)的程序.思考:改進判斷質(zhì)數(shù)的程序.習(xí)題:二分法求x2-2=0的近似根.3、實現(xiàn)算法的程序循環(huán)結(jié)構(gòu):編寫求和程序.編寫判斷是否是質(zhì)26案例1:輾轉(zhuǎn)法相除求兩數(shù)最大公約數(shù)求8251與6105的最大公約數(shù)8251=61051+21466105=22146+18132146=18131+3331813=5333+148333=2148+37148=437+0

4、典型的算法介紹案例1:輾轉(zhuǎn)法相除求兩數(shù)最大公約數(shù)求8251與6105的最大27程序流程圖r=mMODnm=nn=rr=0?否是程序流程圖r=mMODnm=nn=rr=0?否是28更相減損術(shù)可半者半之,不可半者,副置分母、子之?dāng)?shù),以少減多,更相減損,求其等著,以等數(shù)約之。第1步:任給兩個正整數(shù);判斷它們是否是偶數(shù),若是,用2約簡;若不是,執(zhí)行第2步。第2步:以較大的數(shù)減去較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù),繼續(xù)這個操作直到所得的數(shù)相等為止。例1

更相減損術(shù)求98與63的最大公約數(shù)更相減損術(shù)可半者半之,不可半者,副置分母、子之?dāng)?shù),以少減多,29案例2:秦九韶算法f(x)=x5+x4+x3+x2+x+1(需做10次乘法,5次加法)

=x*x*x*x*x+x*x*x*x+x*x*x+x*x+x

=((((xx+x)x+x)x+x)x+x+1)(4次乘法,5次加法)f(x)=anxn+an-1xn-1+…a1x+a0

=(…(((anx+an-1)x+…+a1)

x+a0

=(anxn-1+an-1xn-2+…a1

)x+a0

=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0

=…案例2:秦九韶算法f(x)=x5+x4+x3+x2+x+1(30v1=55+2=27v2=275

+3.5=138.5v3=138.55-2.6=689.9

v4=689.9

5+1.7=3451.2v5=3451.25-0.8=17255.2

例2:已知一個5次多項式為

f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8思考:總計多少次乘,多少次加?f(x)=anxn+an-1xn-1+…a1x+a0

=(…(((anx+an-1)x+…+a1)

x+a0v1=55+2=27例2:已知一個5次多項式31程序流程圖

v0=an

vk=vk-1x+an-k(k=1,2,…,n)輸入a0,a1

,a2,a3,a4,a5輸入x0n=1n5?否是結(jié)束v=a5輸出vv=vx0

+a5-nn=n+1開始程序流程圖v0=an輸入a0,a1,a2,a3,32案例3:排序i012345678

{(49),38,65,97,76,13,27,49}2(38){(38,49),65,97,76,13,27,49}3{(38,49,65),97,76,13,27,49}4{(38,49,65,97),76,13,27,49}5(76){(38,49,65,76,97),13,27,49}6(13){(13,38,49,65,76,97),27,49}7(27){(13,27,38,49,65,76,97),49}8(49){(13,27,38,49,49,65,76,97)}實例數(shù)據(jù)1:(49),38,65,97,76,13,27,49案例3:排序i0123433直接插入排序i0123456

{(8),3,2,5,9,6}2(3){(3,8),2,5,9,6}3(2){(2,3,8),5,9,6}4(5){(2,3,5,8),9,6}5(9){(2,3,5,8,9),6}6(6){(2,3,5,6,8,9)}實例數(shù)據(jù)2:8,3,2,5,9,6直接插入排序i012334例3

用冒泡法對數(shù)據(jù)7,5,3,9,1從小到大進行排序753915739153791953713571953791357193517935179315791357913579見程序paixu2.bas例3用冒泡法對數(shù)據(jù)7,5,3,9,1從小到大進行排序75535案例4:進位制進位制是人們?yōu)榱擞嫈?shù)和運算方便而約定的計數(shù)系統(tǒng),“滿幾進一”就是幾進制。幾進制的基數(shù)就是幾。3721=3103+7102+2101+1100一般地,若k是一個大于1的整數(shù),那么以k為基數(shù)的k進制數(shù)可以表示為一串?dāng)?shù)字連寫在一起的形式

anan-1…

a1a0(k)(0<an<k,0an-1,

an-1,

,

a1,

a0<k).110011(2)=125+124+023+022+121+1207342(8)=783+382+481+280案例4:進位制進位制是人們?yōu)榱擞嫈?shù)和運算方便而約定的計數(shù)系統(tǒng)36例4

把二進制數(shù)110011(2)化為十進制數(shù)110011(2)=125+124+023+022+121+120

=132+116+12

+1=51

例5

把89二進制數(shù)89=244+144=222+022=211+089=2(2(2(2(22+1)+1)+0)+0)+1=126+025+124+123+022+021+12011=25+15=22+1例4把二進制數(shù)110011(2)化為十進制數(shù)110011(37除2取余法89441220110512110012222222余數(shù)89=(1011001)2除2取余法89441220110538例6

把89五進制數(shù)891743203555余數(shù)89=(324)5例6把89五進制數(shù)8917432039

思考割圓術(shù)循環(huán)結(jié)構(gòu):編寫求和程序.設(shè)圓的半徑為1,弦心距為hn,邊長為xn,面積為Sn,由勾股定理hnxnx2n思考割圓術(shù)循環(huán)結(jié)構(gòu):編寫求和程序.設(shè)圓的半徑為1,弦40金亞洲注冊/zsj352uip謝謝觀看金亞洲注冊http://www.jinyazhou888.411、算法初步目標(biāo):了解算法的基本思想;培養(yǎng)使用算法的思想進行思考與表達解決問題的能力。內(nèi)容:1、算法的含義。2、程序框圖。3、實現(xiàn)算法的程序。4、典型的算法介紹。1、算法初步目標(biāo):了解算法的基本思想;培養(yǎng)使用算法的思想進行42

1、算法的含義算法:用計算機解決問題的某一類問題的程序或步驟,且在有限步內(nèi)完成。理解:1、算法是一種解決問題的過程和步驟。2、算法是解決某一類問題的。3、算法具有某種意義上的通用性和普適性。4、算法是與計算機對話的一種思維方式。5、算法必須有限步完成。1、算法的含義算法:用計算機解決問題的某一類問題的程序或步43舉例:求一元二次方程ax2+bx+c=0的實根。

用算法的思想怎樣來求?(全解p7例三)

1、算法的含義因式分解的方法行不行?不具有通用性!解:Step1:確定a,b,cStep2:計算判別式Step3:判別的符號Step4:三種結(jié)果1)無實根;2)有兩個相等實根;3)有兩個不等實根。Step5:輸出實根開始輸入a,b,c=b2-4ac;p=-b/2a;q=||1/2/2a>=0x1=p+q;x2=p-q;兩個相等實根x1,x2輸出不等實根x1,x2無實根x1=x2?結(jié)束否是是否舉例:求一元二次方程ax2+bx+c=0的實根。

用算法的思44

1、算法的含義例1任意給定一個大于1的整數(shù)n,試設(shè)計一個算法步驟對n是否為質(zhì)數(shù)做出判斷。Step1:輸入n,如果n=2,則n是質(zhì)數(shù);若n>2,執(zhí)行第二步;Step2:令flag=1,標(biāo)記flag區(qū)分是否存在整除的情況;Step3:依次從2~n-1循環(huán)檢驗是否為n的因數(shù),在某一步,若是n的因數(shù),則令flag=0,中途直接停止即可,并作出判斷,n不是質(zhì)數(shù);Step4:如果循環(huán)檢查完2~n-1中的每一個數(shù),flag=1仍然成立,則可以做出判斷,n是質(zhì)數(shù)??傮w思路:如果n大于2,將n依次除以2~n-1,檢查每一次是否整除,若某一次整除,則n不是質(zhì)數(shù),否則,全部檢查完,仍沒有整除的情況,則n是質(zhì)數(shù);n=2,直接判斷是質(zhì)數(shù)。1、算法的含義例1任意給定一個大于1的整數(shù)n,試設(shè)計一個45

1、算法的含義例1、詳細步驟:Step1:輸入n,如果n=2,則n是質(zhì)數(shù),結(jié)束;若n>2,執(zhí)行第二步;Step2:令flag=1;Step3:1)d=2;

2)d整除n?21)是,flag=0;

22)否,d自增加1(d=d+1);

3)d<=n-1且flag=1?

31)是,重新判斷第2)步(即轉(zhuǎn)2)步);

32)否,下一步;Step4:flag=1?41)是,n是質(zhì)數(shù);

42)否,n不是質(zhì)數(shù)??驁D1、算法的含義例1、詳細步驟:Step1:輸入n,如果n=46

1、算法的含義例2、用二分法求方程x2-2=0的近似根的算法。Step1:令f(x)=x2-2,取區(qū)間端點為x1=1,x2=2,則f(x1)<0,f(x2)>0;Step2:令m=(x1+x2)/2,判斷f(m)=0?若是,m即為所求,停止;Step3:否則,判斷f(x1)·f(m)>0?若成立,令x1=m

;否則,令x2=m;Step4:判斷|x1-x2|<e(e=0.005;0.0005;0.00005等)?

若是,x1,x2之間的任意點均為滿足條件的近似根;否則,返回Step2重復(fù)進行??傮w思路:設(shè)定一個區(qū)間,包含方程的根,每次取區(qū)間的中點,改變原區(qū)間的一個端點,以縮小區(qū)間,但始終保持該區(qū)間包含方程的根,最后使區(qū)間縮小到非常小的程度,達到近似根的精度要求,則區(qū)間內(nèi)任意點都可以作為方程的根??驁D1、算法的含義例2、用二分法求方程x2-2=0的近似根的47

1、算法的含義f(x)=x2-2x2=2x1=751、算法的含義f(x)=x2-2x2=2x1=11.51.48

1、算法的含義小結(jié):算法是“傻瓜式”的,即算法要“面面俱到”,不能省略任何一個細小的步驟,只有這樣,才能在設(shè)計出算法后,把具體的執(zhí)行過程交給計算機完成。但,算法有“好”與“不好”之分,“好”的算法可以節(jié)約計算機的執(zhí)行時間,“不好”的算法占用大量的計算機時間。1、算法的含義小結(jié):算法是“傻瓜式”的,即算法要“面面俱到49

1、算法的含義例如:枚舉法。

x1,x2,x3,x4,x5為0-999之間的整數(shù),求滿足x1+x2+x3+x4+x5=2050的條件下,乘積x1·x2·x3·x4·x5

達到最大。解:計算機枚舉出所有可能的組合(1000)5=1015,現(xiàn)有計算機計算約為200多年。而實際上,可以找到算法算出,當(dāng)x1=x2=x3=x4=x5=410時,x1·x2·x3·x4·x5

達到最大。1、算法的含義例如:枚舉法。50

2、程序框圖框圖:又稱流程圖,是表達算法的重要工具,借助框圖,人們可以清晰而條理地表達思想。理解:1、框圖的表現(xiàn)形式:程序框和流程線的組合形式。2、程序框和流程線是一種形式規(guī)范,好的形式規(guī)范,是交流重要前提。3、通過框圖將解題思想表達為計算機的“思維”習(xí)慣。2、程序框圖框圖:又稱流程圖,是表達算法的重要工具,借助框51例1的框圖開始輸入nflag=0flag=1n不是質(zhì)數(shù)d整除n?結(jié)束d=2否是n>2?d=d+1d<n-1且flag=1?flag=1?n是質(zhì)數(shù)否是否否是返回例1的框圖開始輸入nflag=0flag=1n不是質(zhì)數(shù)d整除52例2的框圖返回開始f(x)=x2-2m=(x1+x2)/2輸出mf(x1)f(m)>0?結(jié)束x1=m否是f(m)=0?x2=m|x1-x2|<e?輸入初值x1,x2,誤差e是否是否例2的框圖返回開始f(x)=x2-2m=(x1+x2)/253

2、程序框圖通過框圖,算法的邏輯結(jié)構(gòu)表現(xiàn)得非常清楚,通常有三種結(jié)構(gòu):1.順序結(jié)構(gòu);2.條件(選擇)結(jié)構(gòu);3.循環(huán)結(jié)構(gòu)。2、程序框圖通過框圖,算法的邏輯結(jié)構(gòu)表現(xiàn)得非常清楚,通常有54

2、程序框圖(1)順序結(jié)構(gòu)例3:已知三角形的三邊邊長為2,3,4,計算面積。思路:1、秦九韶面積公式:S=[p(p-a)(p-b)(p-c)]1/22、其中,p=(a+b+c)/2解決:1、輸入邊長a,b,c,計算p的值。2、按公式計算S,輸出S。2、程序框圖(1)順序結(jié)構(gòu)思路:解決:55

2、程序框圖解:開始p=(a+b+c)/2S=[p(p-a)(p-b)(p-c)]1/2輸出S結(jié)束輸入a,b,c2、程序框圖解:開始p=(a+b+c)/2S=[p(p-56

2、程序框圖(2)條件結(jié)構(gòu)例4:任意給定3個正實數(shù),判斷分別以這些實數(shù)為邊長的三角形是否存在。思路:1、條件:a+b>c且a+c>b且b+c>a2、條件成立,存在該三角形,否則,不存在。解決:1、輸入邊長a,b,c,判斷思路1中的條件。2、根據(jù)思路2中的結(jié)論,輸出結(jié)論。2、程序框圖(2)條件結(jié)構(gòu)思路:解決:57

2、程序框圖解:開始a+b>c且a+c>b且b+c>a同時成立?存在這樣的三角形結(jié)束輸入a,b,c不存在這樣的三角形否是2、程序框圖解:開始a+b>c且a+c>b且b+c>a存在58

2、程序框圖(3)循環(huán)結(jié)構(gòu)例5:設(shè)計一個計算1+2+…+100的值的算法。思路:1、算法要實現(xiàn)累加:問題是一個連加,按照算法的通用性和普適性來說,該問題的共性是加法,且重復(fù)。2、有限次完成。解決:1、設(shè)置一個累加變量,用于存放總和。2、設(shè)置一個計數(shù)變量,用于判斷累加次數(shù)是否超過100次。2、程序框圖(3)循環(huán)結(jié)構(gòu)思路:解決:59

2、程序框圖解:開始i=1sum=0sum=sum+i輸出sumi>100?結(jié)束i=i+1否是否是開始i=1sum=0sum=sum+i輸出sumi<=100?結(jié)束i=i+1直到型當(dāng)型2、程序框圖解:開始i=1sum=0sum=sum+i輸60習(xí)題:

1、設(shè)計一個求12+22+…+1002的值。(思考)2、某居民區(qū)的物業(yè)部門每月向居民收取衛(wèi)生費:3人和3人以下的住戶,每月收取5元,超過3人的住戶,每超過1人加收1.2元.設(shè)計算法,根據(jù)輸入的人數(shù),計算應(yīng)收取的衛(wèi)生費,畫出框圖。(思考)習(xí)題:

1、設(shè)計一個求12+22+…+1002的值。(思考)61解答:

1、略。2、分析:衛(wèi)生費是一個分段函數(shù):開始x>3?輸出m結(jié)束輸入人數(shù)xm=5否是m=5+(x-3)·1.2解答:

1、略。2、分析:衛(wèi)生費是一個分段函數(shù):62

3、實現(xiàn)算法的程序計算機要完成任何一項任務(wù)都需要算法,但要讓計算機正確執(zhí)行,必須要將算法“翻譯”成計算機能夠讀懂的程序才能執(zhí)行。高級語言包括:BASIC,PASCAL,C,C++(VisualC++,BlandC++等),JAVA,PowerBuilder,Delphi等,只要掌握一門或兩門高級語言即可。3、實現(xiàn)算法的程序計算機要完成任何一項任務(wù)都需要算法,但要63

3、實現(xiàn)算法的程序例1、用描點法作函數(shù)的圖像時,要求出自變量和函數(shù)的一組對應(yīng)值,編寫程序,分別計算當(dāng)x=-5,-4,-3,-2,-1,0,1,2,3,4,5時的函數(shù)值.3、實現(xiàn)算法的程序例1、用描點法作函數(shù)64

3、實現(xiàn)算法的程序例2、計算一個學(xué)生的數(shù)學(xué)、語文、英語三門課的平均成績.例3、給一個變量重復(fù)賦值.例4、交換兩個變量A和B的值,并輸出交換前后的值.3、實現(xiàn)算法的程序例2、計算一個學(xué)生的數(shù)學(xué)、語文、英語三門65

3、實現(xiàn)算法的程序例5、編寫程序求ax2+bx+c=0方程的根.例6、編寫程序,使任意輸入的3個數(shù)從大到小的順序輸出.習(xí)題:判斷一年是否為閏年的程序.3、實現(xiàn)算法的程序例5、編寫程序求ax2+bx+c=0方程66

3、實現(xiàn)算法的程序循環(huán)結(jié)構(gòu):編寫求和程序.編寫判斷是否是質(zhì)數(shù)的程序.思考:改進判斷質(zhì)數(shù)的程序.習(xí)題:二分法求x2-2=0的近似根.3、實現(xiàn)算法的程序循環(huán)結(jié)構(gòu):編寫求和程序.編寫判斷是否是質(zhì)67案例1:輾轉(zhuǎn)法相除求兩數(shù)最大公約數(shù)求8251與6105的最大公約數(shù)8251=61051+21466105=22146+18132146=18131+3331813=5333+148333=2148+37148=437+0

4、典型的算法介紹案例1:輾轉(zhuǎn)法相除求兩數(shù)最大公約數(shù)求8251與6105的最大68程序流程圖r=mMODnm=nn=rr=0?否是程序流程圖r=mMODnm=nn=rr=0?否是69更相減損術(shù)可半者半之,不可半者,副置分母、子之?dāng)?shù),以少減多,更相減損,求其等著,以等數(shù)約之。第1步:任給兩個正整數(shù);判斷它們是否是偶數(shù),若是,用2約簡;若不是,執(zhí)行第2步。第2步:以較大的數(shù)減去較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù),繼續(xù)這個操作直到所得的數(shù)相等為止。例1

更相減損術(shù)求98與63的最大公約數(shù)更相減損術(shù)可半者半之,不可半者,副置分母、子之?dāng)?shù),以少減多,70案例2:秦九韶算法f(x)=x5+x4+x3+x2+x+1(需做10次乘法,5次加法)

=x*x*x*x*x+x*x*x*x+x*x*x+x*x+x

=((((xx+x)x+x)x+x)x+x+1)(4次乘法,5次加法)f(x)=anxn+an-1xn-1+…a1x+a0

=(…(((anx+an-1)x+…+a1)

x+a0

=(anxn-1+an-1xn-2+…a1

)x+a0

=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0

=…案例2:秦九韶算法f(x)=x5+x4+x3+x2+x+1(71v1=55+2=27v2=275

+3.5=138.5v3=138.55-2.6=689.9

v4=689.9

5+1.7=3451.2v5=3451.25-0.8=17255.2

例2:已知一個5次多項式為

f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8思考:總計多少次乘,多少次加?f(x)=anxn+an-1xn-1+…a1x+a0

=(…(((anx+an-1)x+…+a1)

x+a0v1=55+2=27例2:已知一個5次多項式72程序流程圖

v0=an

vk=vk-1x+an-k(k=1,2,…,n)輸入a0,a1

,a2,a3,a4,a5輸入x0n=1n5?否是結(jié)束v=a5輸出vv=vx0

+a5-nn=n+1開始程序流程圖v0=an輸入a0,a1,a2,a3,73案例3:排序i012345678

{(49),38,65,97,76,13,27,49}2(38){(38,49),65,97,76,13,27,49}3{(38,49,65),97,76,13,27,49}4{(38,49,65,97),76,13,27,49}5(76){(38,49,65,76,97),13,27,49}6(13){(13,38,49,65,76,97),27,49}7(27){(13,27,38,49,65,76,97),49}8(49){(13,27,38,49,49,65,76,97)}實例數(shù)據(jù)1:(49),38,65,97,76,13,27,49案例3:排序i012

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論