2019-2020年高中數(shù)學(xué) 第1章 算法初步 1.2 流程圖 1.2.3 循環(huán)結(jié)構(gòu)教案 蘇教版必修3.doc
《2019-2020年高中數(shù)學(xué) 第1章 算法初步 1.2 流程圖 1.2.3 循環(huán)結(jié)構(gòu)教案 蘇教版必修3.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《2019-2020年高中數(shù)學(xué) 第1章 算法初步 1.2 流程圖 1.2.3 循環(huán)結(jié)構(gòu)教案 蘇教版必修3.doc(16頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
2019-2020年高中數(shù)學(xué) 第1章 算法初步 1.2 流程圖 1.2.3 循環(huán)結(jié)構(gòu)教案 蘇教版必修3 教材分析 在現(xiàn)實(shí)生活中,除了用到選擇結(jié)構(gòu)進(jìn)行問題的分支處理外,還會(huì)遇到“重復(fù)處理”的問題,循環(huán)結(jié)構(gòu)(cycle structure)正是可以用來處理需要重復(fù)執(zhí)行的某一組操作. 循環(huán)結(jié)構(gòu)也稱為“重復(fù)結(jié)構(gòu)”,即反復(fù)執(zhí)行某一部分的操作.循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中不可缺少的又富有變化的一種基本結(jié)構(gòu),是我們學(xué)習(xí)的第三種程序結(jié)構(gòu). 在某一算法中,如果出現(xiàn)從某處開始,按照一定的條件反復(fù)執(zhí)行同一操作,那么這種結(jié)構(gòu)就稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟稱為循環(huán)體.在循環(huán)體中一定有一個(gè)選擇結(jié)構(gòu),否則將無法從循環(huán)結(jié)構(gòu)中脫離出來,從而形成死循環(huán).此外,循環(huán)結(jié)構(gòu)中通常都有一個(gè)起到循環(huán)計(jì)數(shù)的變量,這個(gè)變量一直都含在執(zhí)行或終止循環(huán)體的條件中. 循環(huán)結(jié)構(gòu)分為當(dāng)型循環(huán)和直到型循環(huán),它們之間是可以相互轉(zhuǎn)化的.教材考慮到學(xué)生的接受能力,對直到型循環(huán)和當(dāng)型循環(huán)沒有加以定義和區(qū)分,僅僅是在《探究拓展》中以閱讀題的形式作了介紹,這樣處理是有用意的,教師沒有必要在這里提出這兩種概念,可待學(xué)生有了感性認(rèn)識和一定的算法基礎(chǔ)后,再做適當(dāng)?shù)幕仡櫯c補(bǔ)充. 如果某一操作需要重復(fù)一定的次數(shù),那么我們可以設(shè)置一個(gè)統(tǒng)計(jì)循環(huán)次數(shù)的變量,當(dāng)這個(gè)變量的值沒有超過我們給定的數(shù)值時(shí),就一直重復(fù)執(zhí)行需要的操作,當(dāng)這個(gè)變量的數(shù)值超過給定的數(shù)值時(shí)就脫離循環(huán)結(jié)構(gòu). 三維目標(biāo) 通過實(shí)例的訓(xùn)練,使學(xué)生理解循環(huán)結(jié)構(gòu)的意義,并能夠用循環(huán)結(jié)構(gòu)的流程圖表示簡單問題的算法,養(yǎng)成良好的邏輯思維習(xí)慣,發(fā)展有條理的思考與表達(dá)能力,達(dá)到提升學(xué)生邏輯思維能力的目標(biāo). 重點(diǎn)難點(diǎn) 教學(xué)重點(diǎn):用循環(huán)結(jié)構(gòu)的流程圖表示算法. 教學(xué)難點(diǎn):多種結(jié)構(gòu)的嵌套使用. 課時(shí)安排 1課時(shí) 教學(xué)過程 導(dǎo)入新課 設(shè)計(jì)思路一:(情境導(dǎo)入) 同學(xué)們小時(shí)候一定都有過纏著父母聽故事的經(jīng)歷,有時(shí)候爸爸媽媽實(shí)在想不出故事了,就會(huì)用一個(gè)“故事”來哄騙孩子: 從前有座山,山里有個(gè)廟,廟里有個(gè)老和尚. 有天老和尚對小和尚說,我給你講個(gè)故事說?。? 從前有座山,山里有個(gè)廟,廟里有個(gè)老和尚. 有天老和尚對小和尚說,我給你講個(gè)故事說?。? 從前有座山,山里有個(gè)廟,廟里有個(gè)老和尚. 有天老和尚對小和尚說,我給你講個(gè)故事說?。? …… 現(xiàn)在考慮,為什么說這個(gè)“故事”是哄騙小朋友的? 因?yàn)檫@個(gè)“故事”一直在重復(fù)著同樣的環(huán)節(jié): “從前有座山,山里有個(gè)廟,廟里有個(gè)老和尚, 有天老和尚對小和尚說,我給你講個(gè)故事說?。骸? 所以這個(gè)“故事”可以無限次循環(huán). 我們可以把這個(gè)環(huán)節(jié)寫成一個(gè)算法,這個(gè)算法是一直重復(fù)同樣的操作,多次循環(huán),直到孩子打斷父母的“故事”為止. 在現(xiàn)實(shí)生活中,還有好多這樣的例子,在整個(gè)問題的執(zhí)行過程中,一直循環(huán)執(zhí)行相同的一部分步驟,直到符合或者不符合某個(gè)條件時(shí)才終止.請同學(xué)們舉出這樣的一些例子. 例如: 1.同學(xué)們從小學(xué)開始,每年9月初開學(xué),到學(xué)校里上課,一個(gè)學(xué)期后放寒假,過了寒假再開學(xué),又一個(gè)學(xué)期后放暑假,然后下一年9月初再開學(xué)回到學(xué)校上課→寒假→上課→暑假……,直到不再上學(xué)為止. 2.今天是星期三,過了一天是星期四,過了兩天是星期五……過了七天又是星期三,這樣周而復(fù)始循環(huán)出現(xiàn). 3.計(jì)算1+2+3+4+…+100, 第一步 計(jì)算1+2; 第二步 將上一步中的運(yùn)算結(jié)果與第三個(gè)數(shù)相加; 第三步 將上一步中的運(yùn)算結(jié)果與第四個(gè)數(shù)相加; 第四步 將上一步中的運(yùn)算結(jié)果與第五個(gè)數(shù)相加; …… 第i步 將上一步中的運(yùn)算結(jié)果與第i-1個(gè)數(shù)相加; …… 直到執(zhí)行完第99步后才得到結(jié)果. 上述例子都是在運(yùn)行過程中循環(huán)執(zhí)行相同的步驟,這樣的算法結(jié)構(gòu)就是循環(huán)結(jié)構(gòu). (引入新課,板書課題——循環(huán)結(jié)構(gòu)) 設(shè)計(jì)思路二:(問題導(dǎo)入) 觀察下面的流程圖(圖1),回答這個(gè)流程圖的功能是什么?其中最主要的操作步驟是什么? 圖1 這個(gè)流程圖從學(xué)號為1的學(xué)生開始,輸出他的成績,然后判斷學(xué)號是否為尾號,如果不是,讓學(xué)號增加1,繼續(xù)輸出2號學(xué)生,再判斷學(xué)號是否為尾號,如果不是,學(xué)號再增加1,輸出下一位學(xué)生的成績,直到學(xué)號為尾號,即最后一名學(xué)生才結(jié)束程序,因此這個(gè)流程圖的功能是輸出所有學(xué)生的成績.其中最主要的就是多次重復(fù)執(zhí)行的判斷學(xué)號、改變學(xué)號、輸出成績的過程. 要輸出所有學(xué)生的成績,應(yīng)該有很多個(gè)輸出框,為什么流程圖中只有一個(gè)輸出框? 因?yàn)槊看屋敵鰧W(xué)生的成績都是一種重復(fù)的操作:先確定要輸出哪一位學(xué)生的成績,然后再輸出.這個(gè)過程將重復(fù)出現(xiàn),進(jìn)行循環(huán)操作,直到所有學(xué)生全部輸出(即學(xué)號為尾號)才結(jié)束,這樣的結(jié)構(gòu)最主要的部分就是有循環(huán)形式的結(jié)構(gòu)出現(xiàn),我們把這樣的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu). (引入新課,板書課題——循環(huán)結(jié)構(gòu)) 推進(jìn)新課 新知探究 北京獲得了xx年第29屆奧林匹克運(yùn)動(dòng)會(huì)的主辦權(quán).你知道在申辦奧運(yùn)會(huì)的最后階段,國際奧委會(huì)是如何通過投票決定主辦權(quán)歸屬的嗎? 對遴選出的5個(gè)申辦城市進(jìn)行表決的操作程序是:首先進(jìn)行第一輪投票,如果有一個(gè)城市得票超過總票數(shù)的一半,那么該城市將獲得主辦權(quán);如果所有申辦城市得票數(shù)都不超過總票數(shù)的一半,則將得票數(shù)最少的城市淘汰,然后重復(fù)上述過程,直到選出一個(gè)申辦城市為止. 這個(gè)表決過程可以用算法寫出,請同學(xué)們寫出這個(gè)算法. 算法: S1 投票; S2 統(tǒng)計(jì)票數(shù),如果有一個(gè)城市得票數(shù)超過總票數(shù)的一半,那么該城市獲得主辦權(quán),轉(zhuǎn)S3,否則淘汰得票最少的城市,轉(zhuǎn)S1; S3 宣布主辦城市. 在這個(gè)過程中,如果統(tǒng)計(jì)票數(shù)后任意一個(gè)城市得票數(shù)都沒有超過總票數(shù)的一半,那么將重復(fù)執(zhí)行投票→統(tǒng)計(jì)票數(shù)這一過程,直到有一個(gè)城市得票數(shù)超過總票數(shù)的一半為止.這里出現(xiàn)了一個(gè)循環(huán)操作的內(nèi)容,而最終應(yīng)該循環(huán)多少次,在整個(gè)表決結(jié)果出來以前是無法知道的,也許第一次表決后就結(jié)束,也許要表決3次、4次,所以如果用流程圖來表示,我們會(huì)發(fā)現(xiàn)僅僅利用前面學(xué)過的順序結(jié)構(gòu)和選擇結(jié)構(gòu)將無法實(shí)現(xiàn),那么將怎樣來畫出這個(gè)問題的流程圖呢? 根據(jù)算法,是否要返回S1,即繼續(xù)投票,就看是否有一個(gè)城市得票數(shù)超過總票數(shù)的一半,如果沒有,將返回S1執(zhí)行循環(huán),如果有一個(gè)城市得票數(shù)超過總票數(shù)的一半,就立即結(jié)束表決,因此我們可以把流程圖畫成圖2的形式: 圖2 像上面的算法中的這種需要重復(fù)執(zhí)行同一種操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).重復(fù)執(zhí)行的那些步驟就稱為循環(huán)體.如圖3,虛線框中的流程結(jié)構(gòu)就是一種常見的循環(huán)結(jié)構(gòu),其功能是先執(zhí)行框A,然后判斷給定的條件P是否成立,若條件P不成立,則再執(zhí)行框A,執(zhí)行完框A后繼續(xù)判斷條件P是否成立,如果不成立,再執(zhí)行框A,再判斷條件P……,如此反復(fù)執(zhí)行框A,直到判斷條件P時(shí)發(fā)現(xiàn)成立為止,此時(shí)不再執(zhí)行框A,而是脫離這個(gè)循環(huán)結(jié)構(gòu). 圖3 圖4 上面的這個(gè)循環(huán)結(jié)構(gòu)實(shí)際上就是最常用的直到型(Until型)循環(huán).在循環(huán)結(jié)構(gòu)中還經(jīng)常出現(xiàn)當(dāng)型(While型)循環(huán),其結(jié)構(gòu)如圖4中虛線框內(nèi)的形式,它的功能是當(dāng)給定條件P成立時(shí),先執(zhí)行框A,然后判斷給定的條件P是否成立,若條件P成立,則再執(zhí)行框A,執(zhí)行完框A后繼續(xù)判斷條件P是否成立,如果成立,再執(zhí)行框A,再判斷條件P……,如此反復(fù)執(zhí)行框A,直到判斷條件P時(shí)發(fā)現(xiàn)不成立為止,此時(shí)不再執(zhí)行框A,而是脫離這個(gè)循環(huán)結(jié)構(gòu). 比較上面的循環(huán)結(jié)構(gòu)和上一節(jié)課學(xué)習(xí)的選擇結(jié)構(gòu),它們都有一個(gè)判斷框,選擇結(jié)構(gòu)中從判斷框出來的兩條分支都不再返回而是直接結(jié)束(當(dāng)然也可以再執(zhí)行其他步驟),這個(gè)判斷框只會(huì)判斷一次,而循環(huán)結(jié)構(gòu)中從判斷框出來的兩條分支一條直接流向結(jié)束,另一條會(huì)返回上面的某一處繼續(xù)執(zhí)行相同的操作,這個(gè)判斷框會(huì)判斷多次. 因此如果出現(xiàn)判斷,就看判斷后是不是返回執(zhí)行相同的操作,如果不再返回,那就是選擇結(jié)構(gòu),如果要返回重復(fù)執(zhí)行某一些操作,那就是循環(huán)結(jié)構(gòu). 應(yīng)用示例 思路1 例1 用連加的方法寫出求的算法和流程圖. 分析:本題指明了用連加的方法,所以先進(jìn)行2+2的運(yùn)算,然后把結(jié)果再加2,然后把結(jié)果再加2,……然后把結(jié)果再加2,這樣一共需要進(jìn)行9次加法運(yùn)算就可以輸出運(yùn)算結(jié)果了.因此我們在流程圖中應(yīng)該有一個(gè)統(tǒng)計(jì)進(jìn)行了多少次加法運(yùn)算的計(jì)數(shù)器,這個(gè)計(jì)數(shù)器的功能是每進(jìn)行一次加法運(yùn)算就“加1”,直到計(jì)數(shù)器內(nèi)的統(tǒng)計(jì)數(shù)據(jù)達(dá)到9時(shí)就結(jié)束加法,輸出運(yùn)算結(jié)果. 解: 算法如下: S1 加法計(jì)數(shù)器I設(shè)置初值0; S2 和存儲(chǔ)器S設(shè)置初值2; S3 計(jì)算S+2,結(jié)果放入和存儲(chǔ)器S; S4 加法計(jì)數(shù)器I加1; S5 如果I≥9,則輸出S,否則轉(zhuǎn)S3. 這個(gè)算法也可以用簡潔的符號表示: S1 I←0; S2 S←2; S3 S←S+2; S4 I←I+1; S5 如果I≥9,則輸出S,否則轉(zhuǎn)S3. 流程圖如圖5所示: 圖5 思考 1.這個(gè)循環(huán)結(jié)構(gòu)中的循環(huán)體由哪幾個(gè)步驟組成? 由流程圖很清晰地看出,重復(fù)執(zhí)行的循環(huán)體由處理框“S←S+2”、“I←I+1”和判斷框“I≥9”組成. 2.本題中,變量I和S分別起什么作用?為什么兩個(gè)變量的初值一個(gè)為0,一個(gè)為2? 變量I實(shí)際上就是一個(gè)統(tǒng)計(jì)進(jìn)行了多少次加法運(yùn)算的計(jì)數(shù)器.根據(jù)流程圖,開始時(shí)I←0,說明還沒有進(jìn)行運(yùn)算,經(jīng)過一次“S←S+2”后,再執(zhí)行“I←I+1”,這時(shí)I=1,說明進(jìn)行了一次加法運(yùn)算,然后判斷“I≥9”,結(jié)果為“N”,判斷后返回執(zhí)行“S←S+2”(注意:現(xiàn)在進(jìn)行的是第二次加法運(yùn)算),再下一步就又是執(zhí)行“I←I+1”,這時(shí)I=2,說明進(jìn)行了二次加法運(yùn)算,然后繼續(xù)判斷“I≥9”.我們發(fā)現(xiàn)這樣的規(guī)律:進(jìn)行了多少次加法(S←S+2),I就等于這個(gè)次數(shù).而題目一共要進(jìn)行9次加法運(yùn)算,所以如果“I≥9”不成立(判斷結(jié)果為“N”),則繼續(xù)累加,直到“I≥9”成立(判斷結(jié)果為“Y”),才脫離循環(huán)結(jié)構(gòu),輸出S,結(jié)束程序.當(dāng)然,變量I只可能出現(xiàn)I=9,不可能出現(xiàn)I>9的情況,因?yàn)镮=9時(shí)就跳出循環(huán)體,不再繼續(xù)返回執(zhí)行“S←S+2”和“I←I+1”了. 圖6 變量S實(shí)際上就是一個(gè)存儲(chǔ)加法運(yùn)算的結(jié)果的存儲(chǔ)單元.每次都是把上一次的運(yùn)算結(jié)果加上2以后作為下一次的一個(gè)加數(shù),所以我們把這個(gè)加法的結(jié)果一直存儲(chǔ)在存儲(chǔ)器S中. 3.如果我們把判斷框中的條件“I≥9”改為“I=9”是否可以?根據(jù)“思考2”的分析,變量I只可能出現(xiàn)I=9,不可能出現(xiàn)I>9的情況,所以這樣修改也是可以的. 4.如果我們把選擇結(jié)構(gòu)改變?yōu)槿鐖D6的形式,即把判斷框中的條件“I≥9”改為“I<9”,再把“Y”和“N”交換是否也符合要求? 根據(jù)圖6,當(dāng)加法的次數(shù)I滿足“I<9”(判斷結(jié)果為“Y”)時(shí),說明加法的次數(shù)還不滿9次,所以再返回執(zhí)行加法運(yùn)算“S←S+2”,再執(zhí)行“I←I+1”(計(jì)數(shù)器增加1),然后繼續(xù)判斷“I<9”是否成立,直到 判斷結(jié)果為“N”(加法次數(shù)“不是小于9次”),說明已經(jīng)加了9次了,這時(shí)脫離循環(huán)體,輸出S,結(jié)束程序,所以這樣的修改也是可以的.但是一般情況下,在這種循環(huán)結(jié)構(gòu)中,我們總是習(xí)慣于“滿足條件就脫離循環(huán)結(jié)構(gòu),否則返回繼續(xù)執(zhí)行”這種格式,這樣統(tǒng)一以后便于他人閱讀、理解和修改,也便于計(jì)算機(jī)專業(yè)人員把流程圖翻譯成計(jì)算機(jī)語言編成計(jì)算機(jī)程序. 點(diǎn)評:特意設(shè)置一個(gè)難度較低的題目,是為了讓學(xué)生容易著手,便于理解和掌握這種新型的程序結(jié)構(gòu).因此寫出算法和流程圖不難,老師不要急于做下一個(gè)例題,要把“思考”中的內(nèi)容詳細(xì)講解,重點(diǎn)講清變量I和S的意義,直到學(xué)生弄清楚循環(huán)結(jié)構(gòu)的原理為止. 例2 寫出求1+2+3+4+5值的一個(gè)算法,并畫出流程圖. 分析:本題前面課時(shí)已講過,一共也只有4次加法運(yùn)算,所以可以直接連加五個(gè)數(shù).但是這個(gè)方法只能適用于運(yùn)算次數(shù)比較少的形式,對連加次數(shù)較多時(shí)就顯得比較煩瑣.當(dāng)然本題也可以使用等差數(shù)列求和公式,直接求前五項(xiàng)的和,這樣可以求任意多次連加運(yùn)算,但是對于沒有學(xué)習(xí)過這個(gè)公式的人就不適用了. 其實(shí)本題實(shí)質(zhì)是連加,每次都是把上一次加法的結(jié)果再繼續(xù)加上下一個(gè)數(shù),直到這個(gè)加數(shù)是5為止.但是與例1相比,這個(gè)加數(shù)不斷在變化,而加法的次數(shù)是固定的5次,所以我們可以在判斷框中設(shè)置條件“I>5”(I就是這個(gè)不斷變化的加數(shù)),當(dāng)條件成立時(shí)就脫離循環(huán)體,輸出和“S”,否則還將繼續(xù)進(jìn)行加法運(yùn)算. 解: 算法如下: S1 S←0; S2 I←1; S3 S←S+I; S4 I←I+1; S5 如果I>5,則輸出S,否則轉(zhuǎn)S3. 流程圖如圖7所示: 圖7 點(diǎn)評:循環(huán)結(jié)構(gòu)的判斷框中的條件可以直接是循環(huán)的次數(shù),也可以是脫離循環(huán)體的條件,應(yīng)根據(jù)不同的情況選擇不同的條件. 例3 寫出求12345的值的一個(gè)算法,并畫出流程圖. 分析:這個(gè)變式和例2相比,僅僅是把連加換成連乘,其他沒有改變,所以判斷框中的條件應(yīng)該不變,“和存儲(chǔ)器”S應(yīng)該變成“積存儲(chǔ)器”T,同時(shí)存儲(chǔ)器的初值不能是0了,否則每次相乘后的積永遠(yuǎn)只能是0.同學(xué)們思考,這個(gè)“積存儲(chǔ)器”T的初值應(yīng)該是多少?應(yīng)該是1!原理和初值S←0類似. 解:算法如下: S1 T←1; S2 I←1; S3 T←TI; S4 I←I+1; S5 如果I>5,則輸出T,否則轉(zhuǎn)S3. 流程圖如圖8所示: 圖8 變式訓(xùn)練 1.寫出求1357911值的一個(gè)算法,并畫出流程圖. 分析:與例題相比,最主要的變化是循環(huán)變量I增加的幅度(以后稱為步長)由1變?yōu)?,另外乘積式中因式的個(gè)數(shù)也由5個(gè)變成了6個(gè),所以脫離循環(huán)體的條件也應(yīng)該發(fā)生相應(yīng)的變化,因此算法和流程圖中改變的應(yīng)該就是這兩個(gè)地方. 解:算法如下: S1 T←1; S2 I←1; S3 T←TI; S4 I←I+2; S5 如果I>11,則輸出T,否則轉(zhuǎn)S3. 流程圖如圖9所示: 圖9 2.對于輸入的不同的正整數(shù)n,寫出求1248…2n值的一個(gè)算法,并畫出流程圖. 分析:本題中最主要的變化是乘積式中因式的個(gè)數(shù)由輸入的正整數(shù)n確定,且每次參與乘積的數(shù)都是上一次乘數(shù)的2倍,因此算法和流程圖中改變的主要就是這兩個(gè)地方. 算法如下: S1 輸入n; S2 T←1; S3 I←1; S4 T←TI;S5 I←I2; S6 如果I>2n,則輸出T,否則轉(zhuǎn)S4. 流程圖如圖10所示: 圖10 點(diǎn)評:從以上例題和變式可以看出,循環(huán)結(jié)構(gòu)中必須嵌套一個(gè)選擇結(jié)構(gòu),即有一個(gè)判斷框,這個(gè)判斷框的用途是用來控制什么時(shí)候脫離循環(huán)體的.如果沒有判斷框,或者判斷框中的條件永遠(yuǎn)不可能成立,那么這樣的循環(huán)就只能永遠(yuǎn)循環(huán)下去,從而形成“死循環(huán)”,所以在編寫循環(huán)結(jié)構(gòu)的算法的時(shí)候,要注意不能形成“死循環(huán)”. 例4 設(shè)計(jì)計(jì)算10個(gè)數(shù)的平均數(shù)的一個(gè)算法,并畫出流程圖. 分析:我們用一個(gè)循環(huán)依次輸入10個(gè)數(shù),再用一個(gè)變量存放數(shù)的累加和,在求出10個(gè)數(shù)的累加和后,除以10,就得到10個(gè)數(shù)的平均數(shù). 解:算法如下: S1 S←0;{使S=0} S2 I←1;{使I=1} S3 如果I≤10,那么轉(zhuǎn)S4,否則轉(zhuǎn)S7;{當(dāng)I≤10時(shí)循環(huán)} S4 輸入G;{輸入一個(gè)數(shù)} S5 S←S+G;{求S+G,其和仍存放在S中} S6 I←I+1,轉(zhuǎn)S3;{使I的值增加1,并轉(zhuǎn)到S3} S7 A←S/10;{將平均數(shù)S/10存放在A中} S8 輸出A.{輸出平均數(shù)} 流程圖如圖11所示: 圖11 點(diǎn)評:如果流程圖太長,我們可以把它分割成幾塊,每塊根據(jù)連接點(diǎn)可以重新連接(如圖11可以分割成圖12的形式). 圖12 圖13 思路2 例1 運(yùn)行圖13的流程圖后,輸出的值是________________. 分析:變量I和T的初值為I=0和T=10,然后開始執(zhí)行循環(huán)體.先判斷T<22是否成立,如果成立,就讓變量I增加1,累加存儲(chǔ)器T加4,繼續(xù)循環(huán),再判斷條件T<22是否成立,當(dāng)條件T<22不成立才脫離循環(huán)結(jié)構(gòu),輸出當(dāng)時(shí)計(jì)數(shù)器I中的值,否則一直進(jìn)行循環(huán).實(shí)際上這個(gè)流程圖就是統(tǒng)計(jì)10加上多少個(gè)4才能使得和不大于22的最大次數(shù),容易知道,使10+4n≤22的最大的正整數(shù)n為3,所以輸出的值為3. 答案:3 變式訓(xùn)練 流程圖13表示了一個(gè)什么算法?試把“當(dāng)條件不成立時(shí)脫離循環(huán)體,并且先判斷,再執(zhí)行”改成“直到條件成立時(shí)才脫離循環(huán)體,并且先執(zhí)行,再判斷”的形式. 分析:變量I和T的初值為I=0和T=10,然后開始執(zhí)行循環(huán)體.先讓變量I增加1,累加存儲(chǔ)器T加4,然后判斷T≥22是否成立,如果不成立,就繼續(xù)循環(huán),再讓變量I增加1,累加存儲(chǔ)器T加4,然后判斷T≥22是否成立,直到條件T≥22成立才脫離循環(huán)結(jié)構(gòu),輸出當(dāng)時(shí)計(jì)數(shù)器I中的值,否則一直進(jìn)行循環(huán). 解:這個(gè)流程圖表示的是求使10+4n≤22的最大的正整數(shù)n的一個(gè)算法. 改成“直到條件成立時(shí)才脫離循環(huán)體,并且先執(zhí)行,再判斷”的形式的算法流程圖如圖14所示. 圖14 點(diǎn)評:實(shí)際上,圖13是一個(gè)當(dāng)型循環(huán),圖14是直到型循環(huán),這兩種循環(huán)是有區(qū)別的.直到型循環(huán)是“直到條件成立時(shí)才脫離循環(huán)體”,并且是先執(zhí)行,再判斷;當(dāng)型循環(huán)是“當(dāng)條件不成立時(shí)脫離循環(huán)體”,并且是先判斷,再執(zhí)行.它們的這個(gè)區(qū)別目前先不必和學(xué)生講清,通過本題可以讓學(xué)生先有一個(gè)感性認(rèn)識,知道兩種循環(huán)可以相互轉(zhuǎn)化,它們的實(shí)質(zhì)性區(qū)別可以等學(xué)生有了一定的算法基礎(chǔ)后,再做適當(dāng)?shù)幕仡櫯c補(bǔ)充. 例2 寫出求的一個(gè)算法,并畫出流程圖 分析:本例屬連加問題,只是每次的加數(shù)復(fù)雜一些,因此和存儲(chǔ)器S置初值0,循環(huán)變量I與加數(shù)的關(guān)系為,每次循環(huán)時(shí)增長的步長為2,直到滿足條件I>99時(shí)脫離循環(huán)體,輸出結(jié)果,結(jié)束程序. 解:算法如下: S1 S←0; S2 I←1; S3 S←S+; S4 I←I+2; S5 如果I>99,則輸出S,否則轉(zhuǎn)S3. 流程圖如圖15所示: 圖15 點(diǎn)評:本題繼續(xù)鞏固和深化循環(huán)結(jié)構(gòu)的概念及算法,通過改變步長和加數(shù)的復(fù)雜化,達(dá)到靈活應(yīng)用的目的. 知能訓(xùn)練 一、課本本節(jié)練習(xí)1、2. 二、補(bǔ)充練習(xí) 1.寫出計(jì)算12+22+32+…+1002的算法的流程圖. 2.一個(gè)兩位數(shù),個(gè)位數(shù)字與十位數(shù)字之和為9,寫出一個(gè)把所有這樣的兩位數(shù)都輸出的算法,并畫出流程圖. 解答: 一、課本練習(xí) 1.算法如下: S1 S←0; S2 I←2; S3 S←S+I; S4 I←I+2; S5 如果I>100,則輸出S,否則轉(zhuǎn)S3. 流程圖如圖16所示: 圖16 2.本題表示的算法是將學(xué)號從1號到50號中成績達(dá)到或超過80分的學(xué)生的學(xué)號和成績找出來. 二、補(bǔ)充練習(xí) 1.流程圖如圖17所示. 圖17 2.算法如下: S1 a←0; S2 a←a+1; S3 b←9-a; S4 m←10a+b; S5 輸出m; S6 如果a>9,則結(jié)束程序,否則轉(zhuǎn)S2. 流程圖如圖18所示. 圖18 點(diǎn)評:對于循環(huán)結(jié)構(gòu),要弄清楚循環(huán)體是什么,即哪些步驟執(zhí)行循環(huán)操作,另外何時(shí)執(zhí)行循環(huán),何時(shí)脫離循環(huán).掌握了上面兩個(gè)問題,就不難寫出算法及流程圖.同時(shí)算法及流程圖還要符合規(guī)范. 課堂小結(jié) 在某一算法中,如果出現(xiàn)從某處開始,按照一定的條件反復(fù)執(zhí)行同一操作,那么這種結(jié)構(gòu)就稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟稱為循環(huán)體.在循環(huán)體中一定有一個(gè)選擇結(jié)構(gòu),否則將無法從循環(huán)結(jié)構(gòu)中脫離出來,從而形成死循環(huán).此外,循環(huán)結(jié)構(gòu)中通常都有一個(gè)起到循環(huán)計(jì)數(shù)的變量,這個(gè)變量一直都含在執(zhí)行或終止循環(huán)體的條件中. 循環(huán)結(jié)構(gòu)的關(guān)鍵在于搞清楚循環(huán)體是什么,何時(shí)執(zhí)行循環(huán),脫離循環(huán)體的條件是什么. 作業(yè) 課本習(xí)題1.1 6、7、8、9. 設(shè)計(jì)感想 循環(huán)結(jié)構(gòu)是三種算法結(jié)構(gòu)中最復(fù)雜的一種,如果在一開始學(xué)習(xí)時(shí)不搞清楚,那么學(xué)生就很容易陷入循環(huán)中無法解脫出來,把自己給繞進(jìn)去.所以這節(jié)課的關(guān)鍵是講清概念,弄明白循環(huán)結(jié)構(gòu)中各步驟之間的關(guān)系,尤其是明確循環(huán)體由哪些步驟組成,判斷是繼續(xù)執(zhí)行循環(huán)還是脫離循環(huán)的條件是什么.所以在講解應(yīng)用示例設(shè)計(jì)思路1的例1時(shí),速度不宜快,應(yīng)該把循環(huán)變量I和累加器S的作用講清講透,因此我們在設(shè)計(jì)這個(gè)課題的時(shí)候有意比教材降低了起點(diǎn),設(shè)置了一個(gè)更加簡單的問題,并且還增加了一些思考的問題,這些問題教師不要輕易放過,一定要讓所有的學(xué)生都明白了循環(huán)變量I和累加器S的作用后才可以繼續(xù)進(jìn)行下面的教學(xué).還有變式的設(shè)置也都是為了讓學(xué)生理解循環(huán)結(jié)構(gòu)中兩個(gè)變量的作用. 在例題和課堂練習(xí)中,可以讓學(xué)生先寫出算法,再用流程圖表示出來.如果學(xué)生對脫離循環(huán)的條件不甚明白,老師可以把流程圖實(shí)際操作一遍,用表格的形式列出各個(gè)變量(尤其是循環(huán)變量)的數(shù)值變化過程,便于學(xué)生找出判斷框中的條件.對于溢出循環(huán)體的條件,有時(shí)候?qū)W生會(huì)比正確結(jié)果相差1,這個(gè)問題是由于學(xué)生對溢出的邊界有些模糊導(dǎo)致的,教師可以引導(dǎo)學(xué)生觀察循環(huán)變量的值和運(yùn)算(或執(zhí)行)的次數(shù)以及題目要求運(yùn)算的總次數(shù)的關(guān)系,從中得到正確的判斷條件. 習(xí)題詳解 習(xí)題1.1 1.算法如下: S1 輸入a,h的值; S2 S←ah. 流程圖如下(左)圖所示. 2.算法如下: S1 輸入x; S2 判斷是否x<2,若是,則輸出“不退票”;否則,進(jìn)入S3; S3 輸出“y=x-(+1)2”. 流程圖如下(右)圖所示. 第1題圖 第2題圖 3.令流程圖如下(左)圖所示. 4.的整數(shù)部分用[]表示,則流程圖如下(右)圖所示. 第3題圖 第4題圖 5.算法如下: S1 輸入a,b,c; S2 如果a0,則輸出x>-,否則,輸出x<-. 流程圖如下(右)圖所示. 第5題圖 第6題圖 7.算法如下: S1 取序列的第一個(gè)數(shù); S2 將所取出的數(shù)與18比較; S3 如果相等,則輸出該數(shù),結(jié)束算法; S4 如果不相等,則取下一個(gè)數(shù),再執(zhí)行第二步. 流程圖:用Si代表數(shù)列中的第i個(gè)數(shù). 第7題圖 第8題圖 8.算法分析:判斷分別以這3個(gè)數(shù)為三邊長的三角形是否存在,只需要驗(yàn)證這三個(gè)數(shù)當(dāng)中任意兩個(gè)數(shù)的和是否大于第三個(gè)數(shù).這就需要用到條件結(jié)構(gòu). 算法如下: S1 計(jì)算a+b,b+c,a+c; S2 判斷a+b>c,b+c>a,c+a>b 是否同時(shí)成立,如成立,則 S△ABC= 如不成立,則輸出不存在這樣的三角形. 流程圖如圖所示: 9.算法如下: S1 x←2+; S2 i←1; S3 x←2+; S4 i←i+1; S5 判斷是否i≤n,若是,返回S3,否則,進(jìn)入S6; S6 輸出x. 流程圖如右圖所示. 第9題圖- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 2019-2020年高中數(shù)學(xué) 第1章 算法初步 1.2 流程圖 1.2.3 循環(huán)結(jié)構(gòu)教案 蘇教版必修3 2019 2020 年高 數(shù)學(xué) 算法 初步 循環(huán) 結(jié)構(gòu) 教案 蘇教版 必修
鏈接地址:http://m.jqnhouse.com/p-2567569.html