《程序框圖的循環(huán)結(jié)構(gòu)》由會(huì)員分享,可在線閱讀,更多相關(guān)《程序框圖的循環(huán)結(jié)構(gòu)(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、程 序 框 圖 的 循 環(huán) 結(jié) 構(gòu) 知識回憶1、程序框圖的概念2、程序框圖的圖示和意義3、順序結(jié)構(gòu)、選擇結(jié)構(gòu)的特點(diǎn)4、作業(yè)分析 問題1:寫出1+2+3+4+5的一個(gè)算法 第一步:sum=0;第二步:sum=sum+1;第三步:sum=sum+2;第四步:sum=sum+3;第五步:sum=sum+4;第六步:sum=sum+5第七步:輸出sum. 1+2+3+4+5 在1的基礎(chǔ)上加2= 3 +3+4+5 先計(jì)算1+2,得計(jì) 算結(jié)果3= 6 +4+5 在計(jì)算結(jié)果3的基礎(chǔ) 上再加3,得計(jì)算結(jié) 果6= 10 +5 再在上述計(jì)算結(jié)果6 上加4,得計(jì)算結(jié)果 10=15 思考:上邊的式子有怎樣的規(guī)律呢?
2、引進(jìn)一個(gè)計(jì)數(shù)變量,通過循環(huán)結(jié)構(gòu)實(shí)現(xiàn)程序簡單化 S1 sum=0 S2 i1 S3 sumsum+i S4 ii+1 S5 如果i不大于5,則返回執(zhí)行S3 ,S4 ,S5 如果大于5,則算法結(jié)束。 S6 輸出sum i i + 1Sum Sum + i解決方法就是加上一個(gè)判斷,判斷是否已經(jīng)加到了,如果加到了則退出,否則繼續(xù)加。試分析兩種流程的異同點(diǎn)直到型結(jié)構(gòu)當(dāng)型結(jié)構(gòu)i i + 1SumSum + i是否i i + 1Sum Sum + i否是i?i?請?zhí)钌吓袛嗟臈l件。 最后的結(jié)果 結(jié)束i i + 1Sum Sum + ii?輸出Sum否是i0,Sum 0開始結(jié)束輸出Sumi 0,Sum 0開始i
3、 i + 1Sum Sum + ii?否是 結(jié)束i i + 1Sum Sum + ii?輸出Sum否是i 0,Sum 0開始步驟A步驟B 思考:將步驟A和步驟B交換位置,結(jié)果會(huì)怎樣?能達(dá)到預(yù)期結(jié)果嗎?為什么?要達(dá)到預(yù)期結(jié)果,還需要做怎樣的修改? 答:達(dá)不到預(yù)期結(jié)果;當(dāng)i = 時(shí),退出循環(huán),i的值未能加入到Sum中;修改的方法是將判斷條件改為i5輸出TY N 延伸、設(shè)計(jì)一個(gè)計(jì)算1,2,3,10的平均數(shù)的算法.分析:先設(shè)計(jì)一個(gè)循環(huán)依次輸入1-10,再用一個(gè)變量存放這些數(shù)的累加和,最后除以10。 例2 設(shè)計(jì)一個(gè)計(jì)算10個(gè)數(shù)的平均數(shù)的算法.解:S1 S0 把0賦值給變量S; S2 I1 把1賦值給變量
4、I; S3 輸入G 輸入一個(gè)數(shù); S4 SS+G 把S+G賦值給變量S; S5 II+1 把I+1賦值給變量I; S6 如果I不大于10,轉(zhuǎn)S3 轉(zhuǎn)到S3循環(huán); S7 AS /10 把A/10存放到A中; S8 輸出A 北京取得2008奧運(yùn)會(huì)主辦權(quán)。國際奧委會(huì)對遴選出的五個(gè)城市進(jìn)行投票表決的操作程序:首先進(jìn)行第一輪投票,如果有一個(gè)城市得票超過一半,那么這個(gè)城市取得主辦權(quán);如果沒有一個(gè)城市得票超過一半,那么將其中得票最少的城市淘汰,然后重復(fù)上述過程,直到選出一個(gè)城市為止。你能利用算法語言敘述上述過程嗎? 奧運(yùn)會(huì)主辦權(quán)投票過程的算法結(jié)構(gòu):S1 投票;S2 計(jì)票。如果有一個(gè)城市得票超過一半,那么這個(gè)
5、城市取得主辦權(quán),進(jìn)入S3;否則淘汰得票數(shù)最少的城市,轉(zhuǎn)入S1;S3 宣布主辦城市。 選出該城市投票有一城市過半票?開始淘汰得票最少者結(jié)束奧運(yùn)會(huì)主辦權(quán)投票表決流程圖y n 小結(jié)1本節(jié)課主要講述了算法的循環(huán)結(jié)構(gòu)。算法的基本邏輯結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中順序結(jié)構(gòu)是最簡單的結(jié)構(gòu),也是最基本的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),所以這三種基本邏輯結(jié)構(gòu)是相互支撐的,它們共同構(gòu)成了算法的基本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三種結(jié)構(gòu)來表達(dá) 。2循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許“死循環(huán)”。 小結(jié)3在循環(huán)結(jié)構(gòu)中都有一個(gè)計(jì)數(shù)變量和累加變量。計(jì)數(shù)變量用于記錄循環(huán)次數(shù),累加變量用于輸出結(jié)果。計(jì)數(shù)變量和累加變量一般是同步執(zhí)行的,累加一次,計(jì)數(shù)一次。4畫循環(huán)結(jié)構(gòu)程序框圖前:確定循環(huán)變量和初始條件;確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體;確定循環(huán)的轉(zhuǎn)向位置;確定循環(huán)的終止條件.