a. If you have not done so already (or if you've forgotten what it says), please reread the reading on vectors.
b. Start DrScheme.
c. Tell DrScheme not to print the lengths of vectors by entering
a. In DrScheme's interaction window, type in a vector literal that denotes a vector containing just the two elements 3.14159 and 2.71828. How does DrScheme display the value of this vector?
b. Create a vector that contains the same two values by using the
c. Create a vector that contains the same two values by using the
a. Tell DrScheme to print the length of vectors by entering
b. Enter each of the following vector expressions in DrScheme; consider
the result (perhaps by examining individual elements with
vector-ref); and indicate what vector has been created.
#2(1 2 3 4)
(make-vector 4 0)
c. Tell DrScheme not to print the lengths of vectors and reenter each expression. Do your results differ? What do the differences suggest?
that takes one argument, a vector
of numbers, and returns the sum of the elements of that vector.
vector->list from the reading as a pattern for
vector-sum -- only a few judicious changes are needed.
However, you should not use
vector->list as a helper.
In the reading on vectors, we saw
that it was possible to implement
vector->list by using more primitive operations
Write your own version of
vector-fill!. Remember that
vector-fill! takes two parameters, a vector and a
value, and puts that value in every position of the vector.
Just as in the case of
list->vector, you will probably
want to define a helper procedure that fills only part of the vector.
Your termination condition will certainly be different and should probably
involve the length of the vector.
Wednesday, 20 September 2000 [Samuel A. Rebelsky]
Wednesday, 8 November 2000 [Samuel A. Rebelsky]
http://www.cs.grinnell.edu/~stone/courses/scheme/vectors.xhtml(version of April 5, 2000).
Wednesday, 7 February 2001 [Samuel A. Rebelsky]
Thursday, 8 February 2001 [Samuel A. Rebelsky]
vector->listshould be used as a pattern rather than as a helper.
Thursday, 3 October 2002 [Samuel A. Rebelsky]
I usually create these pages
on the fly, which means that I rarely
proofread them and they may contain bad grammar and incorrect details.
It also means that I tend to update them regularly (see the history for
more details). Feel free to contact me with any suggestions for changes.
This document was generated by
Siteweaver on Mon Dec 2 09:19:32 2002.
The source to the document was last modified on Thu Oct 3 20:42:01 2002.
This document may be found at