布尔比较
问题描述:
我正在从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