第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)詳版課資
《第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)詳版課資》由會(huì)員分享,可在線閱讀,更多相關(guān)《第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)詳版課資(37頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1第第5 5章章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)和順序結(jié)構(gòu)、選擇結(jié)構(gòu)都是結(jié)構(gòu)化程序設(shè)計(jì)的基本循環(huán)結(jié)構(gòu)和順序結(jié)構(gòu)、選擇結(jié)構(gòu)都是結(jié)構(gòu)化程序設(shè)計(jì)的基本控制結(jié)構(gòu)??刂平Y(jié)構(gòu)。在編程中一些操作并不復(fù)雜,但需要反復(fù)執(zhí)行多次的問(wèn)題,在編程中一些操作并不復(fù)雜,但需要反復(fù)執(zhí)行多次的問(wèn)題,需采用循環(huán)結(jié)構(gòu)。如:對(duì)全年級(jí)需采用循環(huán)結(jié)構(gòu)。如:對(duì)全年級(jí)15001500名學(xué)生都進(jìn)行例名學(xué)生都進(jìn)行例4-44-4介介紹的百分制轉(zhuǎn)換為五分制操作。紹的百分制轉(zhuǎn)換為五分制操作。循環(huán)結(jié)構(gòu)是指程序中有規(guī)律地反復(fù)執(zhí)行某一程序塊的現(xiàn)象。循環(huán)結(jié)構(gòu)是指程序中有規(guī)律地反復(fù)執(zhí)行某一程序塊的現(xiàn)象。被重復(fù)執(zhí)行的程序塊稱為循環(huán)體;被重復(fù)執(zhí)行的程序
2、塊稱為循環(huán)體;循環(huán)體的執(zhí)行與否及次數(shù)多少視循環(huán)類型與條件而定;循環(huán)體的執(zhí)行與否及次數(shù)多少視循環(huán)類型與條件而定;無(wú)論何種類型的循環(huán)結(jié)構(gòu),都必須確保循環(huán)體的重復(fù)執(zhí)行能被終止。無(wú)論何種類型的循環(huán)結(jié)構(gòu),都必須確保循環(huán)體的重復(fù)執(zhí)行能被終止。VBVB常用的循環(huán)語(yǔ)句有常用的循環(huán)語(yǔ)句有ForForNextNext,WhileWhileWendWend和和DoDoLoopLoop語(yǔ)語(yǔ)句。句。ForForNextNext用于已知循環(huán)次數(shù)的情況,而用于已知循環(huán)次數(shù)的情況,而WhileWhileWendWend和和DoDoLoopLoop主要用于不知道循環(huán)次數(shù)的情況,在給定的條件滿主要用于不知道循環(huán)次數(shù)的情況,在給定
3、的條件滿足時(shí)執(zhí)行循環(huán)體。足時(shí)執(zhí)行循環(huán)體。2第第5 5章章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)本章內(nèi)容及要求本章內(nèi)容及要求: 熟練掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的熟練掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的For/NextFor/Next語(yǔ)句、語(yǔ)句、While/WendWhile/Wend語(yǔ)句語(yǔ)句、Do/LoopDo/Loop結(jié)構(gòu)的使用,掌握多重循環(huán)。結(jié)構(gòu)的使用,掌握多重循環(huán)。重點(diǎn)重點(diǎn):循環(huán)的實(shí)現(xiàn)及其應(yīng)用。循環(huán)的實(shí)現(xiàn)及其應(yīng)用。難點(diǎn)難點(diǎn):多重循環(huán)。多重循環(huán)。3第第5章章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 45.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句 For循環(huán)是計(jì)數(shù)型循環(huán)結(jié)構(gòu),用于控制循環(huán)次數(shù)循環(huán)是計(jì)數(shù)型循環(huán)結(jié)構(gòu),用于控制循環(huán)次數(shù)預(yù)知是循環(huán)結(jié)構(gòu)。
4、預(yù)知是循環(huán)結(jié)構(gòu)。 格式格式: For = To Step Exit For Next 55.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句說(shuō)明說(shuō)明:循環(huán)變量:必須為數(shù)值型,取值范圍在初值和終值之間循環(huán)變量:必須為數(shù)值型,取值范圍在初值和終值之間步長(zhǎng):數(shù)值型,一般為正,初值應(yīng)小于等于終值;若為步長(zhǎng):數(shù)值型,一般為正,初值應(yīng)小于等于終值;若為負(fù),初值應(yīng)大于等于終值;默認(rèn)為負(fù),初值應(yīng)大于等于終值;默認(rèn)為1。語(yǔ)句塊:可以是一句或多句語(yǔ)句,構(gòu)成循環(huán)體。語(yǔ)句塊:可以是一句或多句語(yǔ)句,構(gòu)成循環(huán)體。Exit For:表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán),執(zhí)行:表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán),執(zhí)行Next行行的后繼語(yǔ)句。的后繼語(yǔ)句。次數(shù)次數(shù)
5、m由初值由初值終值終值步長(zhǎng)決定:步長(zhǎng)決定: m = Int(終值終值-初值初值)/步長(zhǎng)步長(zhǎng)+1)65.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句步長(zhǎng)為正數(shù)步長(zhǎng)為正數(shù)步長(zhǎng)為負(fù)數(shù)步長(zhǎng)為負(fù)數(shù)75.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-1】求求2+4+6+100的值。的值。分析分析:進(jìn)行程序設(shè)計(jì)應(yīng)采用累加的方法,用變量進(jìn)行程序設(shè)計(jì)應(yīng)采用累加的方法,用變量sum來(lái)存放累加和來(lái)存放累加和,用變量,用變量i來(lái)存放加數(shù)。同時(shí)來(lái)存放加數(shù)。同時(shí)i還要作為循環(huán)計(jì)數(shù)器。還要作為循環(huán)計(jì)數(shù)器。進(jìn)行程序設(shè)計(jì)時(shí),分為界面設(shè)計(jì)、控件對(duì)象屬性設(shè)置和編寫(xiě)進(jìn)行程序設(shè)計(jì)時(shí),分為界面設(shè)計(jì)、控件對(duì)象屬性設(shè)置和編寫(xiě)程序代碼程序代碼3個(gè)步驟。個(gè)步驟。85.1
6、For循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-25-2】求求n!n!,n n的值由用戶輸入。的值由用戶輸入。分析分析:由階乘的定義可知:由階乘的定義可知:n1=123(n-1) n,所以,所以應(yīng)該采用連乘的方法,用變量應(yīng)該采用連乘的方法,用變量fact來(lái)存放連乘積,用變量來(lái)存放連乘積,用變量i來(lái)存來(lái)存放要連乘的乘數(shù)和循環(huán)計(jì)數(shù)器,從放要連乘的乘數(shù)和循環(huán)計(jì)數(shù)器,從1開(kāi)始到開(kāi)始到n為止。為止。95.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句循環(huán)結(jié)構(gòu)中,最常用的算法循環(huán)結(jié)構(gòu)中,最常用的算法:累加、連乘。累加、連乘。注意:累加和注意:累加和sumsum的初值置為的初值置為0 0,而連乘積,而連乘積factfact的初值的初值置為置為
7、1 1,并且它們的賦值操作應(yīng)該在循環(huán)體外、循環(huán),并且它們的賦值操作應(yīng)該在循環(huán)體外、循環(huán)開(kāi)始前完成。開(kāi)始前完成。105.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-3】利用多項(xiàng)式利用多項(xiàng)式e=1+1/1!+1/2!+1/3!+1/n!求自然對(duì)數(shù)求自然對(duì)數(shù)e的近似值,要求計(jì)算到第的近似值,要求計(jì)算到第15項(xiàng)。項(xiàng)。分析分析:在計(jì)算級(jí)數(shù)的和時(shí),先求第在計(jì)算級(jí)數(shù)的和時(shí),先求第i項(xiàng)的階乘,再將各項(xiàng)階乘的項(xiàng)的階乘,再將各項(xiàng)階乘的倒數(shù)進(jìn)行累加。程序中設(shè)計(jì)兩個(gè)變量倒數(shù)進(jìn)行累加。程序中設(shè)計(jì)兩個(gè)變量sum和和fact分別作為分別作為累加和與連乘積,其賦初值分別為累加和與連乘積,其賦初值分別為0和和1。為防止項(xiàng)數(shù)過(guò)大階乘溢出
8、,定義為防止項(xiàng)數(shù)過(guò)大階乘溢出,定義fact和和sum為為double類型類型。 115.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-45-4】參看教材參看教材P75P75。125.1 For循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-5】求求Fibonacci數(shù)列前數(shù)列前15項(xiàng)的值。項(xiàng)的值。 Fibonacci數(shù)列為:數(shù)列為:1,1,2,3,5,8,。 分析分析:數(shù)列的第一項(xiàng)和第二項(xiàng)為:數(shù)列的第一項(xiàng)和第二項(xiàng)為1,從第三項(xiàng)開(kāi)始,每一項(xiàng),從第三項(xiàng)開(kāi)始,每一項(xiàng)都是前兩項(xiàng)之和,即:都是前兩項(xiàng)之和,即: F1 = 1(n=1) F2 = 1(n=2) Fn = Fn-1 + Fn-2 (n3) 在本例中,在本例中,F(xiàn)1代表當(dāng)前第
9、一項(xiàng)的值,代表當(dāng)前第一項(xiàng)的值,F(xiàn)2代表第二項(xiàng)的值,代表第二項(xiàng)的值,F(xiàn)3代表第三項(xiàng)的值,當(dāng)此輪計(jì)算完成后,代表第三項(xiàng)的值,當(dāng)此輪計(jì)算完成后,F(xiàn)2的值將成為第的值將成為第一項(xiàng)的值,一項(xiàng)的值,F(xiàn)3的值將成為第二項(xiàng)的值,然后可以進(jìn)行下一輪的值將成為第二項(xiàng)的值,然后可以進(jìn)行下一輪的運(yùn)算,直到最后得到所有結(jié)果。的運(yùn)算,直到最后得到所有結(jié)果。 135.2 While循環(huán)語(yǔ)句循環(huán)語(yǔ)句格式格式: While Wend功能功能:如果:如果為為True(非(非0值),則執(zhí)行值),則執(zhí)行(即循環(huán)體);如果(即循環(huán)體);如果的值是的值是False(值為(值為0),則退出循環(huán)。),則退出循環(huán)。執(zhí)行流程圖:執(zhí)行流程圖:14
10、5.2 While循環(huán)語(yǔ)句循環(huán)語(yǔ)句說(shuō)明:說(shuō)明:的組成與的組成與If語(yǔ)句中的語(yǔ)句中的的組成要的組成要求相同。求相同。 實(shí)際進(jìn)行程序設(shè)計(jì)時(shí),循環(huán)體中語(yǔ)句的執(zhí)行應(yīng)能使條件發(fā)實(shí)際進(jìn)行程序設(shè)計(jì)時(shí),循環(huán)體中語(yǔ)句的執(zhí)行應(yīng)能使條件發(fā)生改變,以使生改變,以使的值最終可以出現(xiàn)的值最終可以出現(xiàn)False。否則。否則會(huì)出現(xiàn)死循環(huán)。會(huì)出現(xiàn)死循環(huán)。 例如,如下一段程序:例如,如下一段程序: While b0 c=c+a b=b-1 Wend 每次執(zhí)行循環(huán)以前,都要測(cè)試條件表達(dá)式(每次執(zhí)行循環(huán)以前,都要測(cè)試條件表達(dá)式(b0)的)的值。如果結(jié)果為值。如果結(jié)果為True,則執(zhí)行循環(huán)體。直到條件表達(dá)式為,則執(zhí)行循環(huán)體。直到條件表
11、達(dá)式為False(即(即b=0) 時(shí)結(jié)束循環(huán),轉(zhuǎn)移到時(shí)結(jié)束循環(huán),轉(zhuǎn)移到Wend的后繼語(yǔ)句。的后繼語(yǔ)句。155.2 While循環(huán)語(yǔ)句循環(huán)語(yǔ)句While循環(huán)與循環(huán)與For循環(huán)的區(qū)別是:循環(huán)的區(qū)別是:For循環(huán)對(duì)循環(huán)體執(zhí)行指定循環(huán)對(duì)循環(huán)體執(zhí)行指定次數(shù),次數(shù), While循環(huán)則是給定的條件表達(dá)式為循環(huán)則是給定的條件表達(dá)式為True時(shí)重復(fù)循環(huán)時(shí)重復(fù)循環(huán)體的執(zhí)行。體的執(zhí)行。 “While/當(dāng)循環(huán)當(dāng)循環(huán)”可以指定一個(gè)循環(huán)終止的條件,而可以指定一個(gè)循環(huán)終止的條件,而For循循環(huán)只能進(jìn)行指定次數(shù)的重復(fù)。因此,環(huán)只能進(jìn)行指定次數(shù)的重復(fù)。因此,當(dāng)需要由數(shù)據(jù)的某個(gè)條當(dāng)需要由數(shù)據(jù)的某個(gè)條件是否出現(xiàn)來(lái)控制循環(huán)時(shí)件是否出
12、現(xiàn)來(lái)控制循環(huán)時(shí),應(yīng)當(dāng)使用,應(yīng)當(dāng)使用WhileWend一類的循一類的循環(huán)。環(huán)。165.2 While循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-6】我國(guó)現(xiàn)有人口我國(guó)現(xiàn)有人口13億,按照年增長(zhǎng)率億,按照年增長(zhǎng)率1.2%計(jì)算,多少計(jì)算,多少年后我國(guó)人口達(dá)到年后我國(guó)人口達(dá)到20億??jī)|?分析分析: 我國(guó)現(xiàn)有人口我國(guó)現(xiàn)有人口13億,億,p是是n年后我國(guó)人口達(dá)到的數(shù)量(年后我國(guó)人口達(dá)到的數(shù)量(20億),億),r是年增長(zhǎng)率(是年增長(zhǎng)率(1.2%)。求解此問(wèn)題可根據(jù)公式:)。求解此問(wèn)題可根據(jù)公式: p=13(1+r)n,利用利用While循環(huán)求得循環(huán)求得n。175.2 While循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-75-7】編寫(xiě)程序,輸入
13、一個(gè)正整數(shù)編寫(xiě)程序,輸入一個(gè)正整數(shù)n n(n3n3),判斷其是否),判斷其是否為素?cái)?shù)。為素?cái)?shù)。分析分析:只能被:只能被1和本身整除的正整數(shù)稱為素?cái)?shù)。判斷一個(gè)數(shù)和本身整除的正整數(shù)稱為素?cái)?shù)。判斷一個(gè)數(shù)n是是不是素?cái)?shù),最簡(jiǎn)單的方法就是根據(jù)素?cái)?shù)的定義,利用不是素?cái)?shù),最簡(jiǎn)單的方法就是根據(jù)素?cái)?shù)的定義,利用2n-1之間的整數(shù)依次去除之間的整數(shù)依次去除n,如果都不能整除,就,如果都不能整除,就n是素?cái)?shù),反之是素?cái)?shù),反之則則n不是素?cái)?shù)。從數(shù)學(xué)上,只要不是素?cái)?shù)。從數(shù)學(xué)上,只要n不能被不能被2n/2或或2 之間的之間的所有整數(shù)整除,則所有整數(shù)整除,則n是素?cái)?shù),否則是素?cái)?shù),否則n不是素?cái)?shù)。后一種方法可不是素?cái)?shù)。后一種
14、方法可以減少循環(huán)的次數(shù),提高執(zhí)行效率。以減少循環(huán)的次數(shù),提高執(zhí)行效率。 本例中,設(shè)置一個(gè)數(shù)值型變量本例中,設(shè)置一個(gè)數(shù)值型變量flag, flag值為值為1時(shí)表示這個(gè)數(shù)時(shí)表示這個(gè)數(shù)是素?cái)?shù),為是素?cái)?shù),為0時(shí)表示不是素?cái)?shù)。初始時(shí)表示不是素?cái)?shù)。初始flag=1,在循環(huán)判斷時(shí),在循環(huán)判斷時(shí),若某數(shù),若某數(shù)n能被能被2 之間的某數(shù)整除將之間的某數(shù)整除將flag值設(shè)為值設(shè)為0。nn185.3 DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句導(dǎo)入導(dǎo)入: DoLoop DoLoop循環(huán)也屬于條件型循環(huán),即根據(jù)條件的循環(huán)也屬于條件型循環(huán),即根據(jù)條件的成立與否來(lái)決定是否執(zhí)行循環(huán)。成立與否來(lái)決定是否執(zhí)行循環(huán)。DoLoopDoLoop循環(huán)
15、的應(yīng)用循環(huán)的應(yīng)用具有很強(qiáng)的靈活性,主要體現(xiàn)在:它既能指定循環(huán)開(kāi)具有很強(qiáng)的靈活性,主要體現(xiàn)在:它既能指定循環(huán)開(kāi)始條件,又能指定循環(huán)結(jié)束條件;既能構(gòu)成前測(cè)型始條件,又能指定循環(huán)結(jié)束條件;既能構(gòu)成前測(cè)型DoLoopDoLoop循環(huán)語(yǔ)句,又能構(gòu)成后測(cè)型循環(huán)語(yǔ)句,又能構(gòu)成后測(cè)型DoLoopDoLoop循環(huán)語(yǔ)循環(huán)語(yǔ)句。句。195.3.1 前測(cè)型前測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句格式格式:Do While | Until Do While | Until Exit DoExit Do LoopLoop205.3.1 5.3.1 前測(cè)型前測(cè)型DoDoLoopLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句前測(cè)型前測(cè)型DoDoLoop
16、Loop循環(huán)的流程圖循環(huán)的流程圖 Do WhileLoop流程圖流程圖 Do UntilLoop流程圖流程圖215.3.1 前測(cè)型前測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句說(shuō)明說(shuō)明: :Do WhileLoop是當(dāng)型循環(huán)結(jié)構(gòu)。當(dāng)是當(dāng)型循環(huán)結(jié)構(gòu)。當(dāng)?shù)闹禐榈闹禐門rue時(shí)執(zhí)行循環(huán)體;當(dāng)時(shí)執(zhí)行循環(huán)體;當(dāng)?shù)闹禐榈闹禐镕alse時(shí)退出循環(huán)時(shí)退出循環(huán);Do UntilLoop是直到型循環(huán)結(jié)構(gòu)。當(dāng)是直到型循環(huán)結(jié)構(gòu)。當(dāng)?shù)闹禐榈闹禐镕alse時(shí)執(zhí)行循環(huán)體;直到時(shí)執(zhí)行循環(huán)體;直到的值為的值為True時(shí)退出循時(shí)退出循環(huán);環(huán);的組成與的組成與If語(yǔ)句中的語(yǔ)句中的的組成要求相的組成要求相同;同;Exit Do語(yǔ)句表示當(dāng)遇到該語(yǔ)
17、句時(shí),退出循環(huán),執(zhí)行語(yǔ)句表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán),執(zhí)行Loop行的行的后繼語(yǔ)句后繼語(yǔ)句 當(dāng)省略當(dāng)省略While | Until 子句時(shí),即循環(huán)結(jié)構(gòu)僅由子句時(shí),即循環(huán)結(jié)構(gòu)僅由DoLoop關(guān)鍵字構(gòu)成,表示無(wú)條件循環(huán),這時(shí)在循環(huán)體內(nèi)應(yīng)關(guān)鍵字構(gòu)成,表示無(wú)條件循環(huán),這時(shí)在循環(huán)體內(nèi)應(yīng)該有該有Exit Do語(yǔ)句,否則為死循環(huán)。語(yǔ)句,否則為死循環(huán)。225.3.1 前測(cè)型前測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-8】用用Do循環(huán)結(jié)構(gòu)實(shí)現(xiàn)例循環(huán)結(jié)構(gòu)實(shí)現(xiàn)例5-2求求n!235.3.1 前測(cè)型前測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-9】求滿足求滿足1+2+3+n1000 n的最小值的最小值思考:如果本例用思
18、考:如果本例用Do While Loop循環(huán)語(yǔ)句實(shí)現(xiàn),代碼應(yīng)循環(huán)語(yǔ)句實(shí)現(xiàn),代碼應(yīng)如何改動(dòng)?如何改動(dòng)?245.3.2 后測(cè)型后測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句格式格式: : DoExit DoLoop While | Until 255.3.1 后測(cè)型后測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句說(shuō)明說(shuō)明: :后測(cè)型后測(cè)型DoLoop循環(huán)語(yǔ)句與前測(cè)型循環(huán)語(yǔ)句與前測(cè)型DoLoop循環(huán)語(yǔ)句的主循環(huán)語(yǔ)句的主要區(qū)別在于:要區(qū)別在于:后測(cè)型要先執(zhí)行一次循環(huán)體,再判斷條件;而前測(cè)型要后測(cè)型要先執(zhí)行一次循環(huán)體,再判斷條件;而前測(cè)型要先判斷條件,然后根據(jù)判斷結(jié)果決定是否執(zhí)行循環(huán)體。因此先判斷條件,然后根據(jù)判斷結(jié)果決定是否執(zhí)
19、行循環(huán)體。因此對(duì)于后測(cè)型,不管條件是否滿足,循環(huán)體至少有一次執(zhí)行機(jī)對(duì)于后測(cè)型,不管條件是否滿足,循環(huán)體至少有一次執(zhí)行機(jī)會(huì)。會(huì)。265.3.1 后測(cè)型后測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句DoLoop While循環(huán)流程圖循環(huán)流程圖 DoLoop Until循環(huán)流程圖循環(huán)流程圖275.3.1 后測(cè)型后測(cè)型DoLoop循環(huán)語(yǔ)句循環(huán)語(yǔ)句【例例5-10】將將400600間能夠被間能夠被3整除的數(shù)整除的數(shù)輸出(上機(jī)練習(xí))輸出(上機(jī)練習(xí))【例例5-11】(略)(略)285.4 循環(huán)嵌套循環(huán)嵌套介紹介紹: :一個(gè)循環(huán)結(jié)構(gòu)中又包含一個(gè)或多個(gè)循環(huán)結(jié)構(gòu)被稱為一個(gè)循環(huán)結(jié)構(gòu)中又包含一個(gè)或多個(gè)循環(huán)結(jié)構(gòu)被稱為循環(huán)嵌套,或稱多
20、重循環(huán)。循環(huán)嵌套,或稱多重循環(huán)。多重循環(huán)對(duì)嵌套的層數(shù)沒(méi)有限制。有幾層嵌套,就多重循環(huán)對(duì)嵌套的層數(shù)沒(méi)有限制。有幾層嵌套,就稱為幾重循環(huán),如二重循環(huán)、三重循環(huán)、四重循環(huán)稱為幾重循環(huán),如二重循環(huán)、三重循環(huán)、四重循環(huán)等。一般地,把嵌套在一個(gè)循環(huán)體內(nèi)部的另一個(gè)循等。一般地,把嵌套在一個(gè)循環(huán)體內(nèi)部的另一個(gè)循環(huán)結(jié)構(gòu)稱為內(nèi)循環(huán);這樣,嵌套了其他內(nèi)循環(huán)部分環(huán)結(jié)構(gòu)稱為內(nèi)循環(huán);這樣,嵌套了其他內(nèi)循環(huán)部分的循環(huán)結(jié)構(gòu)就稱為外循環(huán)。的循環(huán)結(jié)構(gòu)就稱為外循環(huán)。為了使多重循環(huán)結(jié)構(gòu)具有較好的可讀性,通常用縮為了使多重循環(huán)結(jié)構(gòu)具有較好的可讀性,通常用縮進(jìn)方式書(shū)寫(xiě)相應(yīng)的源代碼。進(jìn)方式書(shū)寫(xiě)相應(yīng)的源代碼。295.4 循環(huán)嵌套循環(huán)嵌套說(shuō)明
21、說(shuō)明: :外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉,如表外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉,如表5-1和和表表5-2所示;所示; 內(nèi)循環(huán)變量與外循環(huán)變量不能同名;內(nèi)循環(huán)變量與外循環(huán)變量不能同名;多重循環(huán)的執(zhí)行過(guò)程是,外循環(huán)每執(zhí)行一次,內(nèi)循多重循環(huán)的執(zhí)行過(guò)程是,外循環(huán)每執(zhí)行一次,內(nèi)循環(huán)要從頭到尾執(zhí)行一遍;環(huán)要從頭到尾執(zhí)行一遍;在多重循環(huán)的任何一層中都可以使用在多重循環(huán)的任何一層中都可以使用Exit Do或或Exit For退出循環(huán),但要注意只能退出退出循環(huán),但要注意只能退出Exit Do或或Exit For語(yǔ)句所對(duì)應(yīng)的最內(nèi)層循環(huán),而不是一次退出多層循語(yǔ)句所對(duì)應(yīng)的最內(nèi)層循環(huán),而不是一次退出多層循環(huán)。環(huán)。
22、305.4 循環(huán)嵌套循環(huán)嵌套表表5-1 5-1 正確的循環(huán)嵌套結(jié)構(gòu)正確的循環(huán)嵌套結(jié)構(gòu)表表5-2 5-2 錯(cuò)誤的循環(huán)嵌套結(jié)構(gòu)錯(cuò)誤的循環(huán)嵌套結(jié)構(gòu)For I=1 To 10 For J=1 To 20 Next J Next I Do For J=1 To 20 Next J While I=10 For I=1 To 10 Do While J=20 Loop Next I Do While J10 For I=1 To 10 For J=1 To 20 Next I Next JDo For J=1 To 20 While I=10 Next J For I=1 To 10 DoWhile J=
23、20 Next I LoopDo While J10 Wend315.4 循環(huán)嵌套循環(huán)嵌套【例例5-125-12】編程,實(shí)現(xiàn)要求的圖形。編程,實(shí)現(xiàn)要求的圖形。325.4 循環(huán)嵌套循環(huán)嵌套【例例5-135-13】編程打印九九乘法表,程序運(yùn)行界編程打印九九乘法表,程序運(yùn)行界面見(jiàn)下圖。面見(jiàn)下圖。335.4 循環(huán)嵌套循環(huán)嵌套分析分析: :輸出九九乘法表,可以用外層循環(huán)變量輸出九九乘法表,可以用外層循環(huán)變量i控制每行的控制每行的輸出,內(nèi)循環(huán)變量輸出,內(nèi)循環(huán)變量j控制各行中的每個(gè)等式的輸出,控制各行中的每個(gè)等式的輸出,而各行中的每個(gè)等式正好是而各行中的每個(gè)等式正好是“i*j”。此外主要的問(wèn)題是控制每個(gè)等式
24、出現(xiàn)的位置,可以此外主要的問(wèn)題是控制每個(gè)等式出現(xiàn)的位置,可以用用Tab函數(shù)來(lái)實(shí)現(xiàn),假設(shè)每個(gè)等式的寬度為函數(shù)來(lái)實(shí)現(xiàn),假設(shè)每個(gè)等式的寬度為9,第一,第一個(gè)等式出現(xiàn)在第個(gè)等式出現(xiàn)在第1列,第二個(gè)等式出現(xiàn)在第列,第二個(gè)等式出現(xiàn)在第10列,列,依次類推,則每個(gè)等式出現(xiàn)的位置就可以這,依次類推,則每個(gè)等式出現(xiàn)的位置就可以這樣表示:樣表示:Tab(j-1)*9+1)。345.4 循環(huán)嵌套循環(huán)嵌套【例例5-15-14 4】編程求不定方程的解。編程求不定方程的解。355.4 循環(huán)嵌套循環(huán)嵌套【例例5-15】 如果一個(gè)三位數(shù)等于其各位數(shù)字的立方和如果一個(gè)三位數(shù)等于其各位數(shù)字的立方和,則稱這個(gè)數(shù)為水仙花數(shù),如,則稱
25、這個(gè)數(shù)為水仙花數(shù),如153=13+53+33,370=33+73+03 ,試編程找出所有的水仙花數(shù)。,試編程找出所有的水仙花數(shù)。分析分析方案一:從方案一:從100,101,102,999中,對(duì)每個(gè)數(shù)均檢測(cè)是中,對(duì)每個(gè)數(shù)均檢測(cè)是否符合水仙花數(shù)的條件(用單層的循環(huán)即可實(shí)現(xiàn))。否符合水仙花數(shù)的條件(用單層的循環(huán)即可實(shí)現(xiàn))。方案二:假定方案二:假定a、b、c分別為三位整數(shù)的百位、十位個(gè)位數(shù)分別為三位整數(shù)的百位、十位個(gè)位數(shù)字,可以得到字,可以得到100,101,999的三位數(shù),同時(shí)對(duì)其判斷的三位數(shù),同時(shí)對(duì)其判斷是否為水仙花數(shù)(用三重循環(huán)實(shí)現(xiàn))是否為水仙花數(shù)(用三重循環(huán)實(shí)現(xiàn))。365.4 循環(huán)嵌套循環(huán)嵌套
26、思考思考: :本例應(yīng)用了一種常見(jiàn)算法本例應(yīng)用了一種常見(jiàn)算法窮舉法。該算法根據(jù)所窮舉法。該算法根據(jù)所提問(wèn)題,窮舉所有可能的情形,并從中找出符合要提問(wèn)題,窮舉所有可能的情形,并從中找出符合要求的解。因此,窮舉法常用于解決求的解。因此,窮舉法常用于解決“是否存在是否存在”以以及及“有多少種符合要求的解有多少種符合要求的解”等類型的問(wèn)題。由于等類型的問(wèn)題。由于窮舉法需要列舉所有可能的情形,因此采用循環(huán)是窮舉法需要列舉所有可能的情形,因此采用循環(huán)是最有效的實(shí)現(xiàn)方法。最有效的實(shí)現(xiàn)方法?!纠咳绻麑⒁唤清X換成零錢(可以包括如果將一角錢換成零錢(可以包括1 1分、分、2 2分分和和5 5分中的任意多個(gè)面值)
27、,共有多少種換法?分中的任意多個(gè)面值),共有多少種換法?37第第5章章 小結(jié)小結(jié)本章主要介紹循環(huán)這種常用的程序流程控制結(jié)構(gòu)本章主要介紹循環(huán)這種常用的程序流程控制結(jié)構(gòu),用來(lái)實(shí)現(xiàn)循環(huán)的語(yǔ)句有,用來(lái)實(shí)現(xiàn)循環(huán)的語(yǔ)句有ForFor循環(huán)、循環(huán)、WhileWhile循環(huán)和循環(huán)和DoDo循循環(huán),應(yīng)根據(jù)不同的問(wèn)題選擇使用適當(dāng)?shù)难h(huán),正確的環(huán),應(yīng)根據(jù)不同的問(wèn)題選擇使用適當(dāng)?shù)难h(huán),正確的使用循環(huán)控制變量控制循環(huán)的起始,并通過(guò)循環(huán)變量使用循環(huán)控制變量控制循環(huán)的起始,并通過(guò)循環(huán)變量反映循環(huán)的變化規(guī)律。重點(diǎn)掌握反映循環(huán)的變化規(guī)律。重點(diǎn)掌握ForFor循環(huán)和循環(huán)和DoLoopDoLoop循環(huán)的使用,可以正確的使用多重循環(huán)來(lái)解決實(shí)際問(wèn)循環(huán)的使用,可以正確的使用多重循環(huán)來(lái)解決實(shí)際問(wèn)題。題。
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點(diǎn)美食推薦
- XX國(guó)有企業(yè)黨委書(shū)記個(gè)人述責(zé)述廉報(bào)告及2025年重點(diǎn)工作計(jì)劃
- 世界濕地日濕地的含義及價(jià)值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場(chǎng)心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫(huà)之美生活之美
- 節(jié)后開(kāi)工第一課輕松掌握各要點(diǎn)節(jié)后常見(jiàn)的八大危險(xiǎn)
- 廈門城市旅游介紹廈門景點(diǎn)介紹廈門美食展示
- 節(jié)后開(kāi)工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點(diǎn)推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個(gè)個(gè)會(huì)應(yīng)急
- 預(yù)防性維修管理
- 常見(jiàn)閥門類型及特點(diǎn)
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案