79-ExcelVBA 區別 Do Loop循環語句的兩種狀態四種形式看過來!

今天將一下,Do Loop循環語句

Do Loop循環語句是根據條件決定循環的語句,其構造形式相對靈活,可以指定循環執行的條件,也可以指定循環終止的條件。

1

當循環

當循環的第一種形式:

Do [While 條件表達式]

語句塊 (循環體)

Loop

當循環的第二種形式:

Do

語句塊 (循環體)

Loop While 條件表達式

兩種形式共同特點是:

當每次計算“條件表達式”的值為True或為非零數值時,循環執行“語句塊”;

當“條件表達式”值為False或零值時,跳出循環,執行Loop語句後別的語句。

二者不同的是:

第一種形式,如果條件表達式第一次計算“條件表達式”就為False,則“語句塊”不會被執行;

第二種形式中,條件測試在後,所以“語句塊”至少被執行一次。

直到型循環

直到型循環的第一種形式:

Do Until (條件表達式)

語句塊 (循環體)

Loop

直到型循環的第二種形式:

Do

語句塊 (循環體)

Loop Until 條件表達式

直到型循環與當循環不同點是:

當每次計算“條件表達式”的值為False或零數值時,循環執行“語句塊”;

當“條件表達式”值為True或非零值時,跳出循環,執行Loop語句後別的語句。

直到型循環的兩種不同形式的區別和當循環相同點:

第一種形式中的“語句塊”有可能一次都不被執行到;

第二種形式中的“語句塊”至少被執行一次。

下面我們通過“求最大公約數的程序”幫助大家更深刻的理解Do Loop循環的知識。

所謂公約數,就是能夠同時被若干個整數整除的數。而這些數中最大的那個,就叫做最大公約數(greatest common divisor,簡稱gcd)。

求解最大公約數的算法就是歐幾里得提出的輾轉相除法。

實際應用程序:輸入兩個正整數,求它們的最大公約數。

實現過程分析:

在VB中通過輸入對話框的形式得到求解公約數的兩個整數,然後應用輾轉相除法,利用今天介紹的Do Loop循環語句編寫代碼即可。

程序代碼

Private Sub Form_Click()

Dim m%,n%,r%,t%

m=InputBox(″請輸入第1個整數″)

n=InputBox(″請輸入第2個整數″)

If m<n Then t=m:m=n:n=t

Do

r=m Mod n

m=n

n=r

Loop Until r=0

Print ″最大公約數是:″;m

End Sub


分享到:


相關文章: