Đang chuẩn bị liên kết để tải về tài liệu:
How to Design Programs phần 3

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

Ví dụ, một chức năng có thể tiêu thụ một hồ sơ về đĩa CD, các thông tin có liên quan có thể bao gồm tên của nghệ sĩ, tiêu đề CD, và giá cả. Tương tự như vậy, nếu chúng ta muốn mô hình chuyển động của một đối tượng trên một mặt phẳng với một chức năng, chúng ta phải đại diện cho vị trí của đối tượng trong máy bay | . first rest a-list-of-3-numbers . . first rest rest a-list-of-3-numbers . The three expressions remind us that the input called a-list-of-3-numbers contains three components and how to extract them. Exercise 9.1.2. Let i be the list cons 10 cons 20 cons 5 empty What are the values of the following expressions 1. rest l 2. first rest l 3. rest rest l 4. first rest rest l 5. rest rest rest l Exercise 9.1.3. Finish the development of add-up-3 that is define the body and test the complete function on some examples. A list of three numbers is one possible representation for 3-dimensional points. The distance of a 3-dimensional point to the origin of the coordinate grid is computed in the same manner as that of 2-dimensional point by squaring the numbers adding them up and taking the square root. Use the template for add-up-3 to develop distance-to-0-for-3 which computes the distance of a 3-dimensional point to the origin. V A Exercise 9.1.4. Provide a data definition for lists of two symbols. Then develop the function contains-2-doll which consumes a list of two symbols and determines whether one of them is doll. On the Precise Relationship between Cons and Structures The discussion of cons first and rest suggests that cons creates a structure and first and rest are ordinary selectors define-struct pair left right define our-cons a-value a-list make-pair a-value a-list define our-first a-pair pair-left a-pair define our-rest a-pair pair-right a-pair define our-cons x pair x Although these definitions are a good first approximation they are inaccurate in one important point. DrScheme s version of cons is really a checked version of make-pair. Specifically the cons operation ensures that the right field is always a list that is constructed or empty. This suggests the following refinement define our-cons a-value a-list cond -114- TEAM FLY PRESENTS empty a-list make-pair any a-list our-cons a-list make-pair any a-list else error cons list as second argument expected The .