查看單個文章
舊 2017-11-24, 06:31 AM   #7 (permalink)
魔術王子
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:39 | 在線時長:1728小時 | 升級還需:32小時級別:39 | 在線時長:1728小時 | 升級還需:32小時級別:39 | 在線時長:1728小時 | 升級還需:32小時級別:39 | 在線時長:1728小時 | 升級還需:32小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 2480
精華: 0
現金: 12657 金幣
資產: 2676217 金幣
預設

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

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

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

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

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

只要先把這三個要點先匡出來
邏輯就會簡單多了
我是求好心切的人,所以寫程式都很隨興,很少在引用理論
等到程式寫好與原版仍有一段差距時,才會思考理論原理
這些理論,我真的沒想過,所以會思考看看,謝謝
__________________
魔術就是欣賞神奇的效果
如果魔術的秘密被破解了
那魔術就失去欣賞的價值
魔術王子 目前離線  
送花文章: 1347, 收花文章: 1419 篇, 收花: 3679 次
回覆時引用此帖