我正在從HtDP(如何設計程序)做幾個練習,而我有點卡在布爾比較問題上。它是這樣的。布爾比較
(define b1 true)
(define b2 false)
編寫一個計算b1是否爲false且b2爲真的表達式。如果虛假產生否,反之亦然。
現在這是我想出了:
(and b1 true) => true
(無恥,但我知道我是新在此,我要趕上速度很慢。)
任何幫助你可以給我會比賽讚賞。
感謝
我正在從HtDP(如何設計程序)做幾個練習,而我有點卡在布爾比較問題上。它是這樣的。布爾比較
(define b1 true)
(define b2 false)
編寫一個計算b1是否爲false且b2爲真的表達式。如果虛假產生否,反之亦然。
現在這是我想出了:
(and b1 true) => true
(無恥,但我知道我是新在此,我要趕上速度很慢。)
任何幫助你可以給我會比賽讚賞。
感謝
這是非常簡單的翻譯的問題成代碼。作爲第一種方法,讓我們逐字複製的問題在僞代碼:
(b1 == false) AND (b2 == true)
現在,你怎麼會寫在方案上面?記住,計劃使用前綴符號
(<???> (<???> b1 false) (<???> b2 true))
隨着越來越多的實踐了一下,相同的代碼可以更簡潔的寫成這樣(再次,第一僞代碼):
NOT b1 AND b2
應該是足夠簡單寫入方案:
(<???> (<???> b1) b2)
不知道這是寫作表達的HTDP方式,但你可以寫一個簡單的事實表,發現布爾表達式:
B1 | b2 | Y
0 | 0 | 0
0 | 1 | 1
1 | 0 | 0
1 | 1 | 0
因此Y =(NOT B1)和B2 => TRUE