1

我正在從HtDP(如何設計程序)做幾個練習,而我有點卡在布爾比較問題上。它是這樣的。布爾比較

(define b1 true) 

    (define b2 false) 

編寫一個計算b1是否爲false且b2爲真的表達式。如果虛假產生否,反之亦然。

現在這是我想出了:

(and b1 true) => true 

(無恥,但我知道我是新在此,我要趕上速度很慢。)

任何幫助你可以給我會比賽讚賞。

感謝

回答

2

這是非常簡單的翻譯的問題成代碼。作爲第一種方法,讓我們逐字複製的問題在僞代碼:

(b1 == false) AND (b2 == true) 

現在,你怎麼會寫在方案上面?記住,計劃使用前綴符號

(<???> (<???> b1 false) (<???> b2 true)) 

隨着越來越多的實踐了一下,相同的代碼可以更簡潔的寫成這樣(再次,第一僞代碼):

NOT b1 AND b2 

應該是足夠簡單寫入方案:

(<???> (<???> b1) b2) 
0

不知道這是寫作表達的HTDP方式,但你可以寫一個簡單的事實表,發現布爾表達式:

B1 | b2 | Y

0 | 0 | 0

0 | 1 | 1

1 | 0 | 0

1 | 1 | 0

因此Y =(NOT B1)和B2 => TRUE