Fundamentals of Computer Science 1 (CS151 2003S)
[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[EC]
[Honesty]
[Instructions]
[Links]
[Search]
[Syllabus]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Lab Writeups]
[Outlines]
[Project]
[Readings]
[Reference]
ECA:
[About]
[Grades]
[Quizzes]
[Submit Work]
[Change Password]
[Reset Password]
Misc:
[Scheme Reference]
[Scheme Report]
[CS151 2003S Gum]
[CS151 2002F]
[CS151 History]
[SamR]
Back to Recursion Lab. On to Recursion with Lists (2).
Held: Monday, 17 February 2003
Summary: Today we investigate recursion over lists with a number of experiments.
Related Pages:
Due
Assignments
Notes:
to dolist (after preparing tomorrow's classes and grading 153).
hardest assignment in Sam's 151, is it worth assigning? (Yes, I'll ask you again nearer the end of the semester.)
Overview:
patternone uses to design certain kinds of procedures.
(define proc (lambda (val) (if (base-case-test) (base-case val) (combine (partof val) (proc (update val))))))
(define proc (lambda (lst) (if (null? lst) null-case (combine (onestep (car val)) (proc (cdr val))))))
if
. For example, here's
one implementation of member that works on the principle that
.val
is a member oflst
if the list is not empty andval
is the first element oflst
orval
is a member of the remainder oflst
(define member? (lambda (val lst) (and (not (null? lst)) (or (equal? val (car lst)) (member? val (cdr lst))))))
Thursday, 16 January 2003 [Samuel A. Rebelsky]
Sunday-Monday, 16-17 February 2003 [Samuel A. Rebelsky]
Back to Recursion Lab. On to Recursion with Lists (2).
[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[EC]
[Honesty]
[Instructions]
[Links]
[Search]
[Syllabus]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Lab Writeups]
[Outlines]
[Project]
[Readings]
[Reference]
ECA:
[About]
[Grades]
[Quizzes]
[Submit Work]
[Change Password]
[Reset Password]
Misc:
[Scheme Reference]
[Scheme Report]
[CS151 2003S Gum]
[CS151 2002F]
[CS151 History]
[SamR]
Disclaimer:
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 Tue May 6 09:29:47 2003.
The source to the document was last modified on Mon Feb 17 11:41:23 2003.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS151/2003S/Outlines/outline.17.html
.
You may wish to validate this document's HTML ; ; Check with Bobby
Samuel A. Rebelsky, rebelsky@grinnell.edu