![新課標(biāo)高中數(shù)學(xué)人教A版第一章算法初步教案_第1頁(yè)](http://file4.renrendoc.com/view15/M01/21/3F/wKhkGWemrkKAfCF5AAMeSSNoIbY725.jpg)
![新課標(biāo)高中數(shù)學(xué)人教A版第一章算法初步教案_第2頁(yè)](http://file4.renrendoc.com/view15/M01/21/3F/wKhkGWemrkKAfCF5AAMeSSNoIbY7252.jpg)
![新課標(biāo)高中數(shù)學(xué)人教A版第一章算法初步教案_第3頁(yè)](http://file4.renrendoc.com/view15/M01/21/3F/wKhkGWemrkKAfCF5AAMeSSNoIbY7253.jpg)
![新課標(biāo)高中數(shù)學(xué)人教A版第一章算法初步教案_第4頁(yè)](http://file4.renrendoc.com/view15/M01/21/3F/wKhkGWemrkKAfCF5AAMeSSNoIbY7254.jpg)
![新課標(biāo)高中數(shù)學(xué)人教A版第一章算法初步教案_第5頁(yè)](http://file4.renrendoc.com/view15/M01/21/3F/wKhkGWemrkKAfCF5AAMeSSNoIbY7255.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
備課資料這是中國(guó)古代的一個(gè)著名算法案例:雞兔49頭,100根腿往地里走,問(wèn)雞兔各多少?分析:求解雞兔的問(wèn)題簡(jiǎn)單直觀,卻包含著深刻的算法思想.應(yīng)用解二元一次方程組的方法來(lái)求解雞兔同籠問(wèn)題.解:算法如下:第一步,設(shè)有小雞x只,小兔y只,則有第二步,將方程組中的第一個(gè)方程兩邊乘以-2加到第二個(gè)方程中去,得到解得y=1.第三步,將y=1代入①,得x=48.第一章算法初步本章教材分析算法是數(shù)學(xué)及其應(yīng)用的重要組成部分,是計(jì)算科學(xué)的重要基礎(chǔ).算法的應(yīng)用是學(xué)習(xí)數(shù)學(xué)的一個(gè)重要方面.學(xué)生學(xué)習(xí)算法的應(yīng)用,目的就是利用已有的數(shù)學(xué)知識(shí)分析問(wèn)題和解決問(wèn)題.通過(guò)算法的學(xué)習(xí),對(duì)完善數(shù)學(xué)的思想,激發(fā)應(yīng)用數(shù)學(xué)的意識(shí),培養(yǎng)分析問(wèn)題、解決問(wèn)題的能力,增強(qiáng)進(jìn)行實(shí)踐的能力等,都有很大的幫助.本章主要內(nèi)容:算法與程序框圖、基本算法語(yǔ)句、算法案例和小結(jié).教材從學(xué)生最熟悉的算法入手,通過(guò)研究程序框圖與算法案例,使算法得到充分的應(yīng)用,同時(shí)也展現(xiàn)了古老算法和現(xiàn)代計(jì)算機(jī)技術(shù)的密切關(guān)系.算法案例不僅展示了數(shù)學(xué)方法的嚴(yán)謹(jǐn)性、科學(xué)性,也為計(jì)算機(jī)的應(yīng)用提供了廣闊的空間.讓學(xué)生進(jìn)一步受到數(shù)學(xué)思想方法的熏陶,激發(fā)學(xué)生的學(xué)習(xí)熱情.在算法初步這一章中讓學(xué)生近距離接近社會(huì)生活,從生活中學(xué)習(xí)數(shù)學(xué),使數(shù)學(xué)在社會(huì)生活中得到應(yīng)用和提高,讓學(xué)生體會(huì)到數(shù)學(xué)是有用的,從而培養(yǎng)學(xué)生的學(xué)習(xí)興趣.“數(shù)學(xué)建模”也是高考考查重點(diǎn).本章還是數(shù)學(xué)思想方法的載體,學(xué)生在學(xué)習(xí)中會(huì)經(jīng)常用到“算法思想”“轉(zhuǎn)化思想”,從而提高自己數(shù)學(xué)能力.因此應(yīng)從三個(gè)方面把握本章:(1)知識(shí)間的聯(lián)系;(2)數(shù)學(xué)思想方法;(3)認(rèn)知規(guī)律.本章教學(xué)時(shí)間約需12課時(shí),具體分配如下(僅供參考):1.1.1算法的概念約1課時(shí)1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)約4課時(shí)1.2.1輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句約1課時(shí)1.2.2條件語(yǔ)句約1課時(shí)1.2.3循環(huán)語(yǔ)句約1課時(shí)1.3算法案例約3課時(shí)本章復(fù)習(xí)約1課時(shí)1.1算法與程序框圖1.1.1算法的概念整體設(shè)計(jì)教學(xué)分析算法在中學(xué)數(shù)學(xué)課程中是一個(gè)新的概念,但沒(méi)有一個(gè)精確化的定義,教科書(shū)只對(duì)它作了如下描述:“在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問(wèn)題的明確有限的步驟.”為了讓學(xué)生更好理解這一概念,教科書(shū)先從分析一個(gè)具體的二元一次方程組的求解過(guò)程出發(fā),歸納出了二元一次方程組的求解步驟,這些步驟就構(gòu)成了解二元一次方程組的算法.教學(xué)中,應(yīng)從學(xué)生非常熟悉的例子引出算法,再通過(guò)例題加以鞏固.三維目標(biāo)1.正確理解算法的概念,掌握算法的基本特點(diǎn).2.通過(guò)例題教學(xué),使學(xué)生體會(huì)設(shè)計(jì)算法的基本思路.3.通過(guò)有趣的實(shí)例使學(xué)生了解算法這一概念的同時(shí),激發(fā)學(xué)生學(xué)習(xí)數(shù)學(xué)的興趣.重點(diǎn)難點(diǎn)教學(xué)重點(diǎn):算法的含義及應(yīng)用.教學(xué)難點(diǎn):寫出解決一類問(wèn)題的算法.課時(shí)安排1課時(shí)教學(xué)過(guò)程導(dǎo)入新課思路1(情境導(dǎo)入)一個(gè)人帶著三只狼和三只羚羊過(guò)河,只有一條船,同船可容納一個(gè)人和兩只動(dòng)物,沒(méi)有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量狼就會(huì)吃羚羊.該人如何將動(dòng)物轉(zhuǎn)移過(guò)河?請(qǐng)同學(xué)們寫出解決問(wèn)題的步驟,解決這一問(wèn)題將要用到我們今天學(xué)習(xí)的內(nèi)容——算法.思路2(情境導(dǎo)入)大家都看過(guò)趙本山與宋丹丹演的小品吧,宋丹丹說(shuō)了一個(gè)笑話,把大象裝進(jìn)冰箱總共分幾步?答案:分三步,第一步:把冰箱門打開(kāi);第二步:把大象裝進(jìn)去;第三步:把冰箱門關(guān)上.上述步驟構(gòu)成了把大象裝進(jìn)冰箱的算法,今天我們開(kāi)始學(xué)習(xí)算法的概念.思路3(直接導(dǎo)入)算法不僅是數(shù)學(xué)及其應(yīng)用的重要組成部分,也是計(jì)算機(jī)科學(xué)的重要基礎(chǔ).在現(xiàn)代社會(huì)里,計(jì)算機(jī)已成為人們?nèi)粘I詈凸ぷ髦胁豢扇鄙俚墓ぞ?聽(tīng)音樂(lè)、看電影、玩游戲、打字、畫卡通畫、處理數(shù)據(jù),計(jì)算機(jī)是怎樣工作的呢?要想弄清楚這個(gè)問(wèn)題,算法的學(xué)習(xí)是一個(gè)開(kāi)始.推進(jìn)新課新知探究提出問(wèn)題(1)解二元一次方程組有幾種方法?(2)結(jié)合教材實(shí)例總結(jié)用加減消元法解二元一次方程組的步驟.(3)結(jié)合教材實(shí)例總結(jié)用代入消元法解二元一次方程組的步驟.(4)請(qǐng)寫出解一般二元一次方程組的步驟.(5)根據(jù)上述實(shí)例談?wù)勀銓?duì)算法的理解.(6)請(qǐng)同學(xué)們總結(jié)算法的特征.(7)請(qǐng)思考我們學(xué)習(xí)算法的意義.討論結(jié)果:(1)代入消元法和加減消元法.(2)回顧二元一次方程組的求解過(guò)程,我們可以歸納出以下步驟:第一步,①+②×2,得5x=1.③第二步,解③,得x=.第三步,②-①×2,得5y=3.④第四步,解④,得y=.第五步,得到方程組的解為(3)用代入消元法解二元一次方程組我們可以歸納出以下步驟:第一步,由①得x=2y-1.③第二步,把③代入②,得2(2y-1)+y=1.④第三步,解④得y=.⑤第四步,把⑤代入③,得x=2×-1=.第五步,得到方程組的解為(4)對(duì)于一般的二元一次方程組其中a1b2-a2b1≠0,可以寫出類似的求解步驟:第一步,①×b2-②×b1,得(a1b2-a2b1)x=b2c1-b1c2.③第二步,解③,得x=.第三步,②×a1-①×a2,得(a1b2-a2b1)y=a1c2-a2c1.④第四步,解④,得y=.第五步,得到方程組的解為(5)算法的定義:廣義的算法是指完成某項(xiàng)工作的方法和步驟,那么我們可以說(shuō)洗衣機(jī)的使用說(shuō)明書(shū)是操作洗衣機(jī)的算法,菜譜是做菜的算法等等.在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問(wèn)題的明確有限的步驟.現(xiàn)在,算法通??梢跃幊捎?jì)算機(jī)程序,讓計(jì)算機(jī)執(zhí)行并解決問(wèn)題.(6)算法的特征:①確定性:算法的每一步都應(yīng)當(dāng)做到準(zhǔn)確無(wú)誤、不重不漏.“不重”是指不是可有可無(wú)的,甚至無(wú)用的步驟,“不漏”是指缺少哪一步都無(wú)法完成任務(wù).②邏輯性:算法從開(kāi)始的“第一步”直到“最后一步”之間做到環(huán)環(huán)相扣,分工明確,“前一步”是“后一步”的前提,“后一步”是“前一步”的繼續(xù).③有窮性:算法要有明確的開(kāi)始和結(jié)束,當(dāng)?shù)竭_(dá)終止步驟時(shí)所要解決的問(wèn)題必須有明確的結(jié)果,也就是說(shuō)必須在有限步內(nèi)完成任務(wù),不能無(wú)限制地持續(xù)進(jìn)行.(7)在解決某些問(wèn)題時(shí),需要設(shè)計(jì)出一系列可操作或可計(jì)算的步驟來(lái)解決問(wèn)題,這些步驟稱為解決這些問(wèn)題的算法.也就是說(shuō),算法實(shí)際上就是解決問(wèn)題的一種程序性方法.算法一般是機(jī)械的,有時(shí)需進(jìn)行大量重復(fù)的計(jì)算,它的優(yōu)點(diǎn)是一種通法,只要按部就班地去做,總能得到結(jié)果.因此算法是計(jì)算科學(xué)的重要基礎(chǔ).應(yīng)用示例思路1例1(1)設(shè)計(jì)一個(gè)算法,判斷7是否為質(zhì)數(shù).(2)設(shè)計(jì)一個(gè)算法,判斷35是否為質(zhì)數(shù).算法分析:(1)根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2—6除7,如果它們中有一個(gè)能整除7,則7不是質(zhì)數(shù),否則7是質(zhì)數(shù).算法如下:(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)類似地,可寫出“判斷35是否為質(zhì)數(shù)”的算法:第一步,用2除35,得到余數(shù)1.因?yàn)橛鄶?shù)不為0,所以2不能整除35.第二步,用3除35,得到余數(shù)2.因?yàn)橛鄶?shù)不為0,所以3不能整除35.第三步,用4除35,得到余數(shù)3.因?yàn)橛鄶?shù)不為0,所以4不能整除35.第四步,用5除35,得到余數(shù)0.因?yàn)橛鄶?shù)為0,所以5能整除35.因此,35不是質(zhì)數(shù).點(diǎn)評(píng):上述算法有很大的局限性,用上述算法判斷35是否為質(zhì)數(shù)還可以,如果判斷1997是否為質(zhì)數(shù)就麻煩了,因此,我們需要尋找普適性的算法步驟.變式訓(xùn)練請(qǐng)寫出判斷n(n>2)是否為質(zhì)數(shù)的算法.分析:對(duì)于任意的整數(shù)n(n>2),若用i表示2—(n-1)中的任意整數(shù),則“判斷n是否為質(zhì)數(shù)”的算法包含下面的重復(fù)操作:用i除n,得到余數(shù)r.判斷余數(shù)r是否為0,若是,則不是質(zhì)數(shù);否則,將i的值增加1,再執(zhí)行同樣的操作.這個(gè)操作一直要進(jìn)行到i的值等于(n-1)為止.算法如下:第一步,給定大于2的整數(shù)n.第二步,令i=2.第三步,用i除n,得到余數(shù)r.第四步,判斷“r=0”是否成立.若是,則n不是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加1,仍用i表示.第五步,判斷“i>(n-1)”是否成立.若是,則n是質(zhì)數(shù),結(jié)束算法;否則,返回第三步.例2寫出用“二分法”求方程x2-2=0(x>0)的近似解的算法.分析:令f(x)=x2-2,則方程x2-2=0(x>0)的解就是函數(shù)f(x)的零點(diǎn).“二分法”的基本思想是:把函數(shù)f(x)的零點(diǎn)所在的區(qū)間[a,b](滿足f(a)·f(b)<0)“一分為二”,得到[a,m]和[m,b].根據(jù)“f(a)·f(m)<0”是否成立,取出零點(diǎn)所在的區(qū)間[a,m]或[m,b],仍記為[a,b].對(duì)所得的區(qū)間[a,b]重復(fù)上述步驟,直到包含零點(diǎn)的區(qū)間[a,b]“足夠小”,則[a,b]內(nèi)的數(shù)可以作為方程的近似解.解:第一步,令f(x)=x2-2,給定精確度d.第二步,確定區(qū)間[a,b],滿足f(a)·f(b)<0.第三步,取區(qū)間中點(diǎn)m=.第四步,若f(a)·f(m)<0,則含零點(diǎn)的區(qū)間為[a,m];否則,含零點(diǎn)的區(qū)間為[m,b].將新得到的含零點(diǎn)的區(qū)間仍記為[a,b].第五步,判斷[a,b]的長(zhǎng)度是否小于d或f(m)是否等于0.若是,則m是方程的近似解;否則,返回第三步.當(dāng)d=0.005時(shí),按照以上算法,可以得到下表.ab|a-b|12111.50.51.251.50.251.3751.50.1251.3751.43750.06251.406251.43750.031251.406251.4218750.0156251.41406251.4218750.00781251.41406251.417968750.00390625于是,開(kāi)區(qū)間(1.4140625,1.41796875)中的實(shí)數(shù)都是當(dāng)精確度為0.005時(shí)的原方程的近似解.實(shí)際上,上述步驟也是求的近似值的一個(gè)算法.點(diǎn)評(píng):算法一般是機(jī)械的,有時(shí)需要進(jìn)行大量的重復(fù)計(jì)算,只要按部就班地去做,總能算出結(jié)果,通常把算法過(guò)程稱為“數(shù)學(xué)機(jī)械化”.數(shù)學(xué)機(jī)械化的最大優(yōu)點(diǎn)是它可以借助計(jì)算機(jī)來(lái)完成,實(shí)際上處理任何問(wèn)題都需要算法.如:中國(guó)象棋有中國(guó)象棋的棋譜、走法、勝負(fù)的評(píng)判準(zhǔn)則;而國(guó)際象棋有國(guó)際象棋的棋譜、走法、勝負(fù)的評(píng)判準(zhǔn)則;再比如申請(qǐng)出國(guó)有一系列的先后手續(xù),購(gòu)買物品也有相關(guān)的手續(xù)……思路2例1一個(gè)人帶著三只狼和三只羚羊過(guò)河,只有一條船,同船可容納一個(gè)人和兩只動(dòng)物,沒(méi)有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量就會(huì)吃羚羊.該人如何將動(dòng)物轉(zhuǎn)移過(guò)河?請(qǐng)?jiān)O(shè)計(jì)算法.分析:任何動(dòng)物同船不用考慮動(dòng)物的爭(zhēng)斗但需考慮承載的數(shù)量,還應(yīng)考慮到兩岸的動(dòng)物都得保證狼的數(shù)量要小于羚羊的數(shù)量,故在算法的構(gòu)造過(guò)程中盡可能保證船里面有狼,這樣才能使得兩岸的羚羊數(shù)量占到優(yōu)勢(shì).解:具體算法如下:算法步驟:第一步:人帶兩只狼過(guò)河,并自己返回.第二步:人帶一只狼過(guò)河,自己返回.第三步:人帶兩只羚羊過(guò)河,并帶兩只狼返回.第四步:人帶一只羊過(guò)河,自己返回.第五步:人帶兩只狼過(guò)河.點(diǎn)評(píng):算法是解決某一類問(wèn)題的精確描述,有些問(wèn)題使用形式化、程序化的刻畫是最恰當(dāng)?shù)?這就要求我們?cè)趯懰惴〞r(shí)應(yīng)精練、簡(jiǎn)練、清晰地表達(dá),要善于分析任何可能出現(xiàn)的情況,體現(xiàn)思維的嚴(yán)密性和完整性.本題型解決問(wèn)題的算法中某些步驟重復(fù)進(jìn)行多次才能解決,在現(xiàn)實(shí)生活中,很多較復(fù)雜的情境經(jīng)常遇到這樣的問(wèn)題,設(shè)計(jì)算法的時(shí)候,如果能夠合適地利用某些步驟的重復(fù),不但可以使得問(wèn)題變得簡(jiǎn)單,而且可以提高工作效率.例2喝一杯茶需要這樣幾個(gè)步驟:洗刷水壺、燒水、洗刷茶具、沏茶.問(wèn):如何安排這幾個(gè)步驟?并給出兩種算法,再加以比較.分析:本例主要為加深對(duì)算法概念的理解,可結(jié)合生活常識(shí)對(duì)問(wèn)題進(jìn)行分析,然后解決問(wèn)題.解:算法一:第一步,洗刷水壺.第二步,燒水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壺.第二步,燒水,燒水的過(guò)程當(dāng)中洗刷茶具.第三步,沏茶.點(diǎn)評(píng):解決一個(gè)問(wèn)題可有多個(gè)算法,可以選擇其中最優(yōu)的、最簡(jiǎn)單的、步驟盡量少的算法.上面的兩種算法都符合題意,但是算法二運(yùn)用了統(tǒng)籌方法的原理,因此這個(gè)算法要比算法一更科學(xué).例3寫出通過(guò)尺軌作圖確定線段AB一個(gè)5等分點(diǎn)的算法.分析:我們借助于平行線定理,把位置的比例關(guān)系變成已知的比例關(guān)系,只要按照規(guī)則一步一步去做就能完成任務(wù).解:算法分析:第一步,從已知線段的左端點(diǎn)A出發(fā),任意作一條與AB不平行的射線AP.第二步,在射線上任取一個(gè)不同于端點(diǎn)A的點(diǎn)C,得到線段AC.第三步,在射線上沿AC的方向截取線段CE=AC.第四步,在射線上沿AC的方向截取線段EF=AC.第五步,在射線上沿AC的方向截取線段FG=AC.第六步,在射線上沿AC的方向截取線段GD=AC,那么線段AD=5AC.第七步,連結(jié)DB.第八步,過(guò)C作BD的平行線,交線段AB于M,這樣點(diǎn)M就是線段AB的一個(gè)5等分點(diǎn).點(diǎn)評(píng):用算法解決幾何問(wèn)題能很好地訓(xùn)練學(xué)生的思維能力,并能幫助我們得到解決幾何問(wèn)題的一般方法,可謂一舉多得,應(yīng)多加訓(xùn)練.知能訓(xùn)練設(shè)計(jì)算法判斷一元二次方程ax2+bx+c=0是否有實(shí)數(shù)根.解:算法步驟如下:第一步,輸入一元二次方程的系數(shù):a,b,c.第二步,計(jì)算Δ=b2-4ac的值.第三步,判斷Δ≥0是否成立.若Δ≥0成立,輸出“方程有實(shí)根”;否則輸出“方程無(wú)實(shí)根”,結(jié)束算法.點(diǎn)評(píng):用算法解決問(wèn)題的特點(diǎn)是:具有很好的程序性,是一種通法.并且具有確定性、邏輯性、有窮性.讓我們結(jié)合例題仔細(xì)體會(huì)算法的特點(diǎn).拓展提升中國(guó)網(wǎng)通規(guī)定:撥打市內(nèi)電話時(shí),如果不超過(guò)3分鐘,則收取話費(fèi)0.22元;如果通話時(shí)間超過(guò)3分鐘,則超出部分按每分鐘0.1元收取通話費(fèi),不足一分鐘按一分鐘計(jì)算.設(shè)通話時(shí)間為t(分鐘),通話費(fèi)用y(元),如何設(shè)計(jì)一個(gè)程序,計(jì)算通話的費(fèi)用.解:算法分析:數(shù)學(xué)模型實(shí)際上為:y關(guān)于t的分段函數(shù).關(guān)系式如下:y=其中[t-3]表示取不大于t-3的整數(shù)部分.算法步驟如下:第一步,輸入通話時(shí)間t.第二步,如果t≤3,那么y=0.22;否則判斷t∈Z是否成立,若成立執(zhí)行y=0.2+0.1×(t-3);否則執(zhí)行y=0.2+0.1×([t-3]+1).第三步,輸出通話費(fèi)用c.課堂小結(jié)(1)正確理解算法這一概念.(2)結(jié)合例題掌握算法的特點(diǎn),能夠?qū)懗龀R?jiàn)問(wèn)題的算法.作業(yè)課本本節(jié)練習(xí)1、2.設(shè)計(jì)感想本節(jié)的引入精彩獨(dú)特,讓學(xué)生在感興趣的故事里進(jìn)入本節(jié)的學(xué)習(xí).算法是本章的重點(diǎn)也是本章的基礎(chǔ),是一個(gè)較難理解的概念.為了讓學(xué)生正確理解這一概念,本節(jié)設(shè)置了大量學(xué)生熟悉的事例,讓學(xué)生仔細(xì)體會(huì)反復(fù)訓(xùn)練.本節(jié)的事例有古老的經(jīng)典算法,有幾何算法等,因此這是一節(jié)很好的課例.備課資料備用習(xí)題如果執(zhí)行下面的程序框圖,那么輸出的S等于()A.2450B.2500C.2550D.2652解析:此程序框圖表達(dá)的是求2+4+6+…+100的值的算法,因?yàn)镾==2550,所以輸出S=2550.答案:C1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)整體設(shè)計(jì)教學(xué)分析用自然語(yǔ)言表示的算法步驟有明確的順序性,但是對(duì)于在一定條件下才會(huì)被執(zhí)行的步驟,以及在一定條件下會(huì)被重復(fù)執(zhí)行的步驟,自然語(yǔ)言的表示就顯得困難,而且不直觀、不準(zhǔn)確.因此,本節(jié)有必要探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法.程序框圖用圖形的方式表達(dá)算法,使算法的結(jié)構(gòu)更清楚、步驟更直觀也更精確.為了更好地學(xué)好程序框圖,我們需要掌握程序框的功能和作用,需要熟練掌握三種基本邏輯結(jié)構(gòu).三維目標(biāo)1.熟悉各種程序框及流程線的功能和作用.2.通過(guò)模仿、操作、探索,經(jīng)歷通過(guò)設(shè)計(jì)程序框圖表達(dá)解決問(wèn)題的過(guò)程.在具體問(wèn)題的解決過(guò)程中,理解程序框圖的三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu).3.通過(guò)比較體會(huì)程序框圖的直觀性、準(zhǔn)確性.重點(diǎn)難點(diǎn)數(shù)學(xué)重點(diǎn):程序框圖的畫法.數(shù)學(xué)難點(diǎn):程序框圖的畫法.課時(shí)安排4課時(shí)教學(xué)過(guò)程第1課時(shí)程序框圖及順序結(jié)構(gòu)導(dǎo)入新課思路1(情境導(dǎo)入)我們都喜歡外出旅游,優(yōu)美的風(fēng)景美不勝收,如果迷了路就不好玩了,問(wèn)路有時(shí)還聽(tīng)不明白,真是急死人,有的同學(xué)說(shuō)買張旅游圖不就好了嗎,所以外出旅游先要準(zhǔn)備好旅游圖.旅游圖看起來(lái)直觀、準(zhǔn)確,本節(jié)將探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法.今天我們開(kāi)始學(xué)習(xí)程序框圖.思路2(直接導(dǎo)入)用自然語(yǔ)言表示的算法步驟有明確的順序性,但是對(duì)于在一定條件下才會(huì)被執(zhí)行的步驟,以及在一定條件下會(huì)被重復(fù)執(zhí)行的步驟,自然語(yǔ)言的表示就顯得困難,而且不直觀、不準(zhǔn)確.因此,本節(jié)有必要探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法.今天開(kāi)始學(xué)習(xí)程序框圖.推進(jìn)新課新知探究提出問(wèn)題(1)什么是程序框圖?(2)說(shuō)出終端框(起止框)的圖形符號(hào)與功能.(3)說(shuō)出輸入、輸出框的圖形符號(hào)與功能.(4)說(shuō)出處理框(執(zhí)行框)的圖形符號(hào)與功能.(5)說(shuō)出判斷框的圖形符號(hào)與功能.(6)說(shuō)出流程線的圖形符號(hào)與功能.(7)說(shuō)出連接點(diǎn)的圖形符號(hào)與功能.(8)總結(jié)幾個(gè)基本的程序框、流程線和它們表示的功能.(9)什么是順序結(jié)構(gòu)?討論結(jié)果:(1)程序框圖又稱流程圖,是一種用程序框、流程線及文字說(shuō)明來(lái)表示算法的圖形.在程序框圖中,一個(gè)或幾個(gè)程序框的組合表示算法中的一個(gè)步驟;帶有方向箭頭的流程線將程序框連接起來(lái),表示算法步驟的執(zhí)行順序.(2)橢圓形框:表示程序的開(kāi)始和結(jié)束,稱為終端框(起止框).表示開(kāi)始時(shí)只有一個(gè)出口;表示結(jié)束時(shí)只有一個(gè)入口.(3)平行四邊形框:表示一個(gè)算法輸入和輸出的信息,又稱為輸入、輸出框,它有一個(gè)入口和一個(gè)出口.(4)矩形框:表示計(jì)算、賦值等處理操作,又稱為處理框(執(zhí)行框),它有一個(gè)入口和一個(gè)出口.(5)菱形框:是用來(lái)判斷給出的條件是否成立,根據(jù)判斷結(jié)果來(lái)決定程序的流向,稱為判斷框,它有一個(gè)入口和兩個(gè)出口.(6)流程線:表示程序的流向.(7)圓圈:連接點(diǎn).表示相關(guān)兩框的連接處,圓圈內(nèi)的數(shù)字相同的含義表示相連接在一起.(8)總結(jié)如下表.圖形符號(hào)名稱功能終端框(起止框)表示一個(gè)算法的起始和結(jié)束輸入、輸出框表示一個(gè)算法輸入和輸出的信息處理框(執(zhí)行框)賦值、計(jì)算判斷框判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是”或“Y”;不成立時(shí)標(biāo)明“否”或“N”流程線連接程序框連接點(diǎn)連接程序框圖的兩部分(9)很明顯,順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步驟組成的,這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu).三種邏輯結(jié)構(gòu)可以用如下程序框圖表示:順序結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)應(yīng)用示例例1請(qǐng)用程序框圖表示前面講過(guò)的“判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的算法.解:程序框圖如下:點(diǎn)評(píng):程序框圖是用圖形的方式表達(dá)算法,使算法的結(jié)構(gòu)更清楚,步驟更直觀也更精確.這里只是讓同學(xué)們初步了解程序框圖的特點(diǎn),感受它的優(yōu)點(diǎn),暫不要求掌握它的畫法.變式訓(xùn)練觀察下面的程序框圖,指出該算法解決的問(wèn)題.解:這是一個(gè)累加求和問(wèn)題,共99項(xiàng)相加,該算法是求的值.例2已知一個(gè)三角形三條邊的邊長(zhǎng)分別為a,b,c,利用海倫—秦九韶公式設(shè)計(jì)一個(gè)計(jì)算三角形面積的算法,并畫出程序框圖表示.(已知三角形三邊邊長(zhǎng)分別為a,b,c,則三角形的面積為S=),其中p=.這個(gè)公式被稱為海倫—秦九韶公式)算法分析:這是一個(gè)簡(jiǎn)單的問(wèn)題,只需先算出p的值,再將它代入分式,最后輸出結(jié)果.因此只用順序結(jié)構(gòu)應(yīng)能表達(dá)出算法.算法步驟如下:第一步,輸入三角形三條邊的邊長(zhǎng)a,b,c.第二步,計(jì)算p=.第三步,計(jì)算S=.第四步,輸出S.程序框圖如下:點(diǎn)評(píng):很明顯,順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步驟組成的,它是最簡(jiǎn)單的邏輯結(jié)構(gòu),它是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu).變式訓(xùn)練下圖所示的是一個(gè)算法的流程圖,已知a1=3,輸出的b=7,求a2的值.解:根據(jù)題意=7,∵a1=3,∴a2=11.即a2的值為11.例3寫出通過(guò)尺軌作圖確定線段AB的一個(gè)5等分點(diǎn)的程序框圖.解:利用我們學(xué)過(guò)的順序結(jié)構(gòu)得程序框圖如下:點(diǎn)評(píng):這個(gè)算法步驟具有一般性,對(duì)于任意自然數(shù)n,都可以按照這個(gè)算法的思想,設(shè)計(jì)出確定線段的n等分點(diǎn)的步驟,解決問(wèn)題,通過(guò)本題學(xué)習(xí)可以鞏固順序結(jié)構(gòu)的應(yīng)用.知能訓(xùn)練有關(guān)專家建議,在未來(lái)幾年內(nèi),中國(guó)的通貨膨脹率保持在3%左右,這將對(duì)我國(guó)經(jīng)濟(jì)的穩(wěn)定有利無(wú)害.所謂通貨膨脹率為3%,指的是每年消費(fèi)品的價(jià)格增長(zhǎng)率為3%.在這種情況下,某種品牌的鋼琴2004年的價(jià)格是10000元,請(qǐng)用流程圖描述這種鋼琴今后四年的價(jià)格變化情況,并輸出四年后的價(jià)格.解:用P表示鋼琴的價(jià)格,不難看出如下算法步驟:2005年P(guān)=10000×(1+3%)=10300;2006年P(guān)=10300×(1+3%)=10609;2007年P(guān)=10609×(1+3%)=10927.27;2008年P(guān)=10927.27×(1+3%)=11255.09;因此,價(jià)格的變化情況表為:年份20042005200620072008鋼琴的價(jià)格10000103001060910927.2711255.09程序框圖如下:點(diǎn)評(píng):順序結(jié)構(gòu)只需嚴(yán)格按照傳統(tǒng)的解決數(shù)學(xué)問(wèn)題的解題思路,將問(wèn)題解決掉.最后將解題步驟“細(xì)化”就可以.“細(xì)化”指的是寫出算法步驟、畫出程序框圖.拓展提升如下給出的是計(jì)算的值的一個(gè)流程圖,其中判斷框內(nèi)應(yīng)填入的條件是______________.答案:i>10.課堂小結(jié)(1)掌握程序框的畫法和功能.(2)了解什么是程序框圖,知道學(xué)習(xí)程序框圖的意義.(3)掌握順序結(jié)構(gòu)的應(yīng)用,并能解決與順序結(jié)構(gòu)有關(guān)的程序框圖的畫法.作業(yè)習(xí)題1.1A1.設(shè)計(jì)感想首先,本節(jié)的引入新穎獨(dú)特,旅游圖的故事闡明了學(xué)習(xí)程序框圖的意義.通過(guò)豐富有趣的事例讓學(xué)生了解了什么是程序框圖,進(jìn)而激發(fā)學(xué)生學(xué)習(xí)程序框圖的興趣.本節(jié)設(shè)計(jì)題目難度適中,逐步把學(xué)生帶入知識(shí)的殿堂,是一節(jié)好的課例.第2課時(shí)條件結(jié)構(gòu)導(dǎo)入新課思路1(情境導(dǎo)入)我們以前聽(tīng)過(guò)這樣一個(gè)故事,野獸與鳥(niǎo)發(fā)生了一場(chǎng)戰(zhàn)爭(zhēng),蝙蝠來(lái)了,野獸們喊道:你有牙齒是我們一伙的,鳥(niǎo)們喊道:你有翅膀是我們一伙的,蝙蝠一時(shí)沒(méi)了主意.過(guò)了一會(huì)兒蝙蝠有了一個(gè)好辦法,如果野獸贏了,就加入野獸這一伙,否則加入另一伙,事實(shí)上蝙蝠用了分類討論思想,在算法和程序框圖中也經(jīng)常用到這一思想方法,今天我們開(kāi)始學(xué)習(xí)新的邏輯結(jié)構(gòu)——條件結(jié)構(gòu).思路2(直接導(dǎo)入)前面我們學(xué)習(xí)了順序結(jié)構(gòu),順序結(jié)構(gòu)像是一條沒(méi)有分支的河流,奔流到海不復(fù)回,事實(shí)上多數(shù)河流是有分支的,今天我們開(kāi)始學(xué)習(xí)有分支的邏輯結(jié)構(gòu)——條件結(jié)構(gòu).推進(jìn)新課新知探究提出問(wèn)題(1)舉例說(shuō)明什么是分類討論思想?(2)什么是條件結(jié)構(gòu)?(3)試用程序框圖表示條件結(jié)構(gòu).(4)指出條件結(jié)構(gòu)的兩種形式的區(qū)別.討論結(jié)果:(1)例如解不等式ax>8(a≠0),不等式兩邊需要同除a,需要明確知道a的符號(hào),但條件沒(méi)有給出,因此需要進(jìn)行分類討論,這就是分類討論思想.(2)在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).(3)用程序框圖表示條件結(jié)構(gòu)如下.條件結(jié)構(gòu):先根據(jù)條件作出判斷,再?zèng)Q定執(zhí)行哪一種操作的結(jié)構(gòu)就稱為條件結(jié)構(gòu)(或分支結(jié)構(gòu)),如圖1所示.執(zhí)行過(guò)程如下:條件成立,則執(zhí)行A框;不成立,則執(zhí)行B框.圖1圖2注:無(wú)論條件是否成立,只能執(zhí)行A、B之一,不可能兩個(gè)框都執(zhí)行.A、B兩個(gè)框中,可以有一個(gè)是空的,即不執(zhí)行任何操作,如圖2.(4)一種是在兩個(gè)“分支”中均包含算法的步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行“步驟B”;另一種是在一個(gè)“分支”中均包含算法的步驟A,而在另一個(gè)“分支”上不包含算法的任何步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行這個(gè)條件結(jié)構(gòu)后的步驟.應(yīng)用示例例1任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷以這3個(gè)正實(shí)數(shù)為三邊邊長(zhǎng)的三角形是否存在,并畫出這個(gè)算法的程序框圖.算法分析:判斷以3個(gè)任意給定的正實(shí)數(shù)為三條邊邊長(zhǎng)的三角形是否存在,只需驗(yàn)證這3個(gè)數(shù)中任意兩個(gè)數(shù)的和是否大于第3個(gè)數(shù).這個(gè)驗(yàn)證需要用到條件結(jié)構(gòu).算法步驟如下:第一步,輸入3個(gè)正實(shí)數(shù)a,b,c.第二步,判斷a+b>c,b+c>a,c+a>b是否同時(shí)成立.若是,則存在這樣的三角形;否則,不存在這樣的三角形.程序框圖如右圖:點(diǎn)評(píng):根據(jù)構(gòu)成三角形的條件,判斷是否滿足任意兩邊之和大于第三邊,如果滿足則存在這樣的三角形,如果不滿足則不存在這樣的三角形.這種分類討論思想是高中的重點(diǎn),在畫程序框圖時(shí),常常遇到需要討論的問(wèn)題,這時(shí)要用到條件結(jié)構(gòu).例2設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示.算法分析:我們知道,若判別式Δ=b2-4ac>0,則原方程有兩個(gè)不相等的實(shí)數(shù)根x1=,x2=;若Δ=0,則原方程有兩個(gè)相等的實(shí)數(shù)根x1=x2=;若Δ<0,則原方程沒(méi)有實(shí)數(shù)根.也就是說(shuō),在求解方程之前,可以先判斷判別式的符號(hào),根據(jù)判斷的結(jié)果執(zhí)行不同的步驟,這個(gè)過(guò)程可以用條件結(jié)構(gòu)實(shí)現(xiàn).又因?yàn)榉匠痰膬蓚€(gè)根有相同的部分,為了避免重復(fù)計(jì)算,可以在計(jì)算x1和x2之前,先計(jì)算p=,q=.解決這一問(wèn)題的算法步驟如下:第一步,輸入3個(gè)系數(shù)a,b,c.第二步,計(jì)算Δ=b2-4ac.第三步,判斷Δ≥0是否成立.若是,則計(jì)算p=,q=;否則,輸出“方程沒(méi)有實(shí)數(shù)根”,結(jié)束算法.第四步,判斷Δ=0是否成立.若是,則輸出x1=x2=p;否則,計(jì)算x1=p+q,x2=p-q,并輸出x1,x2.程序框圖如下:例3設(shè)計(jì)算法判斷一元二次方程ax2+bx+c=0是否有實(shí)數(shù)根,并畫出相應(yīng)的程序框圖.解:算法步驟如下:第一步,輸入3個(gè)系數(shù):a,b,c.第二步,計(jì)算Δ=b2-4ac.第三步,判斷Δ≥0是否成立.若是,則輸出“方程有實(shí)根”;否則,輸出“方程無(wú)實(shí)根”.結(jié)束算法.相應(yīng)的程序框圖如右:點(diǎn)評(píng):根據(jù)一元二次方程的意義,需要計(jì)算判別式Δ=b2-4ac的值.再分成兩種情況處理:(1)當(dāng)Δ≥0時(shí),一元二次方程有實(shí)數(shù)根;(2)當(dāng)Δ<0時(shí),一元二次方程無(wú)實(shí)數(shù)根.該問(wèn)題實(shí)際上是一個(gè)分類討論問(wèn)題,根據(jù)一元二次方程系數(shù)的不同情況,最后結(jié)果就不同.因而當(dāng)給出一個(gè)一元二次方程時(shí),必須先確定判別式的值,然后再用判別式的值的取值情況確定方程是否有解.該例僅用順序結(jié)構(gòu)是辦不到的,要對(duì)判別式的值進(jìn)行判斷,需要用到條件結(jié)構(gòu).例4(1)設(shè)計(jì)算法,求ax+b=0的解,并畫出流程圖.解:對(duì)于方程ax+b=0來(lái)講,應(yīng)該分情況討論方程的解.我們要對(duì)一次項(xiàng)系數(shù)a和常數(shù)項(xiàng)b的取值情況進(jìn)行分類,分類如下:(1)當(dāng)a≠0時(shí),方程有唯一的實(shí)數(shù)解是;(2)當(dāng)a=0,b=0時(shí),全體實(shí)數(shù)都是方程的解;(3)當(dāng)a=0,b≠0時(shí),方程無(wú)解.聯(lián)想數(shù)學(xué)中的分類討論的處理方式,可得如下算法步驟:第一步,判斷a≠0是否成立.若成立,輸出結(jié)果“解為”.第二步,判斷a=0,b=0是否同時(shí)成立.若成立,輸出結(jié)果“解集為R”.第三步,判斷a=0,b≠0是否同時(shí)成立.若成立,輸出結(jié)果“方程無(wú)解”,結(jié)束算法.程序框圖如下:點(diǎn)評(píng):這是條件結(jié)構(gòu)疊加問(wèn)題,條件結(jié)構(gòu)疊加,程序執(zhí)行時(shí)需依次對(duì)“條件1”“條件2”“條件3”……都進(jìn)行判斷,只有遇到能滿足的條件才執(zhí)行該條件對(duì)應(yīng)的操作.知能訓(xùn)練設(shè)計(jì)算法,找出輸入的三個(gè)不相等實(shí)數(shù)a、b、c中的最大值,并畫出流程圖.解:算法步驟:第一步,輸入a,b,c的值.第二步,判斷a>b是否成立,若成立,則執(zhí)行第三步;否則執(zhí)行第四步.第三步,判斷a>c是否成立,若成立,則輸出a,并結(jié)束;否則輸出c,并結(jié)束.第四步,判斷b>c是否成立,若成立,則輸出b,并結(jié)束;否則輸出c,并結(jié)束.程序框圖如下:點(diǎn)評(píng):條件結(jié)構(gòu)嵌套與條件結(jié)構(gòu)疊加的區(qū)別:(1)條件結(jié)構(gòu)疊加,程序執(zhí)行時(shí)需依次對(duì)“條件1”“條件2”“條件3”……都進(jìn)行判斷,只有遇到能滿足的條件才執(zhí)行該條件對(duì)應(yīng)的操作.(2)條件結(jié)構(gòu)的嵌套中,“條件2”是“條件1”的一個(gè)分支,“條件3”是“條件2”的一個(gè)分支……依此類推,這些條件中很多在算法執(zhí)行過(guò)程中根據(jù)所處的分支位置不同可能不被執(zhí)行.(3)條件結(jié)構(gòu)嵌套所涉及的“條件2”“條件3”……是在前面的所有條件依次一個(gè)一個(gè)的滿足“分支條件成立”的情況下才能執(zhí)行的此操作,是多個(gè)條件同時(shí)成立的疊加和復(fù)合.例5“特快專遞”是目前人們經(jīng)常使用的異地郵寄信函或托運(yùn)物品的一種快捷方式.某快遞公司規(guī)定甲、乙兩地之間物品的托運(yùn)費(fèi)用根據(jù)下列方法計(jì)算:f=其中f(單位:元)為托運(yùn)費(fèi),ω為托運(yùn)物品的重量(單位:千克).試畫出計(jì)算費(fèi)用f的程序框圖.分析:這是一個(gè)實(shí)際問(wèn)題,根據(jù)數(shù)學(xué)模型可知,求費(fèi)用f的計(jì)算公式隨物品重量ω的變化而有所不同,因此計(jì)算時(shí)先看物品的重量,在不同的條件下,執(zhí)行不同的指令,這是條件結(jié)構(gòu)的運(yùn)用,是二分支條件結(jié)構(gòu).其中,物品的重量通過(guò)輸入的方式給出.解:算法程序框圖如右圖:拓展提升有一城市,市區(qū)為半徑為15km的圓形區(qū)域,近郊區(qū)為距中心15—25km的范圍內(nèi)的環(huán)形地帶,距中心25km以外的為遠(yuǎn)郊區(qū),如右圖所示.市區(qū)地價(jià)每公頃100萬(wàn)元,近郊區(qū)地價(jià)每公頃60萬(wàn)元,遠(yuǎn)郊區(qū)地價(jià)為每公頃20萬(wàn)元,輸入某一點(diǎn)的坐標(biāo)為(x,y),求該點(diǎn)的地價(jià).分析:由該點(diǎn)坐標(biāo)(x,y),求其與市中心的距離r=,確定是市區(qū)、近郊區(qū),還是遠(yuǎn)郊區(qū),進(jìn)而確定地價(jià)p.由題意知,p=解:程序框圖如下:課堂小結(jié)(1)理解兩種條件結(jié)構(gòu)的特點(diǎn)和區(qū)別.(2)能用學(xué)過(guò)的兩種條件結(jié)構(gòu)解決常見(jiàn)的算法問(wèn)題.作業(yè)習(xí)題1.1A組3.設(shè)計(jì)感想本節(jié)采用引人入勝的方法引入正課,選用的例題難度適中,有的經(jīng)典實(shí)用,有的新穎獨(dú)特,每個(gè)例題都是很好的素材.條件結(jié)構(gòu)是邏輯結(jié)構(gòu)的核心,是培養(yǎng)學(xué)生邏輯推理的好素材,本節(jié)設(shè)計(jì)符合新課標(biāo)精神,難度設(shè)計(jì)略高于教材.第3課時(shí)循環(huán)結(jié)構(gòu)導(dǎo)入新課思路1(情境導(dǎo)入)我們都想生活在一個(gè)優(yōu)美的環(huán)境中,希望看到的是碧水藍(lán)天,大家知道工廠的污水是怎樣處理的嗎?污水進(jìn)入處理裝置后進(jìn)行第一次處理,如果達(dá)不到排放標(biāo)準(zhǔn),則需要再進(jìn)入處理裝置進(jìn)行處理,直到達(dá)到排放標(biāo)準(zhǔn).污水處理裝置是一個(gè)循環(huán)系統(tǒng),對(duì)于處理需要反復(fù)操作的事情有很大的優(yōu)勢(shì).我們數(shù)學(xué)中有很多問(wèn)題需要反復(fù)操作,今天我們學(xué)習(xí)能夠反復(fù)操作的邏輯結(jié)構(gòu)——循環(huán)結(jié)構(gòu).思路2(直接導(dǎo)入)前面我們學(xué)習(xí)了順序結(jié)構(gòu),順序結(jié)構(gòu)像一條沒(méi)有分支的河流,奔流到海不復(fù)回;上一節(jié)我們學(xué)習(xí)了條件結(jié)構(gòu),條件結(jié)構(gòu)像有分支的河流最后歸入大海;事實(shí)上很多水系是循環(huán)往復(fù)的,今天我們開(kāi)始學(xué)習(xí)循環(huán)往復(fù)的邏輯結(jié)構(gòu)——循環(huán)結(jié)構(gòu).推進(jìn)新課新知探究提出問(wèn)題(1)請(qǐng)大家舉出一些常見(jiàn)的需要反復(fù)計(jì)算的例子.(2)什么是循環(huán)結(jié)構(gòu)、循環(huán)體?(3)試用程序框圖表示循環(huán)結(jié)構(gòu).(4)指出兩種循環(huán)結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn).討論結(jié)果:(1)例如用二分法求方程的近似解、數(shù)列求和等.(2)在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開(kāi)始,按照一定的條件反復(fù)執(zhí)行某些步驟的情況,這就是循環(huán)結(jié)構(gòu).反復(fù)執(zhí)行的步驟稱為循環(huán)體.(3)在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).即從算法某處開(kāi)始,按照一定條件重復(fù)執(zhí)行某一處理的過(guò)程.重復(fù)執(zhí)行的處理步驟稱為循環(huán)體.循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu).1°當(dāng)型循環(huán)結(jié)構(gòu),如圖(1)所示,它的功能是當(dāng)給定的條件P成立時(shí),執(zhí)行A框,A框執(zhí)行完畢后,返回來(lái)再判斷條件P是否成立,如果仍然成立,返回來(lái)再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次返回來(lái)判斷條件P不成立時(shí)為止,此時(shí)不再執(zhí)行A框,離開(kāi)循環(huán)結(jié)構(gòu).繼續(xù)執(zhí)行下面的框圖.2°直到型循環(huán)結(jié)構(gòu),如圖(2)所示,它的功能是先執(zhí)行重復(fù)執(zhí)行的A框,然后判斷給定的條件P是否成立,如果P仍然不成立,則返回來(lái)繼續(xù)執(zhí)行A框,再判斷條件P是否成立.繼續(xù)重復(fù)操作,直到某一次給定的判斷條件P時(shí)成立為止,此時(shí)不再返回來(lái)執(zhí)行A框,離開(kāi)循環(huán)結(jié)構(gòu).繼續(xù)執(zhí)行下面的框圖.見(jiàn)示意圖:當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)(4)兩種循環(huán)結(jié)構(gòu)的不同點(diǎn):直到型循環(huán)結(jié)構(gòu)是程序先進(jìn)入循環(huán)體,然后對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán).當(dāng)型循環(huán)結(jié)構(gòu)是在每次執(zhí)行循環(huán)體前,先對(duì)條件進(jìn)行判斷,當(dāng)條件滿足時(shí),執(zhí)行循環(huán)體,否則終止循環(huán).兩種循環(huán)結(jié)構(gòu)的相同點(diǎn):兩種不同形式的循環(huán)結(jié)構(gòu)可以看出,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),用于確定何時(shí)終止執(zhí)行循環(huán)體.應(yīng)用示例思路1例1設(shè)計(jì)一個(gè)計(jì)算1+2+……+100的值的算法,并畫出程序框圖.算法分析:通常,我們按照下列過(guò)程計(jì)算1+2+……+100的值.第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.顯然,這個(gè)過(guò)程中包含重復(fù)操作的步驟,可以用循環(huán)結(jié)構(gòu)表示.分析上述計(jì)算過(guò)程,可以發(fā)現(xiàn)每一步都可以表示為第(i-1)步的結(jié)果+i=第i步的結(jié)果.為了方便、有效地表示上述過(guò)程,我們用一個(gè)累加變量S來(lái)表示第一步的計(jì)算結(jié)果,即把S+i的結(jié)果仍記為S,從而把第i步表示為S=S+i,其中S的初始值為0,i依次取1,2,…,100,由于i同時(shí)記錄了循環(huán)的次數(shù),所以也稱為計(jì)數(shù)變量.解決這一問(wèn)題的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,則執(zhí)行第三步;否則,輸出S,結(jié)束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.程序框圖如右:上述程序框圖用的是當(dāng)型循環(huán)結(jié)構(gòu),如果用直到型循環(huán)結(jié)構(gòu)表示,則程序框圖如下:點(diǎn)評(píng):這是一個(gè)典型的用循環(huán)結(jié)構(gòu)解決求和的問(wèn)題,有典型的代表意義,可把它作為一個(gè)范例,仔細(xì)體會(huì)三種邏輯結(jié)構(gòu)在程序框圖中的作用,學(xué)會(huì)畫程序框圖.變式訓(xùn)練已知有一列數(shù),設(shè)計(jì)框圖實(shí)現(xiàn)求該列數(shù)前20項(xiàng)的和.分析:該列數(shù)中每一項(xiàng)的分母是分子數(shù)加1,單獨(dú)觀察分子,恰好是1,2,3,4,…,n,因此可用循環(huán)結(jié)構(gòu)實(shí)現(xiàn),設(shè)計(jì)數(shù)器i,用i=i+1實(shí)現(xiàn)分子,設(shè)累加器S,用S=,可實(shí)現(xiàn)累加,注意i只能加到20.解:程序框圖如下:方法一:方法二:點(diǎn)評(píng):在數(shù)學(xué)計(jì)算中,i=i+1不成立,S=S+i只有在i=0時(shí)才能成立.在計(jì)算機(jī)程序中,它們被賦予了其他的功能,不再是數(shù)學(xué)中的“相等”關(guān)系,而是賦值關(guān)系.變量i用來(lái)作計(jì)數(shù)器,i=i+1的含義是:將變量i的值加1,然后把計(jì)算結(jié)果再存貯到變量i中,即計(jì)數(shù)器i在原值的基礎(chǔ)上又增加了1.變量S作為累加器,來(lái)計(jì)算所求數(shù)據(jù)之和.如累加器的初值為0,當(dāng)?shù)谝粋€(gè)數(shù)據(jù)送到變量i中時(shí),累加的動(dòng)作為S=S+i,即把S的值與變量i的值相加,結(jié)果再送到累加器S中,如此循環(huán),則可實(shí)現(xiàn)數(shù)的累加求和.例2某廠2005年的年生產(chǎn)總值為200萬(wàn)元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長(zhǎng)5%,設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過(guò)300萬(wàn)元的最早年份.算法分析:先寫出解決本例的算法步驟:第一步,輸入2005年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值.第三步,判斷所得的結(jié)果是否大于300,若是,則輸出該年的年份,算法結(jié)束;否則,返回第二步.由于“第二步”是重復(fù)操作的步驟,所以本例可以用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn).我們按照“確定循環(huán)體”“初始化變量”“設(shè)定循環(huán)控制條件”的順序來(lái)構(gòu)造循環(huán)結(jié)構(gòu).(1)確定循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長(zhǎng)量,n為年份,則循環(huán)體為t=0.05a,a=a+t,n=n+1.(2)初始化變量:若將2005年的年生產(chǎn)總值看成計(jì)算的起始點(diǎn),則n的初始值為2005,a的初始值為200.(3)設(shè)定循環(huán)控制條件:當(dāng)“年生產(chǎn)總值超過(guò)300萬(wàn)元”時(shí)終止循環(huán),所以可通過(guò)判斷“a>300”是否成立來(lái)控制循環(huán).程序框圖如下:思路2例1設(shè)計(jì)框圖實(shí)現(xiàn)1+3+5+7+…+131的算法.分析:由于需加的數(shù)較多,所以要引入循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)累加.觀察所加的數(shù)是一組有規(guī)律的數(shù)(每相臨兩數(shù)相差2),那么可考慮在循環(huán)過(guò)程中,設(shè)一個(gè)變量i,用i=i+2來(lái)實(shí)現(xiàn)這些有規(guī)律的數(shù),設(shè)一個(gè)累加器sum,用來(lái)實(shí)現(xiàn)數(shù)的累加,在執(zhí)行時(shí),每循環(huán)一次,就產(chǎn)生一個(gè)需加的數(shù),然后加到累加器sum中.解:算法如下:第一步,賦初值i=1,sum=0.第二步,sum=sum+i,i=i+2.第三步,如果i≤131,則反復(fù)執(zhí)第二步;否則,執(zhí)行下一步.第四步,輸出sum.第五步,結(jié)束.程序框圖如右圖.點(diǎn)評(píng):(1)設(shè)計(jì)流程圖要分步進(jìn)行,把一個(gè)大的流程圖分割成幾個(gè)小的部分,按照三個(gè)基本結(jié)構(gòu)即順序、條件、循環(huán)結(jié)構(gòu)來(lái)局部安排,然后把流程圖進(jìn)行整合.(2)框圖畫完后,要進(jìn)行驗(yàn)證,按設(shè)計(jì)的流程分析是否能實(shí)現(xiàn)所求的數(shù)的累加,分析條件是否加到131就結(jié)束循環(huán),所以我們要注意初始值的設(shè)置、循環(huán)條件的確定以及循環(huán)體內(nèi)語(yǔ)句的先后順序,三者要有機(jī)地結(jié)合起來(lái).最關(guān)鍵的是循環(huán)條件,它決定循環(huán)次數(shù),可以想一想,為什么條件不是“i<131”或“i=131”,如果是“i<131”,那么會(huì)少執(zhí)行一次循環(huán),131就加不上了.例2高中某班一共有40名學(xué)生,設(shè)計(jì)算法流程圖,統(tǒng)計(jì)班級(jí)數(shù)學(xué)成績(jī)良好(分?jǐn)?shù)>80)和優(yōu)秀(分?jǐn)?shù)>90)的人數(shù).分析:用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)40個(gè)成績(jī)的輸入,每循環(huán)一次就輸入一個(gè)成績(jī)s,然后對(duì)s的值進(jìn)行判斷.設(shè)兩個(gè)計(jì)數(shù)器m,n,如果s>90,則m=m+1,如果80<s≤90,則n=n+1.設(shè)計(jì)數(shù)器i,用來(lái)控制40個(gè)成績(jī)的輸入,注意循環(huán)條件的確定.解:程序框圖如下圖:知能訓(xùn)練由相應(yīng)的程序框圖如右圖,補(bǔ)充完整一個(gè)計(jì)算1+2+3+…+100的值的算法.(用循環(huán)結(jié)構(gòu))第一步,設(shè)i的值為_(kāi)____________.第二步,設(shè)sum的值為_(kāi)____________.第三步,如果i≤100執(zhí)行第_____________步,否則,轉(zhuǎn)去執(zhí)行第_____________步.第四步,計(jì)算sum+i并將結(jié)果代替_____________.第五步,計(jì)算_____________并將結(jié)果代替i.第六步,轉(zhuǎn)去執(zhí)行第三步.第七步,輸出sum的值并結(jié)束算法.分析:流程圖各圖框的內(nèi)容(語(yǔ)言和符號(hào))要與算法步驟相對(duì)應(yīng),在流程圖中算法執(zhí)行的順序應(yīng)按箭頭方向進(jìn)行.解:第一步,設(shè)i的值為1.第二步,設(shè)sum的值為0.第三步,如果i≤100,執(zhí)行第四步,否則,轉(zhuǎn)去執(zhí)行第七步.第四步,計(jì)算sum+i并將結(jié)果代替sum.第五步,計(jì)算i+1并將結(jié)果代替i.第六步,轉(zhuǎn)去執(zhí)行第三步.第七步,輸出sum的值并結(jié)束算法.拓展提升設(shè)計(jì)一個(gè)算法,求1+2+4+…+249的值,并畫出程序框圖.解:算法步驟:第一步,sum=0.第二步,i=0.第三步,sum=sum+2i.第四步,i=i+1.第五步,判斷i是否大于49,若成立,則輸出sum,結(jié)束.否則,返回第三步重新執(zhí)行.程序框圖如右圖:點(diǎn)評(píng):(1)如果算法問(wèn)題里涉及的運(yùn)算進(jìn)行了許多次重復(fù)的操作,且先后參與運(yùn)算的數(shù)之間有相同的規(guī)律,就可引入變量循環(huán)參與運(yùn)算(我們稱之為循環(huán)變量),應(yīng)用于循環(huán)結(jié)構(gòu).在循環(huán)結(jié)構(gòu)中,要注意根據(jù)條件設(shè)計(jì)合理的計(jì)數(shù)變量、累加和累乘變量及其個(gè)數(shù)等,特別要求條件的表述要恰當(dāng)、精確.(2)累加變量的初始值一般取0,而累乘變量的初始值一般取1.課堂小結(jié)(1)熟練掌握兩種循環(huán)結(jié)構(gòu)的特點(diǎn)及功能.(2)能用兩種循環(huán)結(jié)構(gòu)畫出求和等實(shí)際問(wèn)題的程序框圖,進(jìn)一步理解學(xué)習(xí)算法的意義.作業(yè)習(xí)題1.1A組2.設(shè)計(jì)感想本節(jié)的引入抓住了本節(jié)的特點(diǎn),利用計(jì)算機(jī)進(jìn)行循環(huán)往復(fù)運(yùn)算,解決累加、累乘等問(wèn)題.循環(huán)結(jié)構(gòu)是邏輯結(jié)構(gòu)中的難點(diǎn),它一定包含一個(gè)條件結(jié)構(gòu),它能解決很多有趣的問(wèn)題.本節(jié)選用了大量精彩的例題,對(duì)我們系統(tǒng)掌握程序框圖有很大的幫助.第4課時(shí)程序框圖的畫法導(dǎo)入新課思路1(情境導(dǎo)入)一條河流有時(shí)像順序結(jié)構(gòu),奔流到海不復(fù)回;有時(shí)像條件結(jié)構(gòu)分分合合向前進(jìn);有時(shí)像循環(huán)結(jié)構(gòu),雖有反復(fù)但最后流入大海.一個(gè)程序框圖就像一條河流包含三種邏輯結(jié)構(gòu),今天我們系統(tǒng)學(xué)習(xí)程序框圖的畫法.思路2(直接導(dǎo)入)前面我們學(xué)習(xí)了順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu),今天我們系統(tǒng)學(xué)習(xí)程序框圖的畫法.推進(jìn)新課新知探究提出問(wèn)題(1)請(qǐng)大家回憶順序結(jié)構(gòu),并用程序框圖表示.(2)請(qǐng)大家回憶條件結(jié)構(gòu),并用程序框圖表示.(3)請(qǐng)大家回憶循環(huán)結(jié)構(gòu),并用程序框圖表示.(4)總結(jié)畫程序框圖的基本步驟.討論結(jié)果:(1)順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步驟組成的,這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu).框圖略.(2)在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).框圖略.(3)在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).即從算法某處開(kāi)始,按照一定條件重復(fù)執(zhí)行某一處理過(guò)程.重復(fù)執(zhí)行的處理步驟稱為循環(huán)體.循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu).框圖略.(4)從前面的學(xué)習(xí)可以看出,設(shè)計(jì)一個(gè)算法的程序框圖通常要經(jīng)過(guò)以下步驟:第一步,用自然語(yǔ)言表達(dá)算法步驟.第二步,確定每一個(gè)算法步驟所包含的邏輯結(jié)構(gòu),并用相應(yīng)的程序框表示,得到該步驟的程序框圖.第三步,將所有步驟的程序框圖用流程線連接起來(lái),并加上終端框,得到表示整個(gè)算法的程序框圖.應(yīng)用示例例1結(jié)合前面學(xué)過(guò)的算法步驟,利用三種基本邏輯結(jié)構(gòu)畫出程序框圖,表示用“二分法”求方程x2-2=0(x>0)的近似解的算法.算法分析:(1)算法步驟中的“第一步”“第二步”和“第三步”可以用順序結(jié)構(gòu)來(lái)表示(如下圖):(2)算法步驟中的“第四步”可以用條件結(jié)構(gòu)來(lái)表示(如下圖).在這個(gè)條件結(jié)構(gòu)中,“否”分支用“a=m”表示含零點(diǎn)的區(qū)間為[m,b],并把這個(gè)區(qū)間仍記成[a,b];“是”分支用“b=m”表示含零點(diǎn)的區(qū)間為[a,m],同樣把這個(gè)區(qū)間仍記成[a,b].(3)算法步驟中的“第五步”包含一個(gè)條件結(jié)構(gòu),這個(gè)條件結(jié)構(gòu)與“第三步”“第四步”構(gòu)成一個(gè)循環(huán)結(jié)構(gòu),循環(huán)體由“第三步”和“第四步”組成,終止循環(huán)的條件是“|a-b|<d或f(m)=0”.在“第五步”中,還包含由循環(huán)結(jié)構(gòu)與“輸出m”組成的順序結(jié)構(gòu)(如下圖).(4)將各步驟的程序框圖連接起來(lái),并畫出“開(kāi)始”與“結(jié)束”兩個(gè)終端框,就得到了表示整個(gè)算法的程序框圖(如下圖).點(diǎn)評(píng):在用自然語(yǔ)言表述一個(gè)算法后,可以畫出程序框圖,用順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來(lái)表示這個(gè)算法,這樣表示的算法清楚、簡(jiǎn)練,便于閱讀和交流.例2相傳古代的印度國(guó)王要獎(jiǎng)賞國(guó)際象棋的發(fā)明者,問(wèn)他需要什么.發(fā)明者說(shuō):陛下,在國(guó)際象棋的第一個(gè)格子里面放1粒麥子,在第二個(gè)格子里面放2粒麥子,第三個(gè)格子放4粒麥子,以后每個(gè)格子中的麥粒數(shù)都是它前一個(gè)格子中麥粒數(shù)的二倍,依此類推(國(guó)際象棋棋盤共有64個(gè)格子),請(qǐng)將這些麥子賞給我,我將感激不盡.國(guó)王想這還不容易,就讓人扛了一袋小麥,但不到一會(huì)兒就沒(méi)了,最后一算結(jié)果,全印度一年生產(chǎn)的糧食也不夠.國(guó)王很奇怪,小小的“棋盤”,不足100個(gè)格子,如此計(jì)算怎么能放這么多麥子?試用程序框圖表示此算法過(guò)程.解:將實(shí)際問(wèn)題轉(zhuǎn)化為數(shù)學(xué)模型,該問(wèn)題就是要求1+2+4+……+263的和.程序框圖如下:點(diǎn)評(píng):對(duì)于開(kāi)放式探究問(wèn)題,我們可以建立數(shù)學(xué)模型(上面的題目可以與等比數(shù)列的定義、性質(zhì)和公式聯(lián)系起來(lái))和過(guò)程模型來(lái)分析算法,通過(guò)設(shè)計(jì)算法以及語(yǔ)言的描述選擇一些成熟的辦法進(jìn)行處理.例3乘坐火車時(shí),可以托運(yùn)貨物.從甲地到乙地,規(guī)定每張火車客票托運(yùn)費(fèi)計(jì)算方法是:行李質(zhì)量不超過(guò)50kg時(shí)按0.25元/kg;超過(guò)50kg而不超過(guò)100kg時(shí),其超過(guò)部分按0.35元/kg;超過(guò)100kg時(shí),其超過(guò)部分按0.45元/kg.編寫程序,輸入行李質(zhì)量,計(jì)算出托運(yùn)的費(fèi)用.分析:本題主要考查條件語(yǔ)句及其應(yīng)用.先解決數(shù)學(xué)問(wèn)題,列出托運(yùn)的費(fèi)用關(guān)于行李質(zhì)量的函數(shù)關(guān)系式.設(shè)行李質(zhì)量為xkg,應(yīng)付運(yùn)費(fèi)為y元,則運(yùn)費(fèi)公式為:y=整理得y=要計(jì)算托運(yùn)的費(fèi)用必須對(duì)行李質(zhì)量分類討論,因此要用條件語(yǔ)句來(lái)實(shí)現(xiàn).解:算法分析:第一步,輸入行李質(zhì)量x.第二步,當(dāng)x≤50時(shí),計(jì)算y=0.25x,否則,執(zhí)行下一步.第三步,當(dāng)x≤100,計(jì)算y=0.35x-5,否則,計(jì)算y=0.45x-15.第四步,輸出y.程序框圖如下:知能訓(xùn)練設(shè)計(jì)一個(gè)用有理數(shù)數(shù)冪逼近無(wú)理指數(shù)冪的算法,畫出算法的程序框圖.解:算法步驟:第一步,給定精確度d,令i=1.第二步,取出的到小數(shù)點(diǎn)后第i位的不足近似值,記為a;取出的到小數(shù)點(diǎn)后第i位的過(guò)剩近似值,記為b.第三步,計(jì)算m=5b-5a.第四步,若m<d,則得到的近似值為5a;否則,將i的值增加1,返回第二步.第五步,得到的近似值為5a.程序框圖如下:拓展提升求,畫出程序框圖.分析:如果采用逐步計(jì)算的方法,利用順序結(jié)構(gòu)來(lái)實(shí)現(xiàn),則非常麻煩,由于前后的運(yùn)算需重復(fù)多次相同的運(yùn)算,所以應(yīng)采用循環(huán)結(jié)構(gòu),可用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)其中的規(guī)律.觀察原式中的變化的部分及不變項(xiàng),找出總體的規(guī)律是4+,要實(shí)現(xiàn)這個(gè)規(guī)律,需設(shè)初值x=4.解:程序框圖如下:課堂小節(jié)(1)進(jìn)一步熟悉三種邏輯結(jié)構(gòu)的應(yīng)用,理解算法與程序框圖的關(guān)系.(2)根據(jù)算法步驟畫出程序框圖.作業(yè)習(xí)題1.1B組1、2.設(shè)計(jì)感想本節(jié)是前面內(nèi)容的概括和總結(jié),在回憶前面內(nèi)容的基礎(chǔ)上,選擇經(jīng)典的例題,進(jìn)行了詳盡的剖析,這樣降低了學(xué)生學(xué)習(xí)的難度.另外,本節(jié)的練習(xí)難度適中,并且多為學(xué)生感興趣的問(wèn)題,這樣為學(xué)生學(xué)好本節(jié)內(nèi)容作好充分準(zhǔn)備,希望大家喜歡這一節(jié)課.備課資料下列語(yǔ)句執(zhí)行完后,A、B的值各為:________________.A=2B=3B=A*AA=A+BB=A+B解析:此題考查對(duì)賦值語(yǔ)句的掌握,只要對(duì)賦值語(yǔ)句的功能搞清楚,不難得出答案.∵A=2,B=A2,即B=4,∴A=A+B,即A=2+4=6,∴B=A+B即B=6+4=10.答案:6,101.2基本算法語(yǔ)句1.2.1輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句整體設(shè)計(jì)教學(xué)分析通過(guò)上一節(jié)的學(xué)習(xí),學(xué)生了解了算法的含義,學(xué)習(xí)了用算法步驟和程序框圖表示算法的方法,本節(jié)介紹用程序設(shè)計(jì)語(yǔ)言表示算法的方法.算法步驟和程序框圖表示的算法,計(jì)算機(jī)是不能理解的,程序是算法的精確形式,是計(jì)算機(jī)可以理解的算法.本節(jié)的教學(xué)重點(diǎn)是通過(guò)實(shí)例使學(xué)生理解三種基本算法語(yǔ)句的結(jié)構(gòu)和用法,并在此基礎(chǔ)上編寫由算法語(yǔ)句組成的程序,從而更細(xì)致地刻畫算法,進(jìn)一步體會(huì)算法的基本思想.三維目標(biāo)1.理解學(xué)習(xí)基本算法語(yǔ)句的意義.2.學(xué)會(huì)輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句的基本用法.3.理解算法步驟、程序框圖和算法語(yǔ)句的關(guān)系,學(xué)會(huì)算法語(yǔ)句的寫法.重點(diǎn)難點(diǎn)教學(xué)重點(diǎn):輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句的基本用法.教學(xué)難點(diǎn):算法語(yǔ)句的寫法.課時(shí)安排1課時(shí)教學(xué)過(guò)程導(dǎo)入新課思路1(情境導(dǎo)入)中國(guó)足球隊(duì)在亞洲杯上的失利說(shuō)明,中國(guó)足球仍然需要請(qǐng)外國(guó)教練.高水平的外國(guó)教練有先進(jìn)的足球理念,有系統(tǒng)科學(xué)的訓(xùn)練計(jì)劃,有先進(jìn)的足球技術(shù),但由于語(yǔ)言不通不能直接傳授給隊(duì)員.算法步驟、程序框圖雖然容易掌握,但計(jì)算機(jī)不能理解,因此我們需要學(xué)習(xí)算法語(yǔ)句.思路2(直接導(dǎo)入)前面我們學(xué)習(xí)了程序框圖的畫法,為了讓計(jì)算機(jī)能夠理解算法步驟、程序框圖,我們開(kāi)始學(xué)習(xí)算法語(yǔ)句.推進(jìn)新課新知探究提出問(wèn)題(1)指出輸入語(yǔ)句的格式、功能、要求.(2)指出輸出語(yǔ)句的格式、功能、要求.(3)指出賦值語(yǔ)句的格式、功能、要求.(4)利用框圖總結(jié)三種語(yǔ)句的功能、格式、特點(diǎn).(5)指出三種語(yǔ)句與框圖的對(duì)應(yīng)關(guān)系.討論結(jié)果:(1)輸入語(yǔ)句的格式:INPUT“提示內(nèi)容”;變量例如:INPUT“x=”;x功能:實(shí)現(xiàn)算法的輸入變量信息(數(shù)值或字符)的功能.要求:1°輸入語(yǔ)句要求輸入的值是具體的常量.2°提示內(nèi)容提示用戶輸入的是什么信息,必須加雙引號(hào),提示內(nèi)容“原原本本”的在計(jì)算機(jī)屏幕上顯示,提示內(nèi)容與變量之間要用分號(hào)隔開(kāi).3°一個(gè)輸入語(yǔ)句可以給多個(gè)變量賦值,中間用“,”分隔.形式如:INPUT“a=,b=,c=,”;a,b,c(2)輸出語(yǔ)句的一般格式:PRINT“提示內(nèi)容”;表達(dá)式例如:PRINT“S=”;S功能:實(shí)現(xiàn)算法輸出信息(表達(dá)式)的功能.要求:1°表達(dá)式是指算法和程序要求輸出的信息.2°提示內(nèi)容提示用戶要輸出的是什么信息,提示內(nèi)容必須加雙引號(hào),提示內(nèi)容要用分號(hào)和表達(dá)式分開(kāi).3°如同輸入語(yǔ)句一樣,輸出語(yǔ)句可以一次完成輸出多個(gè)表達(dá)式的功能,不同的表達(dá)式之間可用“,”分隔.形式如:PRINT“a,b,c:”;a,b,c(3)賦值語(yǔ)句的一般格式:變量=表達(dá)式.賦值語(yǔ)句中的“=”稱作賦值號(hào).功能:將表達(dá)式所代表的值賦給變量.要求:1°賦值語(yǔ)句左邊只能是變量名字,而不是表達(dá)式,右邊表達(dá)式可以是一個(gè)常量、變量或含變量的運(yùn)算式.如:2=x是錯(cuò)誤的.2°賦值號(hào)的左右兩邊不能對(duì)換.賦值語(yǔ)句是將賦值號(hào)右邊的表達(dá)式的值賦給賦值號(hào)左邊的變量.如“A=B”“B=A”的含義運(yùn)行結(jié)果是不同的,如x=5是對(duì)的,5=x是錯(cuò)的,A+B=C是錯(cuò)的,C=A+B是對(duì)的.3°不能利用賦值語(yǔ)句進(jìn)行代數(shù)式的演算(如化簡(jiǎn)、因式分解、解方程等),如y=x2-1=(x-1)(x+1),這是實(shí)現(xiàn)不了的.在賦值號(hào)右邊表達(dá)式中每一個(gè)變量的值必須事先賦給確定的值.在一個(gè)賦值語(yǔ)句中只能給一個(gè)變量賦值,不能出現(xiàn)兩個(gè)或以上的“=”.但對(duì)于同一個(gè)變量可以多次賦值.(4)三種語(yǔ)句的功能、格式、特點(diǎn)如下:在QBASIC語(yǔ)言中,輸入語(yǔ)句是INPUT語(yǔ)句,輸出語(yǔ)句是PRINT語(yǔ)句,賦值語(yǔ)句是LET語(yǔ)句(“LET”可以省略).下表列出了這三種語(yǔ)句的一般格式、主要功能和相關(guān)說(shuō)明,供教師教學(xué)時(shí)參考,不要求學(xué)生掌握.INPUT語(yǔ)句PRINT語(yǔ)句賦值語(yǔ)句格式INPUT“提示內(nèi)容”;變量PRINT“提示內(nèi)容”;表達(dá)式LET變量=表達(dá)式功能可對(duì)程序中的變量賦值可輸出表達(dá)式的值,計(jì)算可對(duì)程序中的變量賦值,計(jì)算說(shuō)明①又稱“鍵盤輸入語(yǔ)句”,在程序運(yùn)行過(guò)程中,停機(jī)等候用戶由鍵盤輸入數(shù)據(jù),而不需要在寫程序時(shí)指定②“提示內(nèi)容”和它后面的“;”可以省略③一個(gè)語(yǔ)句可以給多個(gè)變量賦值,中間用“,”分隔④無(wú)計(jì)算功能⑤用戶由鍵盤輸入的數(shù)據(jù)必須是常量,輸入多個(gè)數(shù)據(jù)時(shí)用“,”分隔,且個(gè)數(shù)要與變量的個(gè)數(shù)相同①又稱“打印語(yǔ)句”,將表達(dá)式的值在屏幕上顯示出來(lái)②表達(dá)式可以是變量、計(jì)算公式或系統(tǒng)信息③一個(gè)語(yǔ)句可以輸出多個(gè)表達(dá)式.不同的表達(dá)式之間可用“,”分隔④有計(jì)算功能,能直接輸出計(jì)算公式的值①在程序運(yùn)行過(guò)程中給變量賦值②“LET”可以省略,“=”的右側(cè)必須是表達(dá)式,左側(cè)必須是變量③一個(gè)語(yǔ)句只能給一個(gè)變量賦值④有計(jì)算功能⑤將一個(gè)變量的值賦給另一個(gè)變量,前一個(gè)變量的值保持不變;可先后給一個(gè)變量賦多個(gè)不同的值,但變量的取值總是最后被賦予的值(5)指出三種語(yǔ)句與框圖的對(duì)應(yīng)關(guān)系如下圖.應(yīng)用示例思路1例1用描點(diǎn)法作函數(shù)y=x3+3x2-24x+30的圖象時(shí),需要求出自變量和函數(shù)的一組對(duì)應(yīng)值.編寫程序,分別計(jì)算當(dāng)x=-5,-4,-3,-2,-1,0,1,2,3,4,5時(shí)的函數(shù)值.算法分析:根據(jù)題意,對(duì)于每一個(gè)輸入的自變量的值,都要輸出相應(yīng)的函數(shù)值.寫成算法步驟如下:第一步,輸入一個(gè)自變量的x的值.第二步,計(jì)算y=x3+3x2-24x+30.第三步,輸出y.程序框圖如下圖:顯然,這是一個(gè)由順序結(jié)構(gòu)構(gòu)成的算法,按照程序框圖中流程線的方向,依次將程序框中的內(nèi)容寫成相應(yīng)的算法語(yǔ)句,就得相應(yīng)的程序.解:程序:INPUT“x”;xy=x^3+3*x^2-24*x+30PRINTyEND點(diǎn)評(píng):前面我們學(xué)習(xí)了算法步驟、程序框圖,我們對(duì)照程序框圖與算法語(yǔ)句可以得到它們之間的對(duì)應(yīng)關(guān)系.例如:在這個(gè)程序中,第1行中的INPUT語(yǔ)句就是輸入語(yǔ)句.這個(gè)語(yǔ)句的一般格式是INPUT“提示內(nèi)容”;變量其中,“提示內(nèi)容”一般是提示用戶輸入什么樣的信息,每次運(yùn)行例1中的程序時(shí),依次輸入-5,-4,-3,-2,-1,0,1,2,3,4,5,計(jì)算機(jī)每次都把新輸入的值賦給變量“x”,并按“x”新獲得的值計(jì)算變量“y”的值.例2給一個(gè)變量重復(fù)賦值.解:程序:A=10A=A+15PRINTAEND點(diǎn)評(píng):給一個(gè)變量重復(fù)賦值,變量只保存最后一次賦值,比如此程序的輸出值是25.例3編寫程序,計(jì)算一個(gè)學(xué)生數(shù)學(xué)、語(yǔ)文、英語(yǔ)三門課的平均成績(jī).算法分析:先寫出解決本例的算法步驟:第一步,輸入該學(xué)生數(shù)學(xué)、語(yǔ)文、英語(yǔ)三門課的成績(jī)a,b,c.第二步,計(jì)算y=.第三步,輸出y.程序框圖如下:由于PRINT語(yǔ)句還可以用于輸出數(shù)值計(jì)算的結(jié)果,所以這個(gè)算法可以寫成下列程序.程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;cPRINT“Theaverage=”;(a+b+c)/3END點(diǎn)評(píng):例3中的第4行的PRINT語(yǔ)句是輸出語(yǔ)句,它的一般形式是PRINT“提示內(nèi)容”;表達(dá)式PRINT語(yǔ)句可以在計(jì)算機(jī)的屏幕上輸出常量、變量的值和系統(tǒng)信息,同輸入語(yǔ)句一樣,這里的表達(dá)式前也可以有“提示內(nèi)容”.例4變換兩個(gè)變量A和B的值,并輸出交換前后的值.解:程序:INPUTA,BPRINTA,Bx=AA=BB=xPRINTA,BEND思路2例1寫出求三個(gè)數(shù)a,b,c的方差的程序.分析:方差是在初中統(tǒng)計(jì)內(nèi)容中學(xué)習(xí)過(guò)的知識(shí),計(jì)算所有數(shù)的方差首先計(jì)算所有數(shù)的平均數(shù),通過(guò)公式s2=來(lái)計(jì)算.算法步驟:第一步,計(jì)算平均數(shù).第二步,計(jì)算方差s2=.第三步,得到的結(jié)果即為所求.程序如下:INPUTa,b,cy=(a+b+c)/3S=((a-y)2+(b-y)2+(c-y)2)/3PRINTSEND點(diǎn)評(píng):套用公式求值問(wèn)題是傳統(tǒng)數(shù)學(xué)求值問(wèn)題的一種,它是一種典型的順序結(jié)構(gòu),也就是說(shuō)只通過(guò)輸入、輸出和賦值語(yǔ)句就可以完成任務(wù).解決這類問(wèn)題的關(guān)鍵是先分析這種問(wèn)題的解法,即構(gòu)造計(jì)算的過(guò)程,再寫出算法步驟和流程圖,再翻譯成算法語(yǔ)句即可.例2編寫一個(gè)程序,要求輸入兩個(gè)正數(shù)a和b的值,輸出ab和ba的值.分析:可以利用INPUT語(yǔ)句輸入兩個(gè)正數(shù),然后將ab和ba的值分別賦給兩個(gè)變量輸出即可.也可以將ab和ba的底數(shù)和冪數(shù)進(jìn)行交換,故還可以利用賦值語(yǔ)句,采用將兩個(gè)變量的值互換的辦法實(shí)現(xiàn).解:程序1:INPUT“a,b:”;a,bA=a^bB=b^aPRINT“a^b=”;A,“b^a=”;BEND程序2:INPUT“a,b:”;a,bA=a^bPRINT“a^b=”;Ax=aa=bb=xA=a^bPRINT“b^a=”;AEND點(diǎn)評(píng):交換a,b的值可通過(guò)下面三個(gè)語(yǔ)句來(lái)實(shí)現(xiàn):t=aa=bb=t通過(guò)引進(jìn)一個(gè)中間變量t實(shí)現(xiàn)變量a和b的值的交換,因此只需用賦值語(yǔ)句即可實(shí)現(xiàn)算法.在一些較為復(fù)雜的問(wèn)題算法中經(jīng)常需要對(duì)兩個(gè)變量的值進(jìn)行交換,因此應(yīng)熟練掌握這種方法.知能訓(xùn)練1.判斷下列給出的輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句是否正確?為什么?(1)輸入語(yǔ)句INPUTa;b;c(2)輸出語(yǔ)句A=4(3)賦值語(yǔ)句3=B(4)賦值語(yǔ)句A=B=-2解:(1)錯(cuò),變量之間應(yīng)用“,”號(hào)隔開(kāi).(2)錯(cuò),PRINT語(yǔ)句不能用賦值號(hào)“=”.(3)錯(cuò),賦值語(yǔ)句中“=”號(hào)左右不能互換.(4)錯(cuò),一個(gè)賦值語(yǔ)句只能給一個(gè)變量賦值.點(diǎn)評(píng):輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句基本上對(duì)應(yīng)于算法中的順序結(jié)構(gòu).輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句都不包括“控制轉(zhuǎn)移”,由它們組成的程序段必然是順序結(jié)構(gòu).2.請(qǐng)寫出下面運(yùn)算輸出的結(jié)果.(1)a=5b=3c=(a+b)/2d=c*cPRINT“d=”;d(2)a=1b=2c=a+bb=a+c-bPRINT“a=,b=,c=”;a,b,c(3)a=10b=20c=30a=bb=cc=aPRINT“a=,b=,c=”;a,b,c解:(1)16;語(yǔ)句c=(a+b)/2是將a,b和的一半賦值給變量c,語(yǔ)句d=c*c是將c的平方賦值給d,最后輸出d的值.(2)1,2,3;語(yǔ)句c=a+b是將a,b的和賦值給c,語(yǔ)句b=a+c-b是將a+c-b的值賦值給了b.(3)20,30,20;經(jīng)過(guò)語(yǔ)句a=b后a,b,c的值是20,20,30.經(jīng)過(guò)語(yǔ)句b=c后a,b,c的值是20,30,30.經(jīng)過(guò)語(yǔ)句c=a后a,b,c的值是20,30,20.點(diǎn)評(píng):語(yǔ)句的識(shí)別問(wèn)題是一個(gè)逆向性思維,一般我們認(rèn)為我們的學(xué)習(xí)是從算法步驟(自然語(yǔ)言)至程序框圖,再到算法語(yǔ)言(程序).如果將程序擺在我們的面前時(shí),我們要先識(shí)別每個(gè)語(yǔ)句,再整體把握并概括出程序的功能.拓展提升已知某生某三科的成績(jī)?yōu)?0、75、95分,求三科的總分及平均分.分析:將三科成績(jī)賦給三個(gè)變量A,B,C,然后對(duì)三個(gè)變量進(jìn)行操作、運(yùn)算,求其總分、平均分.變量的起名規(guī)則:由字母、數(shù)字、下劃線組成,但第一個(gè)字符必須是字母(大、小寫皆可),起名時(shí)盡量做到見(jiàn)名知義,如本例中我們可用變量ZF表示總分,PJF表示平均分.解:程序框圖如下圖:程序:A=80B=75C=95ZF=A+B+CPJF=ZF/3PRINTZF,PJFEND課堂小結(jié)(1)輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句的基本用法.(2)用輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句編寫算法語(yǔ)句.作業(yè)習(xí)題1.2A組2.設(shè)計(jì)感想本節(jié)的引入闡明了程序框圖與算法語(yǔ)句的關(guān)系,本節(jié)利用框圖與語(yǔ)句的對(duì)應(yīng)關(guān)系降低了本節(jié)的學(xué)習(xí)難度.由于本節(jié)是算法語(yǔ)句的開(kāi)始,所以本節(jié)選用了大量難度較低的算法語(yǔ)句供學(xué)生練習(xí),讓學(xué)生充分體會(huì)程序框圖與算法語(yǔ)句的關(guān)系,為今后的學(xué)習(xí)打好基礎(chǔ)并樹(shù)立信心.備課資料某市公用電話(市話)的收費(fèi)標(biāo)準(zhǔn)為:3分鐘之內(nèi)(包括3分鐘)收取0.30元;超過(guò)3分鐘部分按0.10元/分鐘加收費(fèi).設(shè)計(jì)一個(gè)程序,根據(jù)通話時(shí)間計(jì)算話費(fèi).解:TNPUT“通話時(shí)間”;tIFt<=3andt>0THENc=0.30ELSEc=0.30+0.10*(t-3)ENDIFPRINT“通話費(fèi)用”;cEND1.2.2條件語(yǔ)句整體設(shè)計(jì)教學(xué)分析通過(guò)上一節(jié)的學(xué)習(xí),學(xué)生學(xué)會(huì)了輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句的基本用法,本節(jié)介紹條件語(yǔ)句的用法.程序中的條件語(yǔ)句與程序框圖中的條件結(jié)構(gòu)存在一一對(duì)應(yīng)關(guān)系,這種對(duì)應(yīng)關(guān)系對(duì)于學(xué)生理解條件語(yǔ)句的結(jié)構(gòu),進(jìn)一步理解算法中的條件結(jié)構(gòu)都是很有幫助的.我們可以給出條件語(yǔ)句的一般格式,讓學(xué)生自己畫出相應(yīng)的程序框圖,也可以給出程序框圖,讓學(xué)生寫出算法語(yǔ)句.三維目標(biāo)1.理解學(xué)習(xí)基本算法語(yǔ)句的意義.2.學(xué)會(huì)條件語(yǔ)句的基本用法.3.理解算法步驟、程序框圖和算法語(yǔ)句的關(guān)系,學(xué)會(huì)算法語(yǔ)句的寫法.重點(diǎn)難點(diǎn)教學(xué)重點(diǎn):條件語(yǔ)句的基本用法.教學(xué)難點(diǎn):算法語(yǔ)句的寫法.課時(shí)安排1課時(shí)教學(xué)過(guò)程導(dǎo)入新課思路1(情境導(dǎo)入)一位老農(nóng)平整了一塊良田,種瓜好呢,還是種豆好呢,他面臨著一個(gè)選擇.如果他選擇種瓜,他會(huì)得瓜,如果他選擇種豆,他會(huì)得豆.人的一生面臨許多選擇,我們要做出正確的選擇.前面我們學(xué)習(xí)了條件結(jié)構(gòu),今天我們學(xué)習(xí)條件語(yǔ)句.思路2(直接導(dǎo)入)前面我們學(xué)習(xí)了程序框圖的畫法,為了讓計(jì)算機(jī)能夠理解算法步驟、程序框圖,上一節(jié)我們學(xué)習(xí)了輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句,今天我們開(kāi)始學(xué)習(xí)條件語(yǔ)句.推進(jìn)新課新知探究提出問(wèn)題(1)回憶程序框圖中的兩種條件結(jié)構(gòu).(2)指出條件語(yǔ)句的格式及功能.(3)指出兩種條件語(yǔ)句的相同點(diǎn)與不同點(diǎn).(4)揭示程序中的條件語(yǔ)句與程序框圖中的條件結(jié)構(gòu)存在一一對(duì)應(yīng)關(guān)系.討論結(jié)果:(1)一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).用程序框圖表示條件結(jié)構(gòu)如下圖:(2)條件語(yǔ)句1°“IF—THEN—ELSE”語(yǔ)句格式:IF條件THEN語(yǔ)句體1ELSE語(yǔ)句體2ENDIF功能:在“IF—THEN—ELSE”語(yǔ)句中,“條件”表示判斷的條件,“語(yǔ)句體1”表示滿足條件時(shí)執(zhí)行的操作內(nèi)容;“語(yǔ)句體2”表示不滿足條件時(shí)執(zhí)行的操作內(nèi)容;ENDIF表示條件語(yǔ)句的結(jié)束.計(jì)算機(jī)在執(zhí)行“IF—THEN—ELSE”語(yǔ)句時(shí),首先對(duì)IF后的條件進(jìn)行判斷,如果符合條件,則執(zhí)行THEN后面的“語(yǔ)句1”;若不符合條件,則執(zhí)行ELSE后面的“語(yǔ)句2”.2°“IF—THEN”語(yǔ)句格式:IF條件THEN語(yǔ)句體ENDIF功能:“條件”表示判斷的條件;“語(yǔ)句”表示滿足條件時(shí)執(zhí)行的操作內(nèi)容,條件不滿足時(shí),直接結(jié)束判斷過(guò)程;ENDIF表示條件語(yǔ)句的結(jié)束.計(jì)算機(jī)在執(zhí)行“IF—THEN”語(yǔ)句時(shí),首先對(duì)IF后的條件進(jìn)行判斷,如果符合條件就執(zhí)行THEN后邊的語(yǔ)句,若不符合條件則直接結(jié)束該條件語(yǔ)句,轉(zhuǎn)而執(zhí)行其他后面的語(yǔ)句.(3)相同點(diǎn):首先對(duì)IF后的條件進(jìn)行判斷,如果符合條件就執(zhí)行THEN后邊的語(yǔ)句.不同點(diǎn):對(duì)于“IF—THEN—ELSE”語(yǔ)句,若不符合條件,則執(zhí)行ELSE后面的“語(yǔ)句體2”.對(duì)于“IF—THEN”語(yǔ)句,若不符合條件則直接結(jié)束該條件語(yǔ)句,轉(zhuǎn)而執(zhí)行其他后面的語(yǔ)句.(4)程序中的條件語(yǔ)句與程序框圖中的條件結(jié)構(gòu)存在一一對(duì)應(yīng)關(guān)系如下圖:應(yīng)用示例思路1例1編寫一個(gè)程序,求實(shí)數(shù)x的絕對(duì)值.算法分析:首先,我們來(lái)設(shè)計(jì)求實(shí)數(shù)x的絕對(duì)值的算法,因?yàn)閷?shí)數(shù)x的絕對(duì)值為|x|=所以算法步驟可以寫成:第一步,輸入一個(gè)實(shí)數(shù)x.第二步,判斷x的符號(hào).若x≥0,則輸出x;否則,輸出-x.顯然,“第二步”可以用條件結(jié)構(gòu)來(lái)實(shí)現(xiàn).程序框圖如下圖:程序:INPUTxIFx>=0THENPRINTxELSEPRINT-xENDIFEND點(diǎn)評(píng):通過(guò)本題我們看到算法步驟可以轉(zhuǎn)化為程序框圖,程序框圖可以轉(zhuǎn)化為算法語(yǔ)句.本題揭示了它們之間的內(nèi)在聯(lián)系,只要理解了程序框圖與算法語(yǔ)句的對(duì)應(yīng)關(guān)系,把程序框圖轉(zhuǎn)化為算法語(yǔ)句就很容易了.變式訓(xùn)練閱讀下面的程序,你能得出什么結(jié)論?INPUTxIFx<0THENx=-xENDIFPRINTxEND解:由程序得出,該程序是輸出x的絕對(duì)值.例2把前面求解一元二次方程ax2+bx+c=0的程序框圖轉(zhuǎn)化為程序.解:由程序框圖可以發(fā)現(xiàn),其中包含著兩個(gè)條件結(jié)構(gòu),而且內(nèi)層的條件結(jié)構(gòu)是外層的條件結(jié)構(gòu)的一個(gè)分支,所以,可以用“IF—THEN—ELSE—ENDIF”來(lái)完成轉(zhuǎn)化.程序:INPUT“a,b,c=”;a,b,cd=b^2-4*a*cIFd>=0THENp=-b/(2*a)q=SQR(d)/(2*a)IFd=0THENPRINT“x1=x2=”;pELSEPRINT“x1,x2=”;p+q,p-qENDIFELSEPRINT“Norealroot”ENDIFEND例3編寫程序,使任意輸入的3個(gè)整數(shù)按從大到小的順序輸出.算法分析:用a,b,c表示輸入的3個(gè)整數(shù).為了節(jié)約變量,把它們重新排列后,仍用a,b,c表示,并使a≥b≥c.具體操作步驟如下:第一步,輸入3個(gè)整數(shù)a,b,c.第二步,將a與b比較,并把小者賦給b,大者賦給a.第三步,將a與c比較,并把小者賦給c,大者賦給a(此時(shí)a已是三者中最大的).第四步,將b與c比較,并把小者賦給c,大者賦給b(此時(shí)a,b,c已按從大到小的順序排列好).第五步,按順序輸出a,b,c.如下圖所示,上述操作步驟可以用程序框圖更直觀地表達(dá)出來(lái).根據(jù)程序框圖,寫出相應(yīng)的計(jì)算機(jī)程序.INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND思路2例1編寫程序,輸出兩個(gè)不相等的實(shí)數(shù)a、b的最大值.分析:要輸出兩個(gè)不相等的實(shí)數(shù)a、b的最大值,從而想到對(duì)a,b的大小關(guān)系進(jìn)行判斷,a,b的大小關(guān)系有兩種情況:(1)a>b;(2)b>a.這也就用到了我們經(jīng)常提及的分類討論的方式,找出兩個(gè)數(shù)的最大值.解:算法一:第一步,輸入a,b的數(shù)值.第二步,判斷a,b的大小關(guān)系,若a>b,則輸出a的值,否則,輸出b的值.(程序框圖如下圖)程序如下:(“IF—THEN—ELSE”語(yǔ)句)INPUT“a,b”;a,bIFa>bTHENPRINTaELSEPRINTbENDIFEND算法二:第一步,輸入a,b的數(shù)值.第二步,判斷a,b的大小關(guān)系,若b>a,則將b的值賦予a;否則,直接執(zhí)行第三步.第三步,輸出a的值,結(jié)束.(程序框圖如下圖)程序如下:(“IF—THEN”語(yǔ)句)INPUT“a,b”;a,bIFb>aTHENa=bENDIFPRINTaEND點(diǎn)評(píng):設(shè)計(jì)一個(gè)“好”的算法需要在大量的算法設(shè)計(jì)中積累經(jīng)驗(yàn).我們也可以先根據(jù)自己的思路設(shè)計(jì)算法,再與“成形”的、高效的、優(yōu)秀的算法比較,改進(jìn)思路,改進(jìn)算法,以避免重復(fù)計(jì)算等問(wèn)題,提高算法設(shè)計(jì)的水平
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- idc租賃服務(wù)合同范例
- 存貨質(zhì)押合同范本
- 企業(yè)員工招聘合同范本
- 農(nóng)村安裝路燈合同范例
- 兼職配音協(xié)議合同范本
- 照明燈具采購(gòu)合同范本
- 工業(yè)固體廢物處置合同范本
- 冰箱保養(yǎng)合同范本
- 天籟侗歌苗寨傳
- 2025年度國(guó)際知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同范本(含專利保護(hù))
- 施工周報(bào)表(標(biāo)準(zhǔn)模版)
- 4.5MWp分布式光伏項(xiàng)目主要設(shè)備材料清單(建筑工程安裝工程)
- von frey絲K值表完整版
- 云南省普通初中學(xué)生成長(zhǎng)記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- 考古繪圖基礎(chǔ)
- GB/T 32574-2016抽水蓄能電站檢修導(dǎo)則
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第十三章社會(huì)主義市場(chǎng)經(jīng)濟(jì)標(biāo)準(zhǔn)論
- 變更索賠案例分析
- 過(guò)敏性休克的急救及處理流程教材課件(28張)
- 《花婆婆》兒童繪本故事
評(píng)論
0/150
提交評(píng)論