Scheme 具有两个参数的Racket函数

Scheme 具有两个参数的Racket函数,scheme,racket,r5rs,Scheme,Racket,R5rs,我试图复习R5RS的期末考试,但遇到了一个简单的问题。我的教授不是很有帮助,我班上也不认识任何人。你能帮我吗 函数比率包含两个参数f(函数)和x(数字)。我不得不使用let语句。方案功能应产生以下结果: f(x)+f(x+1)/f(x) 这就是我到目前为止所做的: (define (ratio f x) (let ((f (+ x 1))) (/ (+ x (+ f 1)) x))) (ratio (lambda (x) (+ x 2)) 3) 我尝试了一个小时,但

我试图复习R5RS的期末考试,但遇到了一个简单的问题。我的教授不是很有帮助,我班上也不认识任何人。你能帮我吗

函数比率包含两个参数f(函数)和x(数字)。我不得不使用let语句。方案功能应产生以下结果:

f(x)+f(x+1)/f(x)

这就是我到目前为止所做的:

(define (ratio f x)
  (let ((f (+ x 1)))
    (/ (+ x (+ f 1))
       x)))

(ratio (lambda (x) (+ x 2)) 3)
我尝试了一个小时,但仍然没有得到正确的答案

提示:让
a=f(x)
和让
b=f(x+1)
。在
a
b
方面,输出应该是什么

在解决方案中,将
f
绑定到
x+1
的值。因此,您的解决方案实际上是计算
(x+(x+2))/x
。您需要将
f
应用于
x
,即
(f x)

这是一个开始:

(define (ratio f x)
  (let ((a (f x)) (b (f (+ x 1))))
    ...))
Math               Scheme
f(x)               (f x)
x+1                (+ x 1)
f(x+1)             (f (+ x 1))
a/b                (/ a b)
a/f(x)             (/ a (f x))
f(x+1)/f(x)        (/ (f (+ x 1)) (f x))
c + f(x+1)/f(x)    ?
f(x) + f(x+1)/f(x) ?