visual basic (vb)第5章-2(循環語句)_第1頁
visual basic (vb)第5章-2(循環語句)_第2頁
visual basic (vb)第5章-2(循環語句)_第3頁
visual basic (vb)第5章-2(循環語句)_第4頁
visual basic (vb)第5章-2(循環語句)_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章程序控制結構二循環結構主要內容1.為什么要使用循環結構?2.For…Next循環語句3.While循環4.Do…Loop循環5.循環嵌套6.循環語句使用舉例

如果要編寫一個程序,在窗體上輸出6行“**********”,如下圖所示:1.為什么要使用循環結構?

該程序最直覺的編寫方法如下:1為什么要使用循環結構?PrivateSubForm_Click()

Print"**********"Print"**********"Print"**********"Print"**********"Print"**********"Print"**********"EndSub但上述程序結構讓人覺得煩瑣,尤其是當需要100行或1000行“**********”的話,源程序將變得很長。所以,在程序設計中,我們需要使用循環結構,來進行一系列重復的動作。在VB中,當需要對某一段程序反復執行多次,且反復執行的次數是可以預知的或可以用某種條件控制的,就可以使用循環結構。1為什么要使用循環結構?

使用循環結構,上述程序可以修改為:1為什么要使用循環結構?PrivateSubForm_Click()

ForI=1To6Print"**********"NextIEndSub

與前面的程序相比,循環結構使得程序更加清晰,功能更加強大,修改也更加方便。

在VB中,通常可以使用如下循環語句:

■For…Next語句:適合處理循環次數預知的循環問題。

While...Wend語句、Do…Loop語句:適合處理用循環條件控制的循環問題。1為什么要使用循環結構?

For…Next循環語句適合處理循環次數已知的循環結構。

For…Next循環語句的格式:

For<循環控制變量>=<初值>TO<終值>[Step<步長>]<循環體>

[ExitFor]Next<循環控制變量>2For…Next循環語句ForI=1To6Print"**********"NextI

For…Next循環語句的執行過程

2For…Next循環語句循環變量賦初值循環變量未超過終值?循環體循環變量加上一個步長FalseTrue功能:

當循環變量的值在初值到終值范圍內時,執行一次循環體中的語句塊,并使初值增加一個步長。當循環變量的值不在初值到終值范圍內時,就退出循環,執行Next后面的語句。

2For…Next循環語句④注意:(1)For循環語句是先判斷后執行。(2)當退出循環后,循環變量的值保持退出時的值。(3)在循環體內可多次引用循環控制變量,但最好不要給它賦值,否則會影響原來的循環控制規律。例題1計算S=1+2+3+……+100PrivateSubForm_Click()

DimSAsInteger,IAsIntegerS=0ForI=1To100S=S+INextIPrint"1+2+3+……+100=",SEndSub■問題3:根據例題1,自己編寫程序計算20!,與計算累加和相比,計算階乘時應注意什么問題?例題2:七彩字PrivateSubForm_click()Dimi%Randomize

Fori=1To1000 Form1.CurrentX=500+i Form1.CurrentY=500+i

ForeColor=RGB(Int(256*Rnd),Int(256*Rnd),Int(256*Rnd)) Print"Hello"

NextiEndSub3While循環語句While循環又稱“當”型循環,它是通過“循環條件”控制重復執行一組語句。While<循環條件> <循環體>Wend例題2:使用while語句,計算:S=1+2+3+……100的值。

Do…Loop循環語句的四種形式4Do…Loop循環語句DoWhile<條件><循環體>[ExitDo]LoopDo<循環體>[ExitDo]LoopWhile<條件>DoUntil<條件><循環體>[ExitDo]LoopDo<循環體>[ExitDo]LoopUntil<條件>

四種形式的Do…Loop語句的比較:

■四種循環結構都是以Do語句開始,而以Loop語句結束。

■若循環控制條件跟在Do語句后,則要先判斷條件,再執行循環體,因此是一種當型循環;若循環控制條件跟在Loop語句后,則是先執行循環體,再判斷條件

