Question: SICP HW box-and-pointer diagrams Ben decides to write a procedure to count the number of pairs in any list structure. It's easy, he reasons. The

SICP HW box-and-pointer diagrams

Ben decides to write a procedure to count the number of pairs in any list structure. It's easy, he reasons. The number of pairs in any structure is the number in the car plus the number in the cdr plus one more to count the current pair. So Ben writes the following procedure:

(define (count-pairs x) (if (not (pair? x)) 0 (+ (count-pairs (car x)) (count-pairs (cdr x)) 1)))

Show that this procedure is not correct. In particular, draw box-and-pointer diagrams representing list structures made up of exactly three pairs for which Ben's procedure would (1) return 3; (2) return 4; (3) return 7; (4) never return at all. The following example is the answer for (1) return 3; You are requested to draw for the case of 4, 7, and never return at all

SICP HW box-and-pointer diagrams Ben decides to write a procedure to count

(1) CASE: return 3

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!