2012-09-12 38 views
1

我想知道在編程之外使用三元運算符。例如,在CS學位所需的那些煩人的微積分課程中。一個人可以像這樣用三元運算符來描述類似雙曲函數的東西: 1/x? 1/x:無窮大; 這假設x是一個正浮點數,應該說如果x!= 0,那麼函數返回1/x,否則返回無窮大。這是否會繞過對整個極限的需求?微積分三元運算符類

+0

一個符號如何避免需要限制? –

+0

我想你的意思是'x? 1/x:infinity'而不是'1/x? 1/x:無窮大「。 –

回答

1

我對於具體問題並不完全確定,但是是的,三元組可以回答任何構成'if/else'或'if and only if,else'的問題。然而,傳統上,數學不是以任何實際流量控制的條件格式編寫的。 'if'和其他流程控制機制讓代碼以不同的方式執行,但在大多數數學中,流程是相同的;只是結果不一樣。

1

在數學上,任何操作符都可以等效地描述爲一個函數,如a + b = add(a,b);請注意,編程也是如此。在任何一種情況下,二元運算符都是描述兩個參數函數的常用方法,因爲它們很容易以這種方式讀取。

三元運算符更難以閱讀,並且它們相應地較不常見。但是,由於數學排版並不侷限於一維文本字符串,因此許多數學運算符都具有很大的靈活性 - 例如,一個確定的積分可以有4個參數(開始,結束,積分和差分)。


回答你的第二個問題:不,這不會規避限制的需要;你可以簡單地說,替代方案是42而不是infinity

我還會提及您的1/x示例無論如何都不符合?:三元運算符的編程用法。請注意,1/x不是布爾值;它看起來像你試圖使用?:來處理異常狀況,這將更適合try/catch形式。

另外,當你說「這個假設x是一個積極的浮動」時,讀者應該怎麼知道這個?您可能還記得,有數學符號通過指明上述限制來解決這個特定問題。......

+0

我想我明白了,你說三元運算符會是多餘的,因爲它會根據函數的參數確定函數的值,當函數本身已經在做什麼的時候。 – user1444872

+0

總結我的意思:1)運算符只是函數的寫法不同,數學運算就像計算機語言一樣使用三元和更高級的運算符; 2)關於限制的問題的答案是「否」,在這種情況下,你的例子沒有任何意義。 – comingstorm