999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談DO…Loop不同循環結構語句間的區別

2010-09-25 02:12:18耿梅英
太原城市職業技術學院學報 2010年9期
關鍵詞:程序結構

耿梅英

淺談DO…Loop不同循環結構語句間的區別

耿梅英

(徐州市廣播電視大學銅山分校,江蘇徐州221008)

Visual Basic程序設計教程(簡稱VB)是目前應用最廣泛的、易學易用的、面向對象的開發工具之一,是大中專院校計算機基礎課程普遍采用的教材。Do…Loop循環結構語句是VB課程中最通用的、最有用的一種循環結構,是用來描述有規律地重復執行某一程序段,其作用是簡化程序的設計,提高編程效率。筆者在教學過程中發現很多初學者搞不清DO…Loop不同循環結構語句間的區別,這在一定程度上影響了學生的編程興趣。

Visual Basic程序設計;Do…Loop循環結構語句;程序流程圖

一、DO…Loop循環結構語句的幾種格式

循環結構是程序的基本算法結構之一。所謂循環,就是重復地執行某些操作。VB提供了相應的語句用于實現各種類型的循環,其中Do…Loop循環結構語句就是各種類型的循環之一。Do…Loop循環結構語句只要判斷某個條件滿足要求,就會重復執行循環體,它既可以在循環的頂部判斷條件,也可以在循環的底部檢查條件,這樣Do…Loop循環結構語句就演化出以下四種格式:

格式一格式二格式三格式四DoWhile <條件> DoUntil <條件>DoDo [<語句組1>][<語句組1>][<語句組1>][<語句組1>] [ExitDo][ExitDo][ExitDo][ExitDo] [<語句組2>][<語句組2>][<語句組2>][<語句組2>] LoopLoopLoopWhile <條件> LoopUntil <條件>

以上四種格式的主要區別:一是<條件>的書寫位置不同。<條件>可以寫在起始語句Do之后,也可以寫在終止語句Loop之后。二是<條件>之前的關鍵字不一樣。可以是While,也可以是Until。

根據以上格式的區別,可以把四種結構劃分為兩種循環類型:格式一和格式二是在循環的起始語句Do之后開始判斷條件的,屬于當型循環;格式三和格式四是在循環的終止語句Loop后才判斷條件,屬于直到型循環。

二、DO…Loop不同循環結構語句間功能上的區別

1.當型循環

當型循環是先判斷條件,后決定是否執行循環體,因此循環可能一次都不執行。它有兩種程序流程圖:

圖1

圖2

圖1 Do While<條件>…Loop語句的執行過程圖2 Do Until<條件>…Loop語句的執行過程

從程序流程圖中我們不難看出,Do While<條件>…Loop循環結構語句和Do Until<條件>…Loop循環結構語句都在循環頂部判斷進入循環的條件,Do while<條件>…Loop循環結構語句判斷條件是否為真,DoUntil<條件>…Loop循環結構語句判斷條件是否為假,如果循環的條件已經滿足,就執行循環體,如果條件不滿足,則循環體內的語句不再執行。

下面舉例來說明兩種當型循環的功能不同,編寫程序計算1+2+3+……+100的和。首先用DoWhile<條件>…Loop循環結構語句來編寫程序,程序如下:

程序1 Private SubCommand1_Click()

DimIAs Integer,SumAs Integer

I=0:Sum=0

Dowhile I<100

I=I+1:Sum=Sum+I

Loop

Text1.Text=Sum

EndSub

其次用DoUntil<條件>…Loop循環結構語句來編寫程序,程序如下:

程序2 Private SubCommand1_Click()

DimIAs Integer,SumAs Integer

I=0:Sum=0

DoUntil I>99

I=I+1:Sum=Sum+I

Loop

Text1.Text=Sum

EndSub

在VB集成開發用戶環境下運行上面兩道程序都能得到正確的結果,1到100的和是5050。那么當型循環的兩種結構語句功能上究竟有什么不同呢?首先來分析一下Do While I<100…Loop循環結構語句,循環變量I的初值被賦值為0,與條件給出100相比較,結果為TRUE,執行循環體,循環變量I的值自增為1,Sum的值也由0增加為1,這樣完成了一次循環,依此類推循環下去,當循環變量I的值自增到99時,與條件給出100相比較,結果為TRUE,仍執行循環體,循環變量I的值自增為100,與條件給出100相比較,結果為FALSE,循環體內的語句不再執行,而去執行LOOP下一語句,在文本框中輸出1到100的和。

其次分析一下Do Until I>99…Loop循環結構語句,循環變量I的初值被賦值為0,與條件給出99相比較,結果為FALSE,執行循環體,循環變量I的值自增為1,Sum的值也由0增加為1,這樣完成了一次循環,依此類推循環下去,當循環變量I的值自增到98時,與條件給出99相比較,結果為FALSE,仍執行循環體,I的值自增為99,與條件給出99相比較,結果仍為FALSE,仍執行循環體,I的值自增為100,與條件給出99相比較,結果為TRUE,循環體內的語句不再執行,而去執行LOOP下一語句,在文本框中輸出1到100的和。

2.直到型循環

直到型循環至少要先執行一次循環體,然后再判斷循環條件,因此,對于可能在循環開始時循環條件就不滿足要求的情況下,應該選擇使用當型循環。大多數情況下,這兩類循環是可以互相代替的。直到型循環也有兩種程序流程圖:

圖3

圖4

圖3 Do…Loop While<條件>語句的執行過程圖4 Do…Loop Until<條件>語句的執行過程

