While-Wend迴圈

今天我們要來練習While-Wend迴圈

While-Wend能夠判別判斷是是否成立,如果成立的話就會執行敘述

為什麼不直接用For-Next?

For-Next是「計次」迴圈,如果你不知道迴圈要執行的次數,根本就沒有辦法用

但While-Wend就不一樣了,它是在執行迴圈前,先判別條件式後,如果成立,就執行敘述區塊,不成立,直接跳出迴圈

While-Wend格式如下:

While 條件式

敘述區塊

Wend

舉個例子吧!

I = 1
While I <= 10
    Print I
    I = I + 1
Wend

上面的程式,I一開始會等於1,然後進入While-Wend迴圈(因為,1<=10)

接著輸出I的值(Print I),也就是輸出1

然後將I+1後又存到I(I = I + 1),即I=1+1=2

再來回到While判別條件式,I=2,2<=10,成立!

然後輸出I的值(Print I),也就是輸出2

然後將I+1後又存到I(I = I + 1),即I=2+1=3

再來回到While判別條件式

就這樣一直反覆後,到了 I=10 …

I=10,10<=10,成立!

然後輸出I的值(Print I),也就是輸出10

然後將I+1後又存到I(I = I + 1),即I=10+1=11

回到While判別條件式,I=11,11<=10,成立!!

不成立的話,會立刻跳出迴圈,也就是不會執行Print I和I = I + 1,所以表單上不會輸出11,只有1~10

當然,這與我們先前教過的利用For-Next顯示1~10一樣,程式碼如下:

For I = 1 To 10
    Print I
Next I

你又會發現一件事,用For-Next寫出來的程式碼怎麼比較少啊!

因此,我們可以知道,如果已知迴圈的執行次數時,用For-Next會比較方便

我們再舉一個While-Wend的例子吧

N = 0
While 2 ^ N < 1024
    N = N + 1
Wend
Print "1024是2的"; N; "次方"

這是一個方便的程式,能夠判斷某數是2的多少次方

來講解一下

N一開始為0(N = 0,其實這行可以省略,因為N的初始值就是0)

接著進入While迴圈,2的0次方等於1,1<1024,成立!

接著N=N+1,即N=0+1=1

然後回到While判別式,2的1次方等於2,2<1024,成立!

接著N=N+1即N=1+1=2

然後一直這樣循環

到了N=9的時候

2的9次方=512,512<1024,成立!

接著接著N=N+1即N=9+1=10

然後回到While判別式,2的10次方等於1024,1024<1024,成立!,1024應等於1024,不應小於

所以會立刻跳出迴圈,執行「Print “1024是2的”; N; “次方”」

就會輸出「1024是2的 10 次方」

怎麼樣? VB好用吧!

.

While-Wend也常應用在連續性資料輸入上面,輸入某數就跳出迴圈,舉個例子:

1
2
3
4
5
6
X = InputBox("請輸入指令")
While X <> "exit" And X <> "quit"
    MsgBox "您輸入了" & X
    X = InputBox("請輸入指令") '繼續讀取資料
Wend
MsgBox "您輸入了" & X & ",結束程式!"

X的值可以讓使用者自由輸入,如果使用者輸入1,那X<>exit和X<>quit就成立!(X=1,1不等於exit和quit)

接著跳出訊息方塊「您輸入了1」,然後繼續要求使用者輸入X的值

如果X=exit那X<>exit和X<>quit就成立(X不等於quit但等於exit,可是條件式要兩個都不等於)

所以會立刻跳出迴圈,並執行迴圈外下一行的程式,所以會跳出訊息方塊「您輸入了exit,,結束程式!」

.

基本上While-Wend迴圈的用法就是這樣,計次寫法能跟For-Next互相轉換,不過While-Wend是While-Wend,For-NextFor-Next,兩者都很重要,都要會喔!!

本篇文章就到此結束了!

文章分類:VB6.0|標籤:,

迴響已關閉