2

我想知道在编程之外使用三元运算符。例如,在那些 CS 学位所需的讨厌的微积分课程中。一个人可以用这样的三元运算符描述双曲函数吗: 1/x ?1/x:无穷大;这假设 x 是一个正浮点数并且应该说如果 x != 0 则函数返回 1/x,否则返回无穷大。这会规避对限制的全部需求吗?

4

2 回答 2

1

对于具体问题,我并不完全确定,但是是的,三元组可以回答任何以“if/else”或“if and only if, else”形式提出的问题。然而,传统上,数学不是以具有任何实际流量控制的条件格式编写的。'if' 和其他流程控制机制让代码以不同的方式执行,但对于大多数数学,流程是相同的;只是结果不同。

于 2012-09-12T18:23:50.957 回答
1

在数学上,任何运算符都可以等效地描述为一个函数,如a + b = add(a,b); 请注意,编程也是如此。在任何一种情况下,二元运算符都是描述两个参数的函数的常用方法,因为它们很容易阅读。

三元运算符更难阅读,相应地也不太常见。但是,由于数学排版不限于一维文本字符串,因此许多数学运算符具有很大的元数——例如,一个定积分可以说有 4 个参数(开始、结束、被积函数和微分)。


回答您的第二个问题:不,这并没有规避限制的需要;您可以很容易地说替代方案是42而不是infinity.

我还要提一下,您的示例与三元运算符1/x的编程用法并不真正匹配。?:请注意,这1/x不是布尔值;看起来您正在尝试使用?:来处理类似异常的条件,这将更适合 try/catch 表单。

另外,当您说“这假定 x 是正浮点数”时,读者应该如何知道这一点?您可能还记得有一种数学符号可以通过从上面指示极限来解决这个特定问题......

于 2012-09-12T18:27:54.113 回答