CSci 1301: Problem Set 8

Due Tuesday, November 24th at 11:59pm by e-mail

As always, please include a contract, a purpose, examples, and tests for each function.

Problem 1 (4 points)

Exercise 20.2.4 parts 1, 2. Write the contracts in your e-mail message or in comments. You don't need to write the functions.

Problem 2 (6 points)

Exercise 21.1.1. Instead of (sub1 n) just write (- n 1). Make sure to write a contract for your general function.

Problem 3 (6 points)

Exercise 21.2.1 parts 1, 2, 3 only. Make sure to test your functions, submit your tests.

Below is an example of using build-list to produce the squares of the first 10 integer numbers. build-list takes a number of elements it needs to produce and a function from an integer n to the n-th element on the list, e.g. n -> square(n).


(define (square n) (* n n))

(build-list 10 square)

Problem 4 (4 points)

Exercise 21.2.3 part 3 only. UPDATE as of 2:45pm Wedn., Nov. 19th: solving this problem using the predefined filter is tricky at this point. A couple of work-arounds:

Problem 5 (5 points)

Write a function standard-dev that consumes a list of ummstudent records defined in the in-class example and computes their standard deviation according to the formula at http://en.wikipedia.org/wiki/Standard_deviation#Discrete_random_variable_or_data_set . Use any of the predefined list functions (map, foldr, etc).


CSci 1301 course web site.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.