我不知道如何解决我的一个问题。 我已经为我的主要功能编写了两个帮助功能,但它无法工作。
;;Main function
(define (FunctionA a b c)
(/(-(* -1 b) VariableD)aNotNull))
(check-expect (FunctionA 1 1 1)-1)
;;Helpfunction1:
(define (VariableD a b c)
(if (> 0(-(* b b)(* 4 (* a c)))) (error "No negative numbers allowed")
(sqrt(-(* b b)(* 4 (* a c))))))
(check-expect (VariableD 0 0 0) 0)
(check-error (VariableD 1 2 3) "No negative numbers allowed")
;helpfunction2:
(define (aNotNull a)
(if (= 0 (* 2 a)) (error "Zerodivisor not allowed")
(* 2 a)))
(check-error (aNotNull 0 ) "Zerodivisor not allowed")
(check-expect(aNotNull 2) 4)
我得到错误:期望一个数字作为第二个参数,给定(lambda(a1 a2 a3)......) 但我不知道如何解决它。
希望你能帮帮我:)。
答案 0 :(得分:0)
(define (FunctionA a b c)
(/ (- (* -1 b) VariableD) aNotNull))
VariableD
这里指的是您定义的函数。您可能希望使用a
中的b
,c
和FunctionA
输入来调用该函数,并使用FunctionA
中的结果。
使用aNotNull
同样如此。我只是推断这些是你想要在这个修订过的FunctionA
中传递给这些函数的变量:
(define (FunctionA a b c)
(/ (- (* -1 b)
(VariableD a b c))
(aNotNull a)))