算子operator)喺電腦編程上係指一隻程式語言入面行為似函數噉嘅嘢,例如「」或者「比較兩個數嘅大細」呀噉。

「砌」算子

編輯

喺程式語言嘅設計(睇程式語言理論)上,比較複雜嘅算子通常都有得由簡單啲-或者「基礎」啲-嘅算子嗰度「砌」出嚟;舉個簡單例子,想像家陣一隻程式語言要有陳述式嚟做「比較兩個數值」嘅運算-需要用到 =等如)、>(大過)、<(細過)、>=(大過或者等如)... 等等嘅算子,查實呢啲算子冚唪唥都可以齋靠 < 就砌到嗮出嚟[1]

  • 假設家陣款語言經已
    1. 能夠理解到乜嘢係 <(細過;lessThan)同 not邏輯非),
    2. 識得做 if... then... 噉嘅條件陳述式,同埋
    3. 處理到布林(真定假)嘅輸入輸出
  • >=(大過或者等如)可以定義做:
     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 = agreaterThanOrEqualTo(a, b)(上面定義咗)會出 1(真),而跟住 greaterThanOrEqualTo(b, a) 又會出 1,於是 return greaterThanOrEqualTo(b, a) 就會令個子程序會出 1,如果 greaterThanOrEqualTo(a, b) 或者 greaterThanOrEqualTo(b, a) 是但一個出 0(假),噉成個子程序就會出 0

... 如此類推。

睇埋

編輯
  1. Iverson, K. E. (1962, May). A programming language (PDF). In Proceedings of the May 1-3, 1962, spring joint computer conference (pp. 345-351).