從上面的程序流程圖我們很容易看出,Do…Loop while<條件>循環結構語句和Do…Loop Until<條件>循環結構語句是在循環的底部判斷退出循環的條件;與當型循環的功能相同的是,Do…Loop while<條件>循環結構語句判斷條件是否為真,Do…Loop Until<條件>循環結構語句判斷條件是否為假,如果循環的條件已經滿足,就執行循環體;如果條件不滿足,則循環體內的語句不再執行。與當型循環不同的是,直到型循環是無條件地多執行循環體一次,然后再判斷條件是否滿足。

下面舉例來說明兩種直到型循環功能上的不同,同樣是計算1到100的和。首先用Do…LoopWhile<條件>循環結構語句來編寫程序,程序如下:

程序3 Private SubCommand1_Click()

DimIAs Integer,SumAs Integer

I=0:Sum=0

Do

I=I+1:Sum=Sum+I

Loopwhile I<100

Text1.Text=Sum

EndSub

其次用Do…LoopUntil<條件>循環結構語句來編寫程序,程序如下:

程序4 Private SubCommand1_Click()

DimIAs Integer,SumAs Integer

I=0:Sum=0

Do

I=I+1:Sum=Sum+I

LoopUntil I>99

Text1.Text=Sum

EndSub

我們仔細比較這四道程序,很容易發現只要把程序1和程序2的判斷條件分別由起始語句DO之后轉移到終止語句LOOP之后,就分別變成了程序3和程序4。程序3和程序4的執行過程分別與程序1和程序2類似,只是無條件地都多執行循環體一次。

這四道程序都能完成1到100的和,功能一樣,但采用的語句格式卻不同,使用While I<100的條件時,當指定的條件為True時,執行循環體中的語句組,而當條件為False時則退出循環,執行循環終止語句Loop之后的語句。使用Until I>99的條件時,當指定的條件為False時,執行循環體中的語句組,而當條件為True時則退出循環,執行循環終止語句Loop之后的語句。因此使用While條件子句和使用Until條件子句的主要區別是:While<條件>子句表示當條件成立時執行循環體,Until<條件>子句則是在條件不成立時執行循環體。

三、Exit Do語句的作用

當省略了While|Until條件子句,條件等價于While True,即循環結構僅由Do循環體Loop構成,表示無條件地執行循環體,這時循環體內應該有ExitDo語句,否則為死循環;ExitDo語句用于當條件成立時強制退出循環體,執行Loop的下一語句。必要時,循環體中可以放置多條Exit Do語句,該語句一般放在某條件結構中,使用形式為:If<條件>ThenExitDo。當然,循環體中也可以沒有ExitDo語句。

下面程序就使用了ExitDo語句來強制退出循環體。

Private SubForm_Click()

DimXAs Integer,YAs Integer

X=5:Y=5

DoWhile X+Y<25

Y=Y+5:X=X+2:PrintY;

IfY>14 ThenExitDo

Loop

PrintY

EndSub

H04

A

1673-0046(2010)9-0159-02

猜你喜歡
程序結構
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
論《日出》的結構
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 色婷婷电影网| 日韩精品欧美国产在线| 99在线视频免费观看| 国产乱子伦一区二区=| 三级欧美在线| 亚洲欧美日韩视频一区| 国产69囗曝护士吞精在线视频| 这里只有精品在线播放| 精品国产一区91在线| 91欧美在线| 狂欢视频在线观看不卡| 亚洲一级毛片在线观| 国产成在线观看免费视频| 国产成人综合日韩精品无码首页| 尤物在线观看乱码| www.狠狠| 67194在线午夜亚洲| 九九热精品视频在线| 好紧太爽了视频免费无码| 国产va视频| 亚洲成人高清无码| 国产精品流白浆在线观看| 黄色在线不卡| 五月婷婷亚洲综合| 久久久精品久久久久三级| 亚洲熟女中文字幕男人总站| 又黄又湿又爽的视频| 国产第一页屁屁影院| 久久国产V一级毛多内射| 亚洲欧美人成电影在线观看| 亚洲视频在线观看免费视频| 亚洲最大福利视频网| 久久99国产综合精品女同| 精品国产福利在线| 自拍偷拍欧美日韩| 日韩高清欧美| 久草国产在线观看| 国产爽妇精品| 国产丝袜无码精品| 91青青视频| 日本少妇又色又爽又高潮| 亚洲精品日产AⅤ| 91无码视频在线观看| 特级做a爰片毛片免费69| 亚洲av无码人妻| 午夜久久影院| 青青草原国产免费av观看| 久久婷婷色综合老司机| 国产成人高清精品免费软件| 18禁色诱爆乳网站| 人妻一区二区三区无码精品一区| 色综合久久综合网| 欧美日本在线观看| 亚洲欧美人成电影在线观看| 高清欧美性猛交XXXX黑人猛交| 国产成人一区| 欧美亚洲中文精品三区| 国产日韩欧美精品区性色| 国产精品自拍露脸视频| 99资源在线| 99人妻碰碰碰久久久久禁片| 国产主播在线观看| 久久人午夜亚洲精品无码区| 亚洲日韩精品无码专区97| 国产精品无码在线看| 久久婷婷综合色一区二区| 亚洲欧美另类日本| 久久伊伊香蕉综合精品| 亚洲国产精品不卡在线| 久久精品亚洲专区| 亚洲中文字幕在线精品一区| 中文无码日韩精品| 国内精品一区二区在线观看| 亚洲天堂首页| 欧美成人午夜在线全部免费| 69国产精品视频免费| 热99精品视频| 制服丝袜在线视频香蕉| 青青热久麻豆精品视频在线观看| 国产欧美高清| 黄色网在线| 午夜久久影院|