算子 (編程)
「砌」算子
編輯睇埋:程式語言理論
喺程式語言嘅設計(睇程式語言理論)上,比較複雜嘅算子通常都有得由簡單啲-或者「基礎」啲-嘅算子嗰度「砌」出嚟;舉個簡單例子,想像家陣一隻程式語言要有陳述式嚟做「比較兩個數值」嘅運算-需要用到 =
(等如)、>
(大過)、<
(細過)、>=
(大過或者等如)... 等等嘅算子,查實呢啲算子冚唪唥都可以齋靠 <
就砌到嗮出嚟[1]:
- 假設家陣款語言經已
>=
(大過或者等如)可以定義做:public static boolean greaterThanOrEqualTo(int a, int b) { return not(lessThan(a, b)); }
- 如果
a < b
,噉lessThan(a, b)
會出1
(真),而return not(lessThan(a, b))
會跟住令呢個子程序會出0
,而噉就定義到>=
-因為a < b
就表示「a >= b
」係假。
- 而
=
(等如)就可以噉樣定義:public static boolean equalTo(int a, int b) { if (greaterThanOrEqualTo(a, b)) return greaterThanOrEqualTo(b, a); else return false; }
- 如果
b = a
,greaterThanOrEqualTo(a, b)
(上面定義咗)會出1
(真),而跟住greaterThanOrEqualTo(b, a)
又會出1
,於是return greaterThanOrEqualTo(b, a)
就會令個子程序會出1
,如果greaterThanOrEqualTo(a, b)
或者greaterThanOrEqualTo(b, a)
是但一個出0
(假),噉成個子程序就會出0
。
... 如此類推。
睇埋
編輯攷
編輯- ↑ Iverson, K. E. (1962, May). A programming language (PDF). In Proceedings of the May 1-3, 1962, spring joint computer conference (pp. 345-351).