作者saharara (try it)
看板Visual_Basic
標題[VB6 ] 很玄!! 百思不得其解
時間Mon Aug 1 17:44:13 2011
小弟是程式新手 從這個暑假開始自學VB試著寫演算法
最近完成一個模擬退火法用來求解排程問題
在執行我設定的例題求解的時候
發現一個很玄的問題 ...
就是我只要在表單上隨便 print一個我演算裡計算的值(本來是用來檢查跑的過程用的)
print任何一個值或著print我設的一個記數的參數在計算演算法的迭代次數時
演算法在同樣例題都會跑出較好的解!!
而只要表單上都不print任何的值 (run的速度會快一些)
跑出的結果就會比較差一點...
我知道說了大概會有人覺得很瞎!! 但還是想要分享一下我這個發現...
因為我只是print一個值 不可能會影響程式的運算吧
不知各位先進知道是什麼原因嗎...
--
這個世界什麼都是障眼法 ...
你看到的未必是真 ...
而真的你又未必看得到 !!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.74.222
1F:→ MOONRAKER:請愛用textbox輸出,不要再用print了。 08/01 18:11
2F:推 Fong1223:printf("QQ"); 08/02 00:23
3F:推 JacobTai:程式裡面有呼叫ocx or dll or class? 08/02 02:56
4F:→ saharara:回M大 我用print印值 只是在檢查運算過程有沒有錯 08/02 11:45
5F:→ saharara:回F大 不知道您print"QQ" 是什麼意思? 08/02 11:46
6F:→ saharara:回J大 都沒有呼叫您說的那些東西 08/02 11:47
7F:→ MOONRAKER:print已經上古遺跡了 頂多用debug.print 08/02 12:37
8F:→ MOONRAKER:上古的東東有一些靈異現象也是正常的 08/02 12:37
9F:→ JacobTai:試試看把那行 print 換成 doevents 在比比看結果 08/02 12:48
10F:→ saharara:J大 不好意思!! 不懂您說改成Doevents 該怎麼做? 08/02 17:51
11F:→ saharara:雖然不知道F大的意思 不過我真的就隨便print個字串"QQ" 08/02 17:55
12F:→ saharara:在我表單上 我是寫在迴圈內 讓他隨著運算印出一整排 08/02 17:56
13F:→ saharara:結果得到的解 也會比什麼都不印的好 真的怪哉!! 08/02 17:57
14F:→ s3748679:貼個程式碼? 08/02 23:20
15F:→ JacobTai:就把你原本的 print "QQ" 換成 doevents 08/03 09:52
16F:→ saharara:print 為什麼會這麼玄阿!! 08/08 12:48
17F:→ saharara:回J大 我換成Doevents 解真的就變差了!! 08/08 12:49
18F:→ MOONRAKER:所以說不要用啦 這種上古留下來的黑盒子指令(command) 08/08 13:59