作者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