查看單個文章
舊 2017-11-23, 09:51 PM   #6 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時級別:97 | 在線時長:9867小時 | 升級還需:129小時
註冊日期: 2002-12-07
文章: 13345
精華: 0
現金: 26456 金幣
資產: 3024316 金幣
預設

多重迴圈 解析 語法
有可能會牽扯到
遞迴 與 推疊
前陣子研究一個排列組合法
當時就用到 遞迴函式
因為太久沒用過
害腦子混了好久才寫出來

之前是參考別人的多重迴圈
想說把它解析一下應該就可以
但結果就此陷入好幾天的邏輯錯亂
後來一直用跑除錯方式才改出來
結果
遞迴函式才沒幾行(簡簡單單的說)
一個簡單的經驗(設計概念)提供一下

1.函式開頭要有個結束條件 (必須放在開頭)
比如
If Lv=0 Then
...
Exit Sub
End If

2.再來接著的就是寫一個單一迴圈, 裡面有個呼叫自己的式子
比如
For i=a To N
...
呼叫自己()
...
Next

3.重點是 呼叫自己()使用的引數 要清楚了解 那些必須是傳址 那些是傳值就好 (盡量避免用全域變數設計)

只要先把這三個要點先匡出來
邏輯就會簡單多了
mini 目前離線  
送花文章: 2013, 收花文章: 8003 篇, 收花: 26807 次
回覆時引用此帖
向 mini 送花的會員:
魔術王子 (2017-11-23)
感謝您發表一篇好文章