8.14

### Lecture 21: Mutual recursionðŸ”—

This assignment is due on Sunday, November 3 at 11:59pm. Submit it using Handin as assignment lecture21.

#### 1Mutually recursive dataðŸ”—

 ; A TwoTree is one of: ; - Number ; - (make-two ThreeTree ThreeTree) (define-struct two [first second]) ; A ThreeTree is one of: ; - Number ; - (make-three TwoTree TwoTree TwoTree) (define-struct three [first second third])

Exercise 1. Write 3 more examples of TwoTrees and ThreeTrees. Call the TwoTrees two1 two2 two3. Call the ThreeTrees three1 three2 three3.

Exercise 2. Design two functions: one called sum-twotree that sums all the numbers in a TwoTree, and one called sum-threetree that sums all the numbers in a ThreeTree.

Exercise 3. Design a function add-to-twotree that adds a given number to all the numbers in a given TwoTree and a function add-to-threetree that adds a given number to all the numbers in a given ThreeTree.

#### 2Mutual recursion with listsðŸ”—

 ; A FamilyTree is (make-ft String ;                          Number ;                          [ListOf FamilyTree]) (define-struct ft [name age children]) ; A [ListOf FamilyTree] is one of: ; - empty ; - (cons FamilyTree [ListOf FamilyTree])

Exercise 4. Design a function count-ft that counts all the people in a given FamilyTree and a function count-loft that counts all the people in a given [ListOf FamilyTree]. Can you do it using foldr?

Exercise 5. Design a function growup-ft that adds 1 to the ages of all the people in a given FamilyTree and a function growup-loft that adds 1 to the ages of all the people in a given [ListOf FamilyTree]. Can you do it using map?
The text passage contains a series of exercises related to mutually recursive data structures and functions in a programming context. Each exercise asks the reader to design or write specific functions or data examples.
no_question

the text does not contain a single mathematical question or a series of questions that require a numerical or mathematical answer. instead, it provides programming exercises that involve designing functions and data structures.
Given a text passage, determine:
    1. If it contains a mathematical question (including word problems or calculations)
    2. If an answer to that mathematical question is provided in the text

First, describe the content structure you found in 1-2 sentences.

Then provide your analysis in the following format:
TYPE: <one of the following values>
- NO_QUESTION
- SINGLE_QUESTION
- SINGLE_QUESTION_WITH_ANSWER
- MULTIPLE_QUESTIONS
- MULTIPLE_QUESTIONS_WITH_ANSWERS
system
8.14

### Lecture 21: Mutual recursionðŸ”—

This assignment is due on Sunday, November 3 at 11:59pm. Submit it using Handin as assignment lecture21.

#### 1Mutually recursive dataðŸ”—

 ; A TwoTree is one of: ; - Number ; - (make-two ThreeTree ThreeTree) (define-struct two [first second]) ; A ThreeTree is one of: ; - Number ; - (make-three TwoTree TwoTree TwoTree) (define-struct three [first second third])

Exercise 1. Write 3 more examples of TwoTrees and ThreeTrees. Call the TwoTrees two1 two2 two3. Call the ThreeTrees three1 three2 three3.

Exercise 2. Design two functions: one called sum-twotree that sums all the numbers in a TwoTree, and one called sum-threetree that sums all the numbers in a ThreeTree.

Exercise 3. Design a function add-to-twotree that adds a given number to all the numbers in a given TwoTree and a function add-to-threetree that adds a given number to all the numbers in a given ThreeTree.

#### 2Mutual recursion with listsðŸ”—

 ; A FamilyTree is (make-ft String ;                          Number ;                          [ListOf FamilyTree]) (define-struct ft [name age children]) ; A [ListOf FamilyTree] is one of: ; - empty ; - (cons FamilyTree [ListOf FamilyTree])

Exercise 4. Design a function count-ft that counts all the people in a given FamilyTree and a function count-loft that counts all the people in a given [ListOf FamilyTree]. Can you do it using foldr?

Exercise 5. Design a function growup-ft that adds 1 to the ages of all the people in a given FamilyTree and a function growup-loft that adds 1 to the ages of all the people in a given [ListOf FamilyTree]. Can you do it using map?
user
The text passage contains a series of exercises related to mutually recursive data structures and functions in a programming context. Each exercise asks the reader to design or write specific functions or data examples.

TYPE: NO_QUESTION

The text does not contain a single mathematical question or a series of questions that require a numerical or mathematical answer. Instead, it provides programming exercises that involve designing functions and data structures.