作者TrueFeeling (昨日之死)
看板Visual_Basic
標題Re: [VB6 ] 計算機
時間Sat Jun 11 13:29:27 2005
※ 引述《fumizuki (小獅子)》之銘言:
: ※ 引述《TrueFeeling (昨日之死)》之銘言:
: : 如果Eval(op1)和Eval(op2)的裡面還有運算子的時候,
: : 例如:
: : Eval(2-3*5+7/5-9)=Eval(2-3*5)+Eval(7/5-9)
: : 那麼這兩個分割後的Eval函數,
: : 要在什麼地方繼續分割呢?(因為已經Goto EndProc了)
: 你的問題大概是
:
: Eval = Eval(op1) + Eval(op2): Goto EndProc 這一行吧
:
: 這是兩行敘述,第一行執行時會去呼叫 Eval,
: op1 和 op2 那兩個 Eval 都「執行完成」的時候,才會 Goto EndProc
^^^^^^^^^^^
怎麼樣算是執行完成呢@@"
:
: : ^^^^^^^^^^^^
: : ^^^^^^^^^^^^
: : ^^^^^^^^^^^
: : ^^^^^^^^^^^^
: : 優先等級這裡有疑問,依照你程式的寫法
: : 我的解讀是:
: : 先用+號將字串分割成前段和後段,然後每一個分割後的字串依此繼續分割
: : 當分割完的函數裡面沒有+號的時候才會-號,再來是乘號,再來是除號
: : ,所以優先等級我看不懂你說最高和最低是什麼意思
: 先乘除後加減啊
:
: 乘除優先運算,加減最後運算,這數學規則應該知道吧
嗯,知道
:
: 因為最先進入的程式是最後才會結束的,所以要倒過來,變成加減先處理,再處理乘除
:
: 至於乘與除先後順序不會影響結果,加與減也是...
可是為什麼乘最高,其他最低呢?
我覺得應該是類似這樣吧:
最高-次高-低-最低
: : 是什麼東西讓c=1的呢?我一直找不到 = =
: 前面翻翻程式碼吧
:
: 最開頭就寫了個 c = c + 1 了
嗯,這個我有看到,想問一下如果不設這個c的話,
方程式還可以運作嗎?為什麼?
: : 嗯嗯,這段我了解了原來p是承接上面 p=2 Else p=1 的p沒錯
: : 是喔,呼叫可以這樣用@@||(驚!!)
: 不然你以為是怎麼用@@?
我以為輸入和輸出要分開,沒想到你居然把它合在一起
嗯嗯,高手高手^^||
: 呼叫就是這樣子用的@@"
嗯,我又學到了一招^^
: : 但是依照程式裡面op1的定義是:
: : op1 = Left(s, p - 1)
: : 所以這樣來說,感覺實際上是兩個變數,只是因為前一個用完,後面一個重新定義的樣子
: op1 有兩個地方在使用它,兩個地方並不會衝突,用過了後就不再使用了...
--
少年讀書,如隙中窺月;
中年讀書,如庭中望月;
老年讀書,如臺上玩月。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.159.236