有如下答案。编写一个名为avg3的Scheme过程,它接受一个数字流,并生成一个由输入流中元素三元组的平均值组成的数字流。例如,表达式(avg2 s1to9)产生流2,5,8 (s1to9是从1到9的数字流)。
这显然是一个作业,如果你试着自己解决这个问题会更好。我给你一些提示,填空:
(define (avg2 stream)
(if <???> ; if the stream is null
<???> ; then return the null stream
(stream-cons ; else cons
(/ (+ <???> ; add first element in stream
<???> ; with second
<???>) ; with third
3) ; and divide the addition by 3
(avg2 <???>)))) ; advance the recursion, to the next 3 elements