1
今天,我讀的書「一個溫柔的介紹符號計算」,我得到了鍛鍊4.29。 這聽起來像這樣:「編寫LOGICAL-AND的版本,並使用IF和COND而不是AND。」可互換條件語句
這是如何在原始文本中定義:
(defun logical-and (x y) (and x y t))
這就是我如何與COND定義它,如果:
(defun logical-and (x y)
(cond ((and x y) t)
(t nil)))
(defun logical-and (x y)
(if (and x y) t nil))
這是他們是如何的答案定義練習
(defun logical-and (x y)
(cond (x (cond (y t)))))
(defun logical-and (x y)
(if x (if y t)))
所以問題是所有這些定義是否相等?
我覺得當時的想法是不要使用「與」不惜一切 - 這樣你的答案是沒有什麼要求。 –
我想是這樣,但畢竟這些版本我想知道他們是否相等 – Gorozhin
你可以很容易地發現自己:爲每個函數寫一個真值表。嘗試所有可能的輸入(不是很多),計算結果並比較... –