- 帖子
- 523
- 主題
- 56
- 精華
- 0
- 積分
- 601
- 點名
- 82
- 作業系統
- win 10
- 軟體版本
- []
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-3-19
- 最後登錄
- 2025-4-8
           
|
6#
發表於 2015-12-6 10:22
| 只看該作者
回復 4# drgv11
Do ... Loop 舉例演示:- Option Explicit
- Sub DoLoopTest()
- Dim a#, b#, h#
- Dim Rad#, c#
- Dim iter%, IterMax%
- Const e = 0.00000001 '誤差許可值
- Const Pi = 3.14159265358979
- IterMax = 500 '最高搜尋迭代數
- Rad = Pi * 45 / 180
- a = 100 '初始值
- h = 5 '初始搜尋步長
- Do
- b = a * Sin(Rad) - 20
- If Abs(b) < e Then Exit Do '浮點數運算很難得到完全相等
- If b > 0 Then
- a = a - h
- Else
- h = h * 0.5
- a = a + h
- End If
- iter = iter + 1
- Loop While iter < IterMax '無解時可以跳出 迴圈
- Debug.Print
- Debug.Print " iter = " & iter
- Debug.Print "Ans. a = " & a
- Debug.Print " h = " & h
- End Sub
複製代碼 |
|