添加的内容 删除的内容
无编辑摘要 |
小 (→参考文献:20) |
||
(未显示4个用户的7个中间版本) | |||
第1行: | 第1行: | ||
{{Program execution}} |
|||
#REDIRECT [[算子_(編程)]] |
|||
'''算子'''或'''运算符'''('''operator''')在[[电脑编程]]上是指一种[[程式语言]]里面行为类似[[函数]]的东西,他们可以进行诸如“[[加]][[減]]”(+和-)或者“比较两个数的大小”(<和>)以及[[邏辑运算符|逻辑运算]]等运算。编程语言通常内置一组运算符,某些情况下用户可以为现有的运算符添加新的含义,甚至定义全新的运算符。 |
|||
{{簡繁重定向}} |
|||
== “砌”算子 == |
|||
{{See also|程式语言理论}} |
|||
在程式语言的设计([[程式语言理论]])中,比较[[复杂]]的算子通常都有是由简单或者“基础”的算子“砌”出来;举个简单例子,想像现在一只程式语言要通过[[陈述式语句]]来进行“[[不等式|比较两个数值]]”的运算-需要用到 <code>=</code>([[等于]])、<code>></code>(大于)、<code><</code>(小于)、<code>>=</code>(大于或者等于)... 等算子,其实这些算子都可以靠 <code><</code> 就可以砌出来<ref>Iverson, K. E. (1962, May). [https://dl.acm.org/doi/pdf/10.1145/1460833.1460872 A programming language] (PDF). In ''Proceedings of the May 1-3, 1962, spring joint computer conference'' (pp. 345-351).</ref>: |
|||
* 假设现在的编程语言 |
|||
*# 能够理解到什么是 <code><</code>(小于;<code>lessThan</code>)与 <code>not</code>([[邏辑非]]), |
|||
*# 知道 <code>if... then...</code> 这样的[[条件陈述式]],以及 |
|||
*# 能处理[[布林 (资料类型)|布林]](真和假)的[[输入]][[输出]]; |
|||
* <code>>=</code>(大于或者等于)可以定义为: |
|||
*: <syntaxhighlight lang="c"> |
|||
public static boolean greaterThanOrEqualTo(int a, int b) { |
|||
return not(lessThan(a, b)); |
|||
} |
|||
</syntaxhighlight> |
|||
*: 如果 <code>a < b</code>,name <code>lessThan(a, b)</code> 会输出 <code>1</code>(真),而 <code>return not(lessThan(a, b))</code> 那么这个程序就会输出 <code>0</code>,这样就定义了 <code>>=</code>-因为<code>a < b</code> 就表示“<code>a >= b</code>”为假。 |
|||
* 而 <code>=</code>(等如)也可以这样定义: |
|||
*: <syntaxhighlight lang="c"> |
|||
public static boolean equalTo(int a, int b) { |
|||
if (greaterThanOrEqualTo(a, b)) |
|||
return greaterThanOrEqualTo(b, a); |
|||
else |
|||
return false; |
|||
} |
|||
</syntaxhighlight> |
|||
*: 如果 <code>b = a</code>,<code>greaterThanOrEqualTo(a, b)</code>(上面定义了)会出 <code>1</code>(真),而接下来 <code>greaterThanOrEqualTo(b, a)</code> 又会输出 <code>1</code>,于是 <code>return greaterThanOrEqualTo(b, a)</code> 就会让这个程序输出 <code>1</code>,如果 <code>greaterThanOrEqualTo(a, b)</code> 或者 <code>greaterThanOrEqualTo(b, a)</code> 输出的是 <code>0</code>(假),那么这个程序就会输出 <code>0</code>。 |
|||
... 如此类推。 |
|||
== 参考文献 == |
|||
{{reflist}} |
|||
[[Category:程序设计语言]] |
|||
[[Category:运算符(编程)]] |