1

HtDP (How to Design Programs)에서 몇 가지 연습을하고 있으며 부울 비교 질문에 매달려 있습니다. 그것은 이렇게 간다.부울 비교

(define b1 true) 

    (define b2 false) 

b1이 거짓인지 b2가 참인지 계산하는 표현식을 작성하십시오. false의 경우는 No, 그 반대의 경우는 false를 돌려줍니다.

는 지금이 내가 가지고 올 한 모든입니다 :

(and b1 true) => true 

(뻔뻔 내가 아는하지만이에 새로운 오전 그리고 난에 잡을 정말 느린입니다.)

당신이 할 수 어떤 도움을 나에게 감사해라.

감사

답변

2

그것은 코드로 질문을 번역하는 매우 간단합니다. 첫 번째 방법으로,의 의사 코드에 그대로 질문을 복사하자

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

, 당신은 어떻게 위의 계획에 쓴다?

NOT b1 AND b2 

충분히 간단해야하는 : 기억, 계획은이 (다시, 첫 번째 의사에하는)처럼, 같은 코드를보다 컴팩트하게 쓸 수있는 연습을 좀 더 접두사 표기법

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

를 사용 구성표에 쓰기 :

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

이 쓰는 식의 HTDP의 방법이지만, 간단한 진실 테이블을 작성하고 부울 표현식 찾을 수 있는지 확실하지 :

B1을 | b2 | Y

0 | 0 | 0

0 | 1 | 1

1 | 0 | 0

1 | 1 | 0

따라서 (B1 NOT) 및 B2 Y = => TRUE