作者yetta2011 (加油!)
看板Visual_Basic
標題[VB6 ] 兩個重複結構(Loop)的問題
時間Sun May 27 21:41:11 2012
(1)請問重覆結構(Loop) Num=Num+A+B與 B=B-3之程式碼會被執行幾遍?
Dim A as integer
Dim B as integer
Dim Num as long
A=36
Num=0
Do While A >=0
B=27
DO While B >=0
Num=Num+A+B
B=B-3
Loop
If A>=18 Then
A=A-2
Else
A=A-1
End If
Loop
我同學寫 (1) [(36-18)/2 + 1 +(16+1)]*10 = 270 次
但我在算的時候 [(36-18)/2 + 1 +(16+1)]*11 = 385 次
差在B的部分 當A=36 B=27 NUM=0
=24
=21
.
.
.
.
.
=3
=0
差在這裡 =-3 為什麼-3不用算進去呢?
=34 =27
.
.
.
.
.
我同學提早畢業了
所以不能問她~"~
幫我解答一下 謝謝~~!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.192.28.169
1F:→ MOONRAKER:……為什麼-3會算進去。 05/28 00:29
2F:推 chrisjon:當B大於等於0時才執行,-3不符合,所以不會執行 05/28 21:10
3F:→ yetta2011:謝謝~~是我搞錯了(因為老師的例題有執行到負數,我以為 05/29 05:13
4F:→ yetta2011:還要在往後一個才對,但重看例題發現負數那個執行結果和 05/29 05:14
5F:→ yetta2011:前一次相同) 謝謝囉~~ 05/29 05:15
6F:→ MOONRAKER:超過重覆條件的那一次只會跑到判斷,不視為執行,因為 05/29 19:27
7F:→ MOONRAKER:迴圈內的東東沒跑到(事實上真的沒跑到)。 05/29 19:28