■若條件語句使用While,則當條件為真時,執行循環體,條件為假時,退出循環;若條件語句使用Until,則當條件為假時,執行循環體,條件為真時,則退出循環。4Do…Loop循環語句例題2:分別使用四種形式的Do…Loop語句,計算:S=1+2+3+……100的值。例題2-1用Do語句計算1+…+100PrivateSubForm_Click()

DimSAsInteger,IAsIntegerS=0I=0DoWhileI<=100S=S+II=I+1LoopPrint"1+2+3+……+100=",SEndSub例題2-2用Do語句計算1+…+100PrivateSubForm_Click()

DimSAsInteger,IAsIntegerS=0I=0DoS=S+II=I+1LoopWhileI<=100Print"1+2+3+……+100=",SEndSub例題2-3用Do語句計算1+…+100PrivateSubForm_Click()

DimSAsInteger,IAsIntegerS=0I=0DoUntilI>100S=S+II=I+1LoopPrint"1+2+3+……+100=",SEndSub例題2-4用Do語句計算1+…+100PrivateSubForm_Click()

DimSAsInteger,IAsIntegerS=0I=0DoS=S+II=I+1LoopUntilI>100Print"1+2+3+……+100=",SEndSub趣味問題1有一箱球(1到100個),如果一次數4個則余2個,一次數5個則余3個,一次數6個正好,問有多少個球?

無論是For循環還是Do循環,它們的循環體中還再次可以包含循環語句,這樣就形成了循環嵌套(也叫多重循環)。在VB中,For循環和Do循環可以互相嵌套。5循環嵌套

循環嵌套的結構

內層循環必須完整地嵌套在外層循環之內,即內層循環是外層循環體的一部分,內外層循環不能交叉。例如:

循環嵌套的執行過程

多重循環的執行由里向外展開,即先執行內層循環,再執行外層循環。例如,一個三重循環的執行過程與鐘表的秒針、分針和時針的運轉類似。5循環嵌套以下程序段,每層循環各執行多少次?寫出運行結果。

ForI=1To3Print"######"ForJ=1To2Print"@@@@@@" NextJNextI5循環嵌套分析

■根據前面的經驗,計算階乘可以用循環結構完成,計算階乘的累加和也可以使用循環結構完成。

■構造兩重循環,外層循環實現累加,完成和的計算;內層循環實現累乘,完成階乘的計算。例題3:計算S=1!+2!+3!+……+20!VB程序設計基礎課件例題3計算S=1!+2!+……+20!PrivateSubForm_Click()

DimSAsSingle,tempAsSingleDimIAsInteger,JAsIntegerS=0ForI=1To20

temp=1ForJ=1ToI

temp=temp*JNextJS=S+tempNextIPrint"1!+2!+……20!=",SEndSubVB程序設計基礎課件6循環語句使用舉例例題4:找出100~999之間的所有水仙花數。所謂水仙花數,是指這樣三位數:它的各位數字的立方和等于它本身。例如:407=43+03+73

。例題5:編程輸出乘法口訣例題4找出所有的水仙花數PrivateSubForm_Click()DimIAsInteger,aAsIntegerDimbAsInteger,cAsIntegerForI=100To999

a=I\100b=(I-100*a)\10c=I-100*a-10*b

IfI=a^3+b^3+c^3ThenPrintINextIEndSub例題5輸出乘法口訣—1PrivateSubForm_Click()Dimi%,j%Fori=1To9 Forj=1Toi Printi*j; Nextj PrintNextiEndSubPrivateSubform_Click()ForI=1To9ForJ=1ToI

PrintI;"*";J;"=";I*J;

'不換行NextJ

Print'換行NextIEndSub例題5輸出乘法口訣—2例6輸出圖形PrivateSubpicture1_Click()Picture1.Cls'清除圖片框

n=Val(InputBox("請輸入行數"))

Fori=1Ton Picture1.PrintTab(n+1-i);'控制打印起點

Forj=1To2*i-1 Picture1.Print"*";

Nextj Picture1.Print

Nex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論