版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.1.1算法的概念1.1.1算法的概念1高中數(shù)學(xué)人教版必修三課件2高中數(shù)學(xué)人教版必修三課件3算法的概念算法通常指可以用來解決的某一類問題的步驟或程序,這些步驟或程序必須是明確的和有效的,而且能夠在有限步之內(nèi)完成的。一般來說,“用算法解決問題”可以利用計算機(jī)幫助完成。算法的概念算法通常指可以用來解決的某一類問題一般來說,“用4
一位商人有9枚銀元,其中有1枚略輕的是假銀元。你能用天平(不用砝碼)將假銀元找出來嗎?
一位商人有9枚銀元,其中有1枚略輕的是假銀元。你能用天平(5用二分法求方程的近似正根,精確度0.05。用二分法求方程的6例用二分法設(shè)計一個求方程的近似正根的算法,精確度0.05。解例用二分法設(shè)計一個求方程解7練習(xí)任意給定一個正實(shí)數(shù)a,試設(shè)計一個算法求以a為直徑的圓的面積。第一步:輸入a的值.第二步:________________________.第三步:________________________.第四步:輸出圓的面積的值.解練習(xí)第一步:輸入a的值.第二步:______________8例任意給定一個大于1的整數(shù)n,試設(shè)計一個程序或步驟對n是否為質(zhì)數(shù)作出判斷。第一步:判斷n是否等于2。若n=2,則n是質(zhì)數(shù);若n>2,則執(zhí)行第二步;第二步:依次從2到(n-1)檢驗(yàn)是不是n的因數(shù),即是否能整除n的數(shù)。若有這樣的數(shù),則n不是質(zhì)數(shù);否則,n是質(zhì)數(shù)。解:例任意給定一個大于1的整數(shù)n,試設(shè)計第一步:判斷n是否等于29練習(xí)任意給定3個正實(shí)數(shù),試設(shè)計一個算法,判斷分別以這三個數(shù)為三邊邊長的三角形是否存在。第一步:輸入三個正實(shí)數(shù)a,b,c.解練習(xí)第一步:輸入三個正實(shí)數(shù)a,b,c.解10算法的特征是什么?小結(jié):明確性有效性有限性算法的概念:算法通常指可以用來解決的某一類問題的步驟或程序,這些步驟或程序必須是明確的和有效的,而且能夠在有限步之內(nèi)完成的。算法的特征是什么?小結(jié):明確性有效性有限性算法的概念:算法通11作業(yè):1、寫出你在家里燒開水過程的一個算法。2、已知平面直角坐標(biāo)系的兩點(diǎn)A(-1,0),
B(3,2),寫出求直線AB的方程的一個算法。作業(yè):1、寫出你在家里燒開水過程的一個算法。2、已知平面直角12§1.1.2程序框圖算法初步§1.1.2程序框圖算法初步13復(fù)習(xí)1、算法的概念2、算法的特點(diǎn)3、常見的幾個例子4、判斷一個正整數(shù)是否是質(zhì)數(shù)的算法復(fù)習(xí)1、算法的概念2、算法的特點(diǎn)3、常見的幾個例子4、判斷一14算法的概念算法是指解決給定問題的有窮操作步驟的描述,簡單的說,算法就是解決問題的步驟和方法。算法的概念算法是指解決給定問題的有窮操作步驟的描述,簡單的說15算法的基本特點(diǎn)1、有窮性一個算法應(yīng)包括有限的操作步驟,能在執(zhí)行有窮的操作步驟之后結(jié)束。2、確定性算法的計算規(guī)則及相應(yīng)的計算步驟必須是唯一確定的,既不能含糊其詞,也不能有二義性。3、可行性算法中的每一個步驟都是可以在有限的時間內(nèi)完成的基本操作,并能得到確定的結(jié)果。算法的基本特點(diǎn)1、有窮性一個算法應(yīng)包括有限的操作步驟,能在執(zhí)16判斷一個正整數(shù)是否是質(zhì)數(shù)的算法自然語言描述圖形描述第一步:判斷n是否等于2?若n=2,則n是質(zhì)數(shù),否則,執(zhí)行第二步;第二步:依次從2~(n-1)檢驗(yàn)是不是n的因數(shù),即能整除n的數(shù),若有這樣的數(shù),則n不是質(zhì)數(shù);若沒有,則n是質(zhì)數(shù)。開始輸入nn=2?d=2flag=0d=d+1d整除n?d<=n-1且flag=1?flag=1?n是質(zhì)數(shù)n不是質(zhì)數(shù)結(jié)束是否否是否是否是判斷一個正整數(shù)是否是質(zhì)數(shù)的算法自然語言描述圖形描述第一步:判17判斷一個正整數(shù)是否是質(zhì)數(shù)的算法圖形描述開始輸入nn=2?d=2flag=0d=d+1d整除n?d<=n-1且flag=1?flag=1?n是質(zhì)數(shù)n不是質(zhì)數(shù)結(jié)束是否否是否是否思考:1、flag的作用是什么?2、d=d+1是什么意思?3、整個圖形中有哪些基本的圖形,各自的意義和作用是什么?是判斷一個正整數(shù)是否是質(zhì)數(shù)的算法圖形描述開始輸入nn=2?d=18程序框圖又稱流程圖,是一種用規(guī)定的圖形,指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形。程序框名稱功能終端框(起止框)表示一個算法的起始和結(jié)束輸入、輸出框表示算法的輸入和輸出的信息處理框(執(zhí)行框)賦值、計算判斷框判斷一個條件是否成立,用“是”、“否”或“Y”、“N”標(biāo)明程序框圖又稱流程圖,是一種用規(guī)定的圖形,指向線及文字說明來準(zhǔn)19例1設(shè)計一算法:輸入圓的半徑,輸出圓的面積,并畫出流程圖算法分析:第一步:輸入圓的半徑第二步:利用公式“圓的面積=圓周率×(半徑的平方)”計算圓的面積;第三步:輸出圓的面積。開始結(jié)束輸入半徑R計算S=Pi*R*R輸出面積S定義Pi=3.14思考:整個程序框圖有什么特點(diǎn)?例1設(shè)計一算法:輸入圓的半徑,輸出圓的面積,并畫出流程圖20例2已知一個三角形的三邊長確分別為2,3,4,利用海傖-秦九韶公式設(shè)計一個算法,求出它的p=(2+3+4)/2s=SQR(p*(p-2)*(p-3)*(p-4))輸出s結(jié)束開始面積,畫出算法的程序框圖.
例2已知一個三角形的三邊長確分別為2,3,4,利用海傖-秦21例3設(shè)計房租收費(fèi)的算法,其要求是:住房面積80平方米以內(nèi),每平方米收費(fèi)3元,住房面積超過80平方米時,超過部分,每平方米收費(fèi)5元.輸入住房面積數(shù),輸出應(yīng)付的房租.算法分析:第一步:輸入住房面積S第二步:根據(jù)面積選擇計費(fèi)方式:如果S小于或等于80,則租金為M=s×3,否則為M=240+(S-80)×5第三步:輸出房租M的值。開始結(jié)束輸入面積S輸出租金MS<=80M=3*SM=240+5*(S-8)否是思考:整個程序框圖有什么特點(diǎn)?例3設(shè)計房租收費(fèi)的算法,其要求是:住房面積80平方米以內(nèi),22例4
任意給定3個正實(shí)數(shù),設(shè)計一個算法,判斷分別以這3個數(shù)為三邊邊長的三角形是否存在.畫出這個算法的程序框圖..
開始輸入a,b,ca+b>c,a+c>b,b+c>a是否同時成立?存在這樣的三角形不存在這樣的三角形結(jié)束否是例4任意給定3個正實(shí)數(shù),設(shè)計一個算法,判斷分別以這3個數(shù)為23例5
設(shè)計一個計算1+2+...+100的值的算法,并畫出程序框圖.開始i=1sum=0i=i+1sum=sum+1i≤100?輸出sum結(jié)束否是例5設(shè)計一個計算1+2+...+100的值的算法,并畫出程24練習(xí)鞏固1看下面的程序框圖,分析算法的作用(1)開始結(jié)束輸入xy=3*x*x+4*x+5輸出y(2)開始結(jié)束輸入a,ba<b?輸出a,b輸出b,a否是練習(xí)鞏固1看下面的程序框圖,分析算法的作用(1)開始結(jié)束輸25練習(xí)2城區(qū)一中學(xué)生數(shù)學(xué)模塊學(xué)分認(rèn)定由模塊成績決定,模塊成績由模塊考試成績和平時成績構(gòu)成,各占50%,若模塊成績大于或等于60分,獲得2學(xué)分,否則不能獲得學(xué)分(為0分),設(shè)計一算法,通過考試成績和平時成績計算學(xué)分,并畫出程序框圖開始結(jié)束輸入a,bS>=60?credit=2credit=0否是S=(a+b)*0.5輸出credit練習(xí)2城區(qū)一中學(xué)生數(shù)學(xué)模塊學(xué)分認(rèn)定由模塊成績決定,模塊成績由26課堂作業(yè)P11開始輸入aa≥0輸出|a|=a輸出|a|=-a結(jié)束NY練習(xí)1課堂作業(yè)P11開始輸入aa≥0輸出|a|=a輸出|a|27開始X1=1X2=2m=(x1+x2)/2x2=mx1=mm*m-3<>0|x1-x2|<0.005(x1*x1-3)*(m*m-3)>0輸出所求的近似值m結(jié)束m=(x1+x2)/2NyyN練習(xí)2開始X1=1X2=2m=(x1+x2)/2x2=mx1=mm28高中數(shù)學(xué)人教版必修三課件29開始輸入nflag=1d=2flag=0d=d+1n>2d整除n?d<=n-1且flag=1?flag=1?n是質(zhì)數(shù)n不是質(zhì)數(shù)結(jié)束是否否是否是否是開始輸入nflag=1d=2flag=0d=d+1n>2d整30順序結(jié)構(gòu)輸入nflag=1順序結(jié)構(gòu)輸入nflag=131條件結(jié)構(gòu)flag=1?n是質(zhì)數(shù)n不是質(zhì)數(shù)結(jié)束是否條件結(jié)構(gòu)flag=1?n是質(zhì)數(shù)n不是質(zhì)數(shù)結(jié)束是否32循環(huán)結(jié)構(gòu)flag=0d=d+1d整除n?d<=n-1且flag=1?否是否是循環(huán)結(jié)構(gòu)flag=0d=d+1d整除n?d<=n-1且fla33小結(jié):1、程序框圖的概念2、程序框圖圖例的名稱和意義(作用)3、如何用程序框圖表示順序結(jié)構(gòu)、選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的算法小結(jié):1、程序框圖的概念2、程序框圖圖例的名稱和意義(作用)34§1.1.2程序框圖算法初步§1.1.2程序框圖算法初步35知識回憶1、程序框圖的概念2、程序框圖的圖示和意義3、順序結(jié)構(gòu)和條件結(jié)構(gòu)的特點(diǎn)知識回憶1、程序框圖的概念2、程序框圖的圖示和意義3、順序結(jié)36程序框圖又稱流程圖,是一種用規(guī)定的圖形,指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形。程序框名稱功能終端框(起止框)表示一個算法的起始和結(jié)束輸入、輸出框表示算法的輸入和輸出的信息處理框(執(zhí)行框)賦值、計算判斷框判斷一個條件是否成立,用“是”、“否”或“Y”、“N”標(biāo)明程序框圖又稱流程圖,是一種用規(guī)定的圖形,指向線及文字說明來準(zhǔn)37例1設(shè)計一算法,求和:1+2+3+…+100第一步:確定首數(shù)a,尾數(shù)b,項(xiàng)數(shù)n;第二步:利用公式“總和=(首數(shù)+尾數(shù))×項(xiàng)數(shù)/2”求和;第三步:輸出求和結(jié)果。算法1:開始結(jié)束輸入a,b,nSum=(a+b)*n/2輸出Sum例1設(shè)計一算法,求和:1+2+3+…+100第一步:確定首38例1設(shè)計一算法,求和:1+2+3+…+100算法2:第一步:從1開始將自然數(shù)1、2、3、…、100逐個相加;第二步:輸出累加結(jié)果。思考:1、上邊的式子有怎樣的規(guī)律呢?Sum=0Sum=Sum+1Sum=Sum+2Sum=Sum+3…Sum=Sum+1002、怎么用程序框圖表示呢?i=i+1Sum=Sum+i4、如何使程序結(jié)束?3、i有什么作用?Sum呢?Sum=Sum+i例1設(shè)計一算法,求和:1+2+3+…+100算法2:第一39程序框圖
如圖開始i=1sum=0i=i+1sum=sum+1i≤100?輸出sum結(jié)束否是程序框圖
如圖開始i=1sum=0i=i+1sum=40例2用二分法求解方程求關(guān)于x的方程x2-2=0的根,精確到0.005算法描述第一步令f(x)=x2-2,以為f(1)<0,f(2)>0,所以設(shè)x1=1,x2=2第二步令m=(x1+x2)/2,判斷f(m)是否為0,若是,則m為所求,否則,則繼續(xù)判斷f(x1)·f(m)大于0還是小于0。第三步若f(x1)·f(m)>0則令x1=m,否則x2=m。第四步判斷|x1-x2|<0.005是否成立?若是則x1、x2之間人任意值均為滿足條件的近似值;否則返回第二步。例2用二分法求解方程求關(guān)于x的方程x2-2=0的根,精確41開始x1=1:x2=2f(x)=x2-2x1=mx2=mm=(x1+x2)/2x1=mx2=mf(m)=0?f(x1)f(m)>0|x1-x2|<0.005結(jié)束輸出所求的近似根mm=(x1+x2)/2是否否是否是流程圖表示分析在整個程序框圖中,哪些部分是順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)開始x1=1:x2=2f(x)=x2-2x1=mm=(x1+42
1、對任意正整數(shù)n,的值,并畫出程序框圖.開始輸入一個正整數(shù)n輸入S的值結(jié)束S=0i=1S=S+1/ii=i+1i≤nYN設(shè)計一個算法求練習(xí)鞏固
1、對任意正整數(shù)n,432、設(shè)計一算法,求積:1×2×3×…×100,畫出流程圖結(jié)束輸出Sumi=0,Sum=1開始i=i+1Sum=Sum*ii>=100?否是思考:該流程圖與前面的例3中求和的流程圖有何不同?2、設(shè)計一算法,求積:1×2×3×…×100,畫出流程圖結(jié)束44小結(jié)1、循環(huán)結(jié)構(gòu)的特點(diǎn)2、循環(huán)結(jié)構(gòu)的框圖表示3、循環(huán)結(jié)構(gòu)有注意的問題避免死循環(huán)的出現(xiàn),設(shè)置好進(jìn)入(結(jié)束)循環(huán)體的條件。當(dāng)型和直到型重復(fù)同一個處理過程小結(jié)1、循環(huán)結(jié)構(gòu)的特點(diǎn)2、循環(huán)結(jié)構(gòu)的框圖表示3、循環(huán)結(jié)構(gòu)有注45§1.1.2程序框圖算法初步習(xí)題課§1.1.2程序框圖算法初步習(xí)題課461城區(qū)一中學(xué)生數(shù)學(xué)模塊學(xué)分認(rèn)定由模塊成績決定,模塊成績由模塊考試成績和平時成績構(gòu)成,各占50%,若模塊成績大于或等于60分,獲得2學(xué)分,否則不能獲得學(xué)分(為0分),設(shè)計一算法,通過考試成績和平時成績計算學(xué)分,并畫出程序框圖開始結(jié)束輸入a,bS>=60?credit=2credit=0否是S=(a+b)*0.5輸出credit1城區(qū)一中學(xué)生數(shù)學(xué)模塊學(xué)分認(rèn)定由模塊成績決定,模塊成績由模塊47
2、對任意正整數(shù)n,的值,并畫出程序框圖.開始輸入一個正整數(shù)n輸入S的值結(jié)束S=0i=1S=S+1/ii=i+1i≤nYN設(shè)計一個算法求步驟A步驟B
思考:將步驟A和步驟B交換位置,結(jié)果會怎樣?能達(dá)到預(yù)期結(jié)果嗎?為什么?要達(dá)到預(yù)期結(jié)果,還需要做怎樣的修改?
2、對任意正整數(shù)n,48例3設(shè)計一算法,求和:1+2+3+…+100結(jié)束i=i+1Sum=Sum+ii<100?輸出Sum否是i=0,Sum=0開始結(jié)束輸出Sumi=0,Sum=0開始i=i+1Sum=Sum+ii>=100?否是能否說說這個流程圖的異同點(diǎn)?例3設(shè)計一算法,求和:1+2+3+…+100結(jié)束i=49i=i+1Sum=Sum+i解決方法就是加上一個判斷,判斷是否已經(jīng)加到了100,如果加到了則退出,否則繼續(xù)加。直到型結(jié)構(gòu)當(dāng)型結(jié)構(gòu)i=i+1Sum=Sum+i是否i=i+1Sum=Sum+i否是i<100?i>=100?請?zhí)钌吓袛嗟臈l件。i=i+1Sum=Sum+i解決方法就是加上一個50開始輸入aa≥0輸出|a|=a輸出|a|=-a結(jié)束NYP11練習(xí)1開始輸入aa≥0輸出|a|=a輸出|a|=-a結(jié)束NY51開始X1=1X2=2m=(x1+x2)/2x2=mx1=mm*m-3<>0|x1-x2|<0.005(x1*x1-3)*(m*m-3)>0輸出所求的近似值m結(jié)束m=(x1+x2)/2NyyN練習(xí)2開始X1=1X2=2m=(x1+x2)/2x2=mx1=mm52▲下面是關(guān)于城市居民生活用水收費(fèi)的問題
為了加強(qiáng)居民的節(jié)水意識,某市制定了以下生活用水收費(fèi)標(biāo)準(zhǔn):每戶每月用水未超過7m3時,每立方米收費(fèi)1.0元,并加收0.2元的城市污水處理費(fèi),超過7m3的部分,每立方米收費(fèi)1.5元,并加收0.4元的城市污水處理費(fèi).開始輸入xx≤7y=1.2xy=1.9x-4.9輸入y結(jié)束yNP.11習(xí)題A組第1題
程序框圖▲下面是關(guān)于城市居民生活用水收費(fèi)的問題為了加強(qiáng)居民53開始S=0I=I+1I=1S=S+I*II≤100輸出S
結(jié)束NYP.11習(xí)題1.1A組第2題開始S=0I=I+1I=1S=S+I*II≤100輸出S結(jié)54輸入x開始x>3y=1.2x+1.4y=5輸入y結(jié)束NYP.11習(xí)題A組第3題
程序框圖
輸入x開始x>3y=1.2x+1.4y=5輸入y結(jié)束NYP.55開始輸入50米跑成績:xx<6.8輸出提示“若要繼續(xù)請按鍵”Y“,否則請按其他鍵輸入到變量mm=“y”orm=“Y”結(jié)束輸出xNYYNP.11習(xí)題1.1B組第1題
程序框圖開始輸入50米跑成績:xx<6.8輸出提示“若要繼續(xù)請按輸56開始輸出提出:“輸入第一個方程的系數(shù)”“x的系數(shù)是”:a1“y的系數(shù)是”:b1“常數(shù)項(xiàng)是”:c1輸出“x=”;x“y=”;y方程有無數(shù)多組解a1*b2-a2*b1≠0x=(c2*b1
-c1*b2)/(a1*b2
-a2*b1)y=(c2*b1
-c1*b2)/(a1*b2
-a2*b1)結(jié)束輸出提出:“輸入第二個方程的系數(shù)”“x的系數(shù)是”:a2“y的系數(shù)是”:b2“常數(shù)項(xiàng)是”:c2NYc1=c2方程無解P.11習(xí)題1.1B組第2題開始輸出提出:“輸入“x的系數(shù)是”:a1輸出“x=”;x方程57作業(yè):課外整理所有講過的例題及習(xí)題建構(gòu)程序框圖的系統(tǒng)性作業(yè):58§1.2.2算法基本語句算法初步§1.2.2算法基本語句算法初步59復(fù)習(xí)鞏固1、輸入語句、輸出語句和賦值語句對應(yīng)于算法中的哪種結(jié)構(gòu)?這三種語句的一般格式是什么?2、什么是條件結(jié)構(gòu)?用程序框圖表示這種結(jié)構(gòu)順序結(jié)構(gòu)輸入語句輸出語句賦值語句INPUT
“提示文字”;變量PRINT
“提示內(nèi)容”;表達(dá)式變量=表達(dá)式滿足條件?語句1語句2是否復(fù)習(xí)鞏固1、輸入語句、輸出語句和賦值語句對應(yīng)于算法中的哪種結(jié)60新課講解閱讀P16,思考以下問題1、條件結(jié)構(gòu)用怎樣的程序語句來描述?這種語句的一般格式是怎樣的?2、把下列語句的意義翻譯成程序框圖(1)IFx>0THENy=1ELSEy=0ENDIF(2)IFx<0THENx=ABS(x)
ENDIF
PRINT“x的絕對值為:”;xIF
條件THEN
語句1ELSE
語句2ENDIFIF
條件THEN
語句ENDIF或新課講解閱讀P16,思考以下問題1、條件結(jié)構(gòu)用怎樣的程序語句61例5編寫程序,輸入一元二次方程算法描述:S1:輸入a,b,cS2:計算判別式△S3:如果△<0有兩不同實(shí)根,△=0有兩個相同實(shí)根,△<0否則沒實(shí)數(shù)根。根據(jù)情況輸出結(jié)果。開始輸入a,b,cΔ=b2-4acp=-b/2aq=SQR(ABS(Δ))/(2a)x1=p+qx2=p-qΔ≥0?x1=x2?原方程有兩個不等的實(shí)數(shù)根x1,x2原方程有兩個相等的實(shí)數(shù)根x1,x2原方程無實(shí)數(shù)根結(jié)束是否是否的系數(shù),輸出它的實(shí)數(shù)根。例5編寫程序,輸入一元二次方程算法描述:S1:輸入a,b62QBASIC程序:INPUT“請輸入一元二次方程的系數(shù)a,b,c=:”;a,b,cd=b*b-4*a*cp=-b/(2*a)q=SQR(ABS(d))/(2*a)IFd>=0THENx1=p+qx2=p-qIFx1=x2THENPRINT“只有一個實(shí)根:”;x1=x1ELSEPRINT“有兩個實(shí)根:”;“x1=”;x1,”x2=”;x2ENDIFELSEPRINT“沒有實(shí)根”ENDIFENDQBASIC程序:INPUT“請輸入一元二次方程的系數(shù)a,63例6編寫程序,使得任意輸入3個整數(shù)按大到小的順序輸出。算法分析:算法思想:3個數(shù)兩兩比較,確定大小。按a、b、c輸入,要按a、b、c輸出,關(guān)鍵要找到最大值,將它賦值給a,中值賦給b,最小值賦給c。第一步輸入3個整數(shù)a、b、c第二步將a與b比較,并把小者賦給b,大的賦給a;第三步將a與c比較,并把小者賦給c,大的賦給a第四步將b與c比較,并把小者賦給c,大的賦給b第五步按順序輸出a,b,c例6編寫程序,使得任意輸入3個整數(shù)按大到小的順序輸出。算法64INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND相應(yīng)的QBASIC程序:開始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t輸入a,b,c輸入a,b,cb>a?c>a?c>b?結(jié)束是是否否是否對應(yīng)的流程圖INPUT“a,b,c=”;a,b,c相應(yīng)的QBASIC程65練習(xí)鞏固開始輸入a,b,ca+b>c,a+c>b,b+c>a是否同時成立?存在這樣的三角形不存在這樣的三角形結(jié)束否是(1)
該程序框圖所表示的算法是作用是什么?并根據(jù)程序框圖寫出相應(yīng)的程序。練習(xí)鞏固開始輸入a,b,ca+b>c,a+c>b,存在這662、某快遞公司規(guī)定甲、乙兩地之間物品的托運(yùn)費(fèi)用根據(jù)下面的方法計算:物品重量在50千克以內(nèi),托運(yùn)費(fèi)為每千克0.53元,超過的話,超過部分每千克0.85元,試畫出計算費(fèi)用f的程序框圖,并寫出相應(yīng)的QBASIC程序。程序框圖:開始結(jié)束輸入重量G輸出運(yùn)費(fèi)MG<=50M=0.53*GM=50*0.53+0.85*(G-50)否是對應(yīng)的QBASIC程序INPUT“輸入重量G=”;GIFG<=50THENM=0.53*GELSEM=50*0.53+0.85*(G-50)ENDIFPRINT“運(yùn)費(fèi)為:”;MEND2、某快遞公司規(guī)定甲、乙兩地之間物品的托運(yùn)費(fèi)用根據(jù)下面的方法67小結(jié)1、條件結(jié)構(gòu)的程序表示2、注意書寫的規(guī)范性IF
條件THEN
語句1ELSE
語句2ENDIFIF
條件THEN
語句ENDIF滿足條件?語句滿足條件?語句1語句2是否小結(jié)1、條件結(jié)構(gòu)的程序表示2、注意書寫的規(guī)范性IF條件T68作業(yè)布置課本P20練習(xí)第3、4題課外活動
試查找數(shù)學(xué)課本一些分段函數(shù)的事例,看看能否能用條件語句寫出解決問題的程序作業(yè)布置課本P20課外活動試查找數(shù)學(xué)課本一些分段函數(shù)69
幾種基本語句條件語句
70
重點(diǎn):難點(diǎn):理解并會用IF----ELSE結(jié)構(gòu)。IF----ELSE----IF結(jié)構(gòu)。重點(diǎn):難點(diǎn):理解并會用IF----ELSE----IF結(jié)構(gòu)。71教學(xué)過程
新課導(dǎo)入
新課講解
小結(jié)
作業(yè)教學(xué)過程新課導(dǎo)入72小黑的家小白的家一、新課導(dǎo)入教學(xué)過程小黑的家小白的家一、新課導(dǎo)入教學(xué)過程73二、新課講解一、簡單的IF語句二、IF----ELSE語句三、if-else-if語句二、新課講解一、簡單的IF語句二、IF----EL74
格式簡單的IF語句
流程圖
例題格式簡單的IF語句流程圖75
其語義是:
如果表達(dá)式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句,繼續(xù)執(zhí)行主程序。
注意:1、這里的表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,例如:if(a>b&&a>c)printf(“%d”,a)或是if(a==b)printf(“a等于b”)2、但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個變量。例如:if(a=5)語句;if(b)語句;3、語句若有多條語句,則用{}括起來,且語句后必須有“;”,而}后沒有“;”
例如:if(a>b){a++;b++;}printf(“%d,%d”,a,b);簡單的IF語句格式IF(表達(dá)式)語句簡單的IF語句格式IF(表達(dá)式)語句76
假
真
表達(dá)式語句小白找小黑玩嗎走小路真
假
77
max=a;
if(max<b)max=b;
printf("max=%d",max);
本例程序中,輸入兩個數(shù)a,b,把a(bǔ)先賦予變量max,再用if語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值。例1:求兩個數(shù)中的較大數(shù)max=a;
if(max<b)max=b;
prin78if(成績)>60printf(“及格”);If(小白找小黑玩)printf(“走小路”);If(今天是工作日)printf(“上班”);再如:從鍵盤上輸入兩個數(shù),求出它們倆商的相反數(shù)。這類的例子很多if(成績)>60printf(“及格”);這類的例79
格式IF----ELSE語句
流程圖
例題格式IF----ELSE語句流程圖80
if(表達(dá)式)語句1;else語句2;
其語義是:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2。
例如:if(x>0)printf(“x大于0”);
elseprintf(“x小于等于0);
或是if(小黑在家)printf(“找小黑玩”);
elseprintf(“找小花玩”);IF----ELSE語句格式if(表達(dá)式)語句1;IF----ELSE語句格81如果小白找小黑玩,小黑在家嗎?若在,找小黑玩,不在,就找小花玩。能用C語言來實(shí)現(xiàn)嗎?可以,用if----else語句就能完成。
真
假小黑在家嗎找小黑玩找小花玩如果小白找小黑玩,小黑在家嗎?若在,找82
假
真
表達(dá)式語句1語句2
假
83
If(a>b)printf("max=%d\n",a);
elseprintf("max=%d\n",b);
輸入兩個整數(shù),輸出其中的大數(shù)。改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。例2:求兩個數(shù)中較大的一個。
例2:求兩個數(shù)中較大的一個。84
格式if-else-if語句
流程圖
例題格式if-else-if語句流程圖85
if(表達(dá)式1)
語句1;
elseif(表達(dá)式2)語句2;
elseif(表達(dá)式3)語句3;…elseif(表達(dá)式m)語句m;else語句n;其語義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個值為真時,則執(zhí)行其對應(yīng)的語句。然后跳到整個if語句之外繼續(xù)執(zhí)行程序。如果所有的表達(dá)式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。if-else-if語句格式if(表達(dá)式1)if-else-if語句格式86真假假假真真真假流程圖表達(dá)式1表達(dá)式2表達(dá)式3表達(dá)式m語句1語句2語句3語句m語句n真假87對優(yōu)、良、及格和不及格,我們分別用5、4、3、2四個等級來表示,劃分如下:分?jǐn)?shù)等級100-90589-75474-60359-02例3、編寫一程序,根據(jù)學(xué)生的考分來劃分成績的優(yōu)、良、及格和不及格。對優(yōu)、良、及格和不及格,我們分別用5、4、3、2四個等88main(){intsorce,snum;chargrade;scanf(“%d,%d”,&snum,&score);if(score>89)grade=’5’;elseif(score>74)grade=’4’;elseif(score>59)grade=’3’;elsegrade=’2’;printf(“%d:%c\n”,snum,grade);}main(){intsorce,snum;chargrade;scanf(“%d,%d”,&snum,&score);if(score>89)grade=’5’;elseif(score>74)grade=’4’;elseif(score>59)grade=’3’;elsegrade=’2’;printf(“%d:%c\n”,snum,grade);}main()main()89例4.P1語句5P2P3P4P5語句1語句2語句4語句3YYYYYNNNN商場促銷,購物500元以上,8折購物300元以上,85折購物100元以上,9折購物50元以上,95折購物50元以下,不打折設(shè):消費(fèi)量為money
折扣為cost
實(shí)際花費(fèi)price例4.P1語句5P2P3P4P5語句1語句2語句4語句3Y90例:根據(jù)消費(fèi)量,計算優(yōu)惠率。if(money>500)cost=0.2;elseif(money>300)cost=0.15;elseif(money>100)cost=0.1;elseif(money>50)cost=0.05;elsecost=0;price=money-(money*cost);例:根據(jù)消費(fèi)量,計算優(yōu)惠率。91
(1)
在三種形式的if語句中,在if關(guān)鍵字之后均為表達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個變量。例如:if(a=5)語句;if(b)語句;都是允許的。
。三、小結(jié)只要表達(dá)式的值為非0,即為“真”。如在if(a=5)…;中表達(dá)式的值永遠(yuǎn)為非0,所以其后的語句總是要執(zhí)行的,當(dāng)然這種情況在程序中不一定會出現(xiàn),但在語法上是合法的。
(1)
在三種形式的if語句中,在if關(guān)鍵字之后均為92
又如,有程序段:
if(a=b)printf("%d",a);elseprintf("a=0");本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出“a=0”字符串。這種用法在程序中是經(jīng)常出現(xiàn)的又如,有程序段:93
(2)在if語句中,條件判斷表達(dá)式必須用括號括起來,
在語句之后必須加分號。If(b)printf(“b不是0”);(2)在if語句中,94
(3)在if語句的三種形式中,所有的語句應(yīng)為單個語句,如果要想在滿足條件時執(zhí)行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復(fù)合語句。但要注意的是在}之后不能再加分號。
例如:
if(a>b){
a++;
b++;
}
else{a=0;
b=10;}
95
四、作業(yè)四、作業(yè)96§1.2.3算法基本語句算法初步§1.2.3算法基本語句算法初步97溫故而知新1、順序結(jié)構(gòu)常用的程序語言和格式2、條件結(jié)構(gòu)常用的程序語言和格式輸入語句INPUT“提示文字”;變量列表輸出語句PRINT“提示文字”;變量列表賦值語句變量=表達(dá)式(1)IF
條件成立THEN
語句1ELSE
語句2ENDIF(2)IF
條件成立THEN
語句ENDIF溫故而知新1、順序結(jié)構(gòu)常用的程序語言和格式2、條件結(jié)構(gòu)常用的98例5編寫程序,輸入一元二次方程算法描述:S1:輸入a,b,cS2:計算判別式△S3:如果△<0有兩不同實(shí)根,△=0有兩個相同實(shí)根,△<0否則沒實(shí)數(shù)根。根據(jù)情況輸出結(jié)果。開始輸入a,b,cΔ=b2-4acp=-b/2aq=SQR(ABS(Δ))/(2a)x1=p+qx2=p-qΔ≥0?x1=x2?原方程有兩個不等的實(shí)數(shù)根x1,x2原方程有兩個相等的實(shí)數(shù)根x1,x2原方程無實(shí)數(shù)根結(jié)束是否是否的系數(shù),輸出它的實(shí)數(shù)根。例5編寫程序,輸入一元二次方程算法描述:S1:輸入a,b99QBASIC程序:INPUT“請輸入一元二次方程的系數(shù)a,b,c=:”;a,b,cd=b*b-4*a*cp=-b/(2*a)q=SQR(ABS(d))/(2*a)IFd>=0THENx1=p+qx2=p-qIFx1=x2THENPRINT“只有一個實(shí)根:”;x1=x1ELSEPRINT“有兩個實(shí)根:”;“x1=”;x1,”x2=”;x2ENDIFELSEPRINT“沒有實(shí)根”ENDIFENDQBASIC程序:INPUT“請輸入一元二次方程的系數(shù)a,100例6編寫程序,使得任意輸入3個整數(shù)按大到小的順序輸出。算法分析:算法思想:3個數(shù)兩兩比較,確定大小。按a、b、c輸入,要按a、b、c輸出,關(guān)鍵要找到最大值,將它賦值給a,中值賦給b,最小值賦給c。第一步輸入3個整數(shù)a、b、c第二步將a與b比較,并把小者賦給b,大的賦給a;第三步將a與c比較,并把小者賦給c,大的賦給a第四步將b與c比較,并把小者賦給c,大的賦給b第五步按順序輸出a,b,c例6編寫程序,使得任意輸入3個整數(shù)按大到小的順序輸出。算法101INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND相應(yīng)的QBASIC程序:開始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t輸入a,b,c輸入a,b,cb>a?c>a?c>b?結(jié)束是是否否是否對應(yīng)的流程圖INPUT“a,b,c=”;a,b,c相應(yīng)的QBASIC程102練習(xí)鞏固開始輸入a,b,ca+b>c,a+c>b,b+c>a是否同時成立?存在這樣的三角形不存在這樣的三角形結(jié)束否是(1)
該程序框圖所表示的算法是作用是什么?并根據(jù)程序框圖寫出相應(yīng)的程序。練習(xí)鞏固開始輸入a,b,ca+b>c,a+c>b,存在這1031.2.3循環(huán)語句三中天地1.2.3循環(huán)語句三中天地104循環(huán)結(jié)構(gòu)的定義:
在一些算法中,從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu)。反復(fù)執(zhí)行的處理步驟稱為循環(huán)體。兩種循環(huán)結(jié)構(gòu)有什么差別?AP成立不成立While(當(dāng)型)循環(huán)
成立AP不成立Until(直到型)循環(huán)循環(huán)結(jié)構(gòu)的定義:在一些算法中,從某處開始,105
成立AP不成立AP成立不成立While(當(dāng)型)循環(huán)Until(直到型)循環(huán)兩種循環(huán)結(jié)構(gòu)有什么差別?先執(zhí)行循環(huán)體,然后再檢查條件是否成立,如果不成立就重復(fù)執(zhí)行循環(huán)體,直到條件成立退出循環(huán)。先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)條件,條件為假時退出循環(huán)。先執(zhí)行后判斷先判斷后執(zhí)行成立AP不成立AP成立不成立While(當(dāng)型)循環(huán)Un106循環(huán)結(jié)構(gòu)AP成立不成立While(當(dāng)型)循環(huán)算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實(shí)現(xiàn)的。
成立AP不成立Until(直到型)循環(huán)循環(huán)結(jié)構(gòu)AP成立不成立While(當(dāng)型)循環(huán)算法中的循環(huán)結(jié)構(gòu)107兩種循環(huán)語句:WHILE
條件循環(huán)體WEND(1)WHILE語句的一般格式:
當(dāng)計算機(jī)遇到WHILE語句時,先判斷條件的真假,如果條件符合,就執(zhí)行WHILE與WEND之間的循環(huán)體;然后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,這個過程反復(fù)進(jìn)行,直到某一次條件不符合為止.這時,計算機(jī)將不執(zhí)行循環(huán)體,直接跳到WEND語句后,接著執(zhí)行WEND之后的語句.也叫“前測試型”循環(huán)循環(huán)體滿足條件?是否While(當(dāng)型)循環(huán)兩種循環(huán)語句:WHILE條件(1)WHILE語句的一般格式108練習(xí)、根據(jù)1.1.2例3中的程序框圖,編寫計算機(jī)程序來計算1+2+…+100的值i<=100?i=1開始輸出sum結(jié)束否是sum=0i=i+1sum=sum+ii=1sum=0WHILEi<=100
sum=sum+ii=i+1WENDPRINTsumEND程序:練習(xí)、根據(jù)1.1.2例3中的程序框圖,編寫i<=100?i=109Until(直到型)循環(huán)DO
循環(huán)體LOOPUNTIL條件(2)UNTIL語句的一般格式:也叫“后測試型”循環(huán)循環(huán)體滿足條件?是否思考1:參照直到型循環(huán)結(jié)構(gòu),說說計算機(jī)是按怎樣的順序執(zhí)行UNTIL語句的?
思考2:用UNTIL語句編寫計算機(jī)程序,來計算
1+2+…+100的值.Until(直到型)循環(huán)DO(2)UNTIL語句的一般格式:110思考2:用UNTIL語句編寫計算機(jī)程序,來計算
1+2+…+100的值.i=1sum=0DO
sum=sum+ii=i+1LOOPUNTILi>100PRINTsumENDi=1開始結(jié)束sum=0輸出sumi=i+1sum=sum+ii>100?否是程序框圖:程序:思考2:用UNTIL語句編寫計算機(jī)程序,來計算i=1i=1開111思考3:圖1.1-2,用按照算法執(zhí)行的順序,把程序框圖中的內(nèi)容轉(zhuǎn)化為相應(yīng)的程序語句。開始輸入nflag=1n>2?d=2是d整除n?flag=0d<=n-1且flag=1?flag=1?n是質(zhì)數(shù)結(jié)束是d=d+1否否n不是質(zhì)數(shù)否是否是思考3:圖1.1-2,用按照算法執(zhí)行的順序,把程序開始輸入n112(1)n=5開始Flag=1n>2d=2輸入nd<=n-1且flag=1?N不是質(zhì)數(shù)n是質(zhì)數(shù)d整除n?Flag=0Flag=1?結(jié)束d=d+1是是是否否是否否(1)(2)(2)n=48否(1)n=5開始Flag=1n>2d=2輸入nd<=n-1113INPUT“n=”;nflag=1IFn>2THENd=2WHILEd<=n-1ANDflag=1IFnMODd=0THENflag=0ELSEd=d+1ENDIFWENDENDIFIFflag=1THENPRINTn;"是質(zhì)數(shù)."ELSEPRINTn;"不是質(zhì)數(shù)."ENDIFEND思考題:判斷質(zhì)數(shù)的算法是否還有所改進(jìn)?INPUT“n=”;n思考題:判斷質(zhì)數(shù)的114練習(xí)P231.根據(jù)你畫出的用二分法求方程x2-2=0的近似根的程序框圖,寫出相應(yīng)的程序語句。2.編寫程序,計算函數(shù)f(x)=x2-3x+5當(dāng)x=1,2,3,…,20時的函數(shù)值。3.編寫一個程序,輸入正整數(shù)n,計算它的階乘n!(n!=n*(n-1)*…*3*2*1)練習(xí)P231.根據(jù)你畫出的用二分法求方程x2-2=0的2115練習(xí)P231.根據(jù)你畫出的用二分法求方程x2-2=0的近似根的程序框圖,寫出相應(yīng)的程序語句。開始x1=1,x2=2c=0.005輸出xf(x1)f(x)<0?否是x1=xx2=x|x1-x2|<c?是否結(jié)束f(x)=0?否是練習(xí)P231.根據(jù)你畫出的用二分開始x1=1,x2=2c116練習(xí)P23開始x1=1,x2=2c=0.005輸出xf(x1)f(x)<0?否是x1=xx2=x|x1-x2|<c?是否結(jié)束f(x)=0?否是x1=1x2=2c=0.005DOX=(X1+X2)/2f(x1)=x1^2-2f(x)=x^2-2IFf(x)=0THENPRINT"方程根為:";xELSEIFf(x1)*f(x)<0THENx2=xELSEx1=xENDIFENDIFLOOPUNTILABS(x1-x2)<=cPRINT"方程的近似根為:";xEND練習(xí)P23開始x1=1,x2=2c=0.005輸出xf(117練習(xí)P232.編寫程序,計算函數(shù)f(x)=x2-3x+5當(dāng)x=1,2,3,…,20時的函數(shù)值。x=1WHILEx<=20y=x^2-3*x+5PRINT"x=";xPRINT"y=";yx=x+1WENDEND練習(xí)P232.編寫程序,計算函數(shù)f(x)=x2-3x+5118練習(xí)P233.編寫一個程序,輸入正整數(shù)n,計算它的階乘n!(n!=n*(n-1)*…*3*2*1)t=1i=1INPUT"請輸入n的值:";nDOt=t*ii=i+1LOOPUNTILi>nPRINT"這個數(shù)的階乘為:";tEND練習(xí)P233.編寫一個程序,輸入正整數(shù)n,計算它的t=1119練習(xí)鞏固1、設(shè)計一個算法框圖:逐個輸出12,22,32,……,n2,并寫出相應(yīng)的QBASIC程序。INPUTni=0WHILEi<ni=i+1t=i^2PRINTtWENDENDINPUTni=0DOi=i+1t=i^2PRINTtLOOPUNTILi>=nEND結(jié)束i=0開始i=i+1:t=i^2i>=n?否是PRINTtINPUTn練習(xí)鞏固1、設(shè)計一個算法框圖:逐個輸出12,22,32,……1202、設(shè)計一個算法框圖:求滿足1+2+3+…+n>10000的最小正整數(shù)n,并寫出相應(yīng)的QBASIC程序。結(jié)束輸出ii=0,Sum=1開始i=i+1Sum=Sum*iSum>10000?否是i=0sum=0DOi=i+1sum=sum+iLOOPUNTILsum>10000PRINTiEND2、設(shè)計一個算法框圖:求滿足1+2+3+…+n>121小結(jié)WHILE
條件循環(huán)體WENDDO
循環(huán)體LOOPUNTIL條件兩種循環(huán)語句:循環(huán)體滿足條件?是否(1)
While(當(dāng)型)循環(huán)(2)Until(直到型)循環(huán)循環(huán)體滿足條件?是否小結(jié)WHILE條件DO兩種循環(huán)語句:循環(huán)體滿足條件?是122再見再見123算法案例(第一課時)算法案例(第一課時)1241、求兩個正整數(shù)的最大公約數(shù)(1)求25和35的最大公約數(shù)(2)求49和63的最大公約數(shù)2、求8251和6105的最大公約數(shù)25(1)5535749(2)77639所以,25和35的最大公約數(shù)為5所以,49和63的最大公約數(shù)為71、求兩個正整數(shù)的最大公約數(shù)(1)求25和35的最大公約數(shù)2125輾轉(zhuǎn)相除法(歐幾里得算法)觀察用輾轉(zhuǎn)相除法求8251和6105的最大公約數(shù)的過程第一步用兩數(shù)中較大的數(shù)除以較小的數(shù),求得商和余數(shù)
8251=6105×1+2146結(jié)論:8251和6105的公約數(shù)就是6105和2146的公約數(shù),求8251和6105的最大公約數(shù),只要求出6105和2146的公約數(shù)就可以了。第二步對6105和2146重復(fù)第一步的做法
6105=2146×2+1813
同理6105和2146的最大公約數(shù)也是2146和1813的最大公約數(shù)。為什么呢?思考:從上述的過程你體會到了什么?輾轉(zhuǎn)相除法(歐幾里得算法)觀察用輾轉(zhuǎn)相除法求8251和610126完整的過程8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0例2用輾轉(zhuǎn)相除法求225和135的最大公約數(shù)225=135×1+90135=90×1+4590=45×2顯然37是148和37的最大公約數(shù),也就是8251和6105的最大公約數(shù)顯然45是90和45的最大公約數(shù),也就是225和135的最大公約數(shù)思考1:從上面的兩個例子可以看出計算的規(guī)律是什么?S1:用大數(shù)除以小數(shù)S2:除數(shù)變成被除數(shù),余數(shù)變成除數(shù)S3:重復(fù)S1,直到余數(shù)為0完整的過程8251=6105×1+21466105=214127
輾轉(zhuǎn)相除法是一個反復(fù)執(zhí)行直到余數(shù)等于0停止的步驟,這實(shí)際上是一個循環(huán)結(jié)構(gòu)。8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0m=n×q+r用程序框圖表示出右邊的過程r=mMODnm=nn=rr=0?是否思考2:輾轉(zhuǎn)相除法中的關(guān)鍵步驟是哪種邏輯結(jié)構(gòu)?輾轉(zhuǎn)相除法是一個反復(fù)執(zhí)行直到余數(shù)等于0停止的步驟,這128《九章算術(shù)》——更相減損術(shù)算理:可半者半之,不可半者,副置分母、子之?dāng)?shù),以少減多,更相減損,求其等也,以等數(shù)約之。第一步:任意給頂兩個正整數(shù);判斷他們是否都是偶數(shù)。若是,則用2約簡;若不是則執(zhí)行第二步。第二步:以較大的數(shù)減較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù)。繼續(xù)這個操作,直到所得的減數(shù)和差相等為止,則這個等數(shù)就是所求的最大公約數(shù)。《九章算術(shù)》——更相減損術(shù)算理:可半者半之,不可半者,副置129例3用更相減損術(shù)求98與63的最大公約數(shù)解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減98-63=35
63-35=28
35-28=7
28-7=2121-7=1414-7=7所以,98和63的最大公約數(shù)等于7練習(xí):課本P36練習(xí)第1題例3用更相減損術(shù)求98與63的最大公約數(shù)解:由于63不是130高中數(shù)學(xué)人教版必修三課件131算法案例(第二課時)算法案例(第二課時)132計算多項(xiàng)式f(x)=x5+x4+x3+x2+x+1當(dāng)x=5的值算法1:因?yàn)椋妫ǎ?x5+x4+x3+x2+x+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=5×(54+53+52+5+1)+1=5×(5×(53+52+5+1)+1)+1=5×(5×(5×(52+5+1)+1)+1)+1=5×(5×(5×(5×(5+1)+1)+1)+1)+1分析:兩種算法中各用了幾次乘法運(yùn)算?和幾次加法運(yùn)算?計算多項(xiàng)式f(x)=x5+x4+x3+x2+x+1當(dāng)x=133《數(shù)書九章》——秦九韶算法設(shè)是一個n次的多項(xiàng)式對該多項(xiàng)式按下面的方式進(jìn)行改寫:思考:當(dāng)知道了x的值后該如何求多項(xiàng)式的值?這是怎樣的一種改寫方式?最后的結(jié)果是什么?《數(shù)書九章》——秦九韶算法設(shè)是一個n次的多項(xiàng)式對該多項(xiàng)式按下134要求多項(xiàng)式的值,應(yīng)該先算最內(nèi)層的一次多項(xiàng)式的值,即然后,由內(nèi)到外逐層計算一次多項(xiàng)式的值,即最后的一項(xiàng)是什么?這種將求一個n次多項(xiàng)式f(x)的值轉(zhuǎn)化成求n個一次多項(xiàng)式的值的方法,稱為秦九韶算法。思考:在求多項(xiàng)式的值上,這是怎樣的一個轉(zhuǎn)化?要求多項(xiàng)式的值,應(yīng)該先算最內(nèi)層的一次多項(xiàng)式的值,即然后,由內(nèi)135例2已知一個五次多項(xiàng)式為用秦九韶算法求這個多項(xiàng)式當(dāng)x=5的值。解:將多項(xiàng)式變形:按由里到外的順序,依此計算一次多項(xiàng)式當(dāng)x=5時的值:所以,當(dāng)x=5時,多項(xiàng)式的值等于17255.2你從中看到了怎樣的規(guī)律?怎么用程序框圖來描述呢?例2已知一個五次多項(xiàng)式為用秦九韶算法求這個多項(xiàng)式當(dāng)x=136開始輸入f(x)的系數(shù):a0、a1、a2、a3、a4、a5輸入x0n=0v=a5v=v·x0+a5-nn=n+1n<5?輸出v結(jié)束否是注意:要想使用檢驗(yàn)功能,請使用前,先要減低宏的安全限制開始輸入f(x)的系數(shù):輸入x0n=0v=a5v=v·x137排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6方法1:S1:比較第2個數(shù)與第1個數(shù)的大小,并排序得3,8S2:將第3個數(shù)與S1中的數(shù)比較,插入適當(dāng)?shù)奈恢?,得?,3,8S3:將第4個數(shù)與S2中的數(shù)比較,并插入適當(dāng)?shù)奈恢茫绱死^續(xù)下去,直到把最后一個數(shù)插入到上一步已排好的數(shù)列的合適位置為止,得到:2,3,5,82,3,5,8,92,3,5,6,8,9S4:S5:排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,138排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6方法1:過程演示832596開始排第1次排第2次排第3次排第4次832596382596238596235896235896排第5次235689直接排序法排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,139排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6方法2:S1:用第1個數(shù)與第2個數(shù)比較,若前者小則兩數(shù)不變,否則,交換這兩個數(shù)的位置。S2:按這樣的原則,比較第2個數(shù)和第3個數(shù),前者小則兩數(shù)不變,否則,交換這兩個數(shù)的位置……直到比完最后兩個數(shù)。(稱為“一趟”)S3:如果前一趟的比較中交換的次數(shù)為0,說明排序已完成,否則回到S2。根據(jù)題意,一趟后的結(jié)果是什么?為什么說前一趟的比較中交換為0次時,排序完成?3,2,5,8,6,9排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,140排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6請將每一趟的結(jié)果寫出來第1趟832596382596328596325896325896325869該趟中交換的次數(shù)為________次4排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,141排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6請將每一趟的結(jié)果寫出來第2趟325869235869235869235869235689235689該趟中交換的次數(shù)為________次2排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,142排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,6請將每一趟的結(jié)果寫出來第3趟235689235689235689235689235689235689該趟中交換的次數(shù)為________次,0所以排序的結(jié)果為:2,3,5,6,8,9排序的算法將下面數(shù)字按由小到大的順序排列8,3,2,5,9,143練習(xí):1、根據(jù)前面的介紹閱讀課本P32的例3,并完成圖1.3-6的填空練習(xí):1、根據(jù)前面的介紹閱讀課本P32的例3,并完成圖1.3144課后作業(yè)課本P38的習(xí)題1.3第2、3題課后作業(yè)課本P38的習(xí)題1.3第2、3題145算法案例(第三課時)算法案例(第三課時)146一、進(jìn)位制1、什么是進(jìn)位制?2、最常見的進(jìn)位制是什么?除此之外還有哪些常見的進(jìn)位制?請舉例說明.進(jìn)位制是人們?yōu)榱擞嫈?shù)和運(yùn)算方便而約定的記數(shù)系統(tǒng)。一、進(jìn)位制1、什么是進(jìn)位制?2、最常見的進(jìn)位制是什么?除此之1471、我們了解十進(jìn)制嗎?所謂的十進(jìn)制,它是如何構(gòu)成的?十進(jìn)制由兩個部分構(gòu)成例如:3721其它進(jìn)位制的數(shù)又是如何的呢?第一、它有0、1、2、3、4、5、6、7、8、9十個數(shù)字;第二、它有“權(quán)位”,即從右往左為個位、十位、百位、千位等等。(用10個數(shù)字來記數(shù),稱基數(shù)為10)表示有:1個1,2個十,7個百即7個10的平方,
3個千即3個10的立方1、我們了解十進(jìn)制嗎?所謂的十進(jìn)制,它是如何構(gòu)成的?十進(jìn)制由1482、二進(jìn)制二進(jìn)制是用0、1兩個數(shù)字來描述的。如11001等(1)二進(jìn)制的表示方法區(qū)分的寫法:11001(2)或者(11001)28進(jìn)制呢?如7342(8)k進(jìn)制呢?anan-1an-2…a2a1(k)?2、二進(jìn)制二進(jìn)制是用0、1兩個數(shù)字來描述的。如11001等149二、二進(jìn)制與十進(jìn)制的轉(zhuǎn)換1、二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)例1將二進(jìn)制數(shù)110011(2)化成十進(jìn)制數(shù)解:根據(jù)進(jìn)位制的定義可知所以,110011(2)=51。二、二進(jìn)制與十進(jìn)制的轉(zhuǎn)換1、二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)例1將150練習(xí)將下面的二進(jìn)制數(shù)化為十進(jìn)制數(shù)?(1)11(2)111(3)1111(4)11111練習(xí)將下面的二進(jìn)制數(shù)化為十進(jìn)制數(shù)?(1)11(2)111(31512、十進(jìn)制轉(zhuǎn)換為二進(jìn)制(除2取余法:用2連續(xù)去除89或所得的商,然后取余數(shù))
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育法規(guī)綜合檢測試卷B卷含答案
- 2024年垃圾焚燒發(fā)電設(shè)備項(xiàng)目資金申請報告代可行性研究報告
- 四年級數(shù)學(xué)(簡便運(yùn)算)計算題專項(xiàng)練習(xí)與答案
- 2024年期貨船租賃協(xié)議條款匯編
- 2024年醫(yī)生招聘協(xié)議樣本下載
- 學(xué)習(xí)先進(jìn)教師心得體會
- 2024年車輛信用擔(dān)保服務(wù)正式協(xié)議
- 2024專項(xiàng)水穩(wěn)層鋪設(shè)項(xiàng)目協(xié)議樣本
- 2024采購部常用商品買賣協(xié)議模板
- 2024年商鋪?zhàn)赓U協(xié)議模板范例
- 貴州退役軍人事務(wù)廳事業(yè)單位筆試真題2023
- 華爾街之狼:掌握直線銷售的藝術(shù)
- 2024年江蘇國信集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 《建設(shè)美麗中國》課件
- 2024年全國高考體育單招考試語文試卷試題(含答案詳解)
- 多葉片微風(fēng)風(fēng)力發(fā)電項(xiàng)目融資計劃書
- 普通診所污水、污物、糞便處理方案 及周邊環(huán)境情況說明
- 新媒體視聽節(jié)目制作 課件全套 第1-10章 新媒體時代導(dǎo)演的基本素養(yǎng)-節(jié)目的合成
- 兒科遺尿中醫(yī)診療規(guī)范診療指南2023版
- 過期、破損、不合格藥品報損銷毀表
- 錄用體檢操作手冊(試行)
評論
0/150
提交評論