2010-03-31 3 views
0

나는이 개 매개 변수를 사용하여 다른 프로 시저를 반환 할 계획 절차를 정의 : 내가 2 개 인자 (10)와 0.0001로 죄 절차에이 절차를 실행하면 다음 괜찮계획 절차 문제

(define (smooth f) 
    (λ(x dx)(/ (+ (f (- x dx)) 
      (f x) 
      (f (+ x dx))) 
      3.0))) 

((smooth sin) 10 0.0001) ==> -0.544021109075966 
내가 재귀 적으로이 절차를 실행하면

, 그것은 오류를

((smooth (smooth sin)) 10 0.0001) 
==> procedure expects 2 arguments, given 1: #<promise:temp6> 

그래서 할 수있는 사람의 전화를 가지고 나 문제가 어디 있니? 미리 감사드립니다 !!!

PS : 이것은, (smooth sin) 결과가 외부 SMOOTH에 F가되는 2 인수 과정 매우 간단있어 SICP

+1

((smooth ((smooth sin) 10 0.0001)) 10 0.0001) – Diadistis

답변

2

으로 간격 운동 1.44이고, F는 하나의 값에 적용된다.

해결책은 SMOOTH의 결과를 1- 인수 프로 시저로 변경 한 다음 반복적으로 적용하는 것입니다.