...
Submit your .ss
file via OWL-Space. You will need to use the "Intermediate Student" language to do Problem 18.1.15. If you want to use explicit lambda
notation (anywhere the right hand side of a define
statement), you will need to use the "Intermediate Student with lambda" language. You may use either intermediate level language for the entire assignment if you choose.
Required problems:
- 14.2.4
...
- 20 pts. Note: Be sure to compare list searching with tree searching, as the problem states.
- 16.3.3 20 pts.
Notes:
- Test every function thoroughly (5+ examples)
- Be sure to include definitions for both variations of
du-dir
. The final sentence should read "storing a file or a directory in a dir
structure costs 1 storage unit." In other words, given a dir structure, each
directory entry (a file or a directory) contained therein costs 1 unit of
storage for the bookkeeping data. For a file, this is in addition to the size
of its data.
- 17.1.2 20 pts.
- 17.6.1
...
- 30 pts. Do the problem as specified in the book.
...
Extra Credit: This problem can be solved more elegantly than the solution
...
- implied in the
...
- book. For the extra credit solution ignore the book's guidance on "writing
...
- functions that consume two
...
- complex inputs" in 17.5 and follow the guidance given in class on how to write a
...
- function that processes multiple inputs. Select one input as primary (the
choice may be arbitrary in some cases). If you need to deconstruct a second
...
- argument, do it in a auxiliary function. Use only one design template in
...
- each function. Hint for solving this problem: only your auxiliary function,
...
- which has a contract and purpose statement almost identical to
merge
should be recursive (call itself) and it may need to deviate slightly from
...
- the structural recursion template.
- 17.7.1 10 pts.
Note: Make sure you understand section 14.4 before working on this problem. Use
...
- this data definition as a starting point:
Code Block ; expression ; An expression is one of: ; - a number ; - a symbol ; - (make-mul e1 e2) where e1 and e2 are expressions ; - (make-add e1 e2) where e1 and e2 are expressions
...
You are required to extend this definition to include applications (that is,
...
- expressions like
Code Block (* (f (+ 15 x)) (g x))
...
- Be sure to include a function
...
- template with your solution.
- 18.1.5, parts 1, 4, & 5
- 18.1.15
Optional problem for extra credit:
...