이것은 어렵지는 않지만 붙어 있습니다. 우리는 함수의 파생물을 취하는 방법을 쓰고있는 간단한 과제를 가지고 있습니다.Scheme 언어를 사용하면 함수가 지수 함수인지 확인하는 방법
(define (derive exp var)
(cond ((number? exp) 0)
((variable? exp) (if (same-variable? exp var) 1 0))
((sum? exp) (derive-sum exp var))
((product? exp) (derive-product exp var))
((exponentiation? exp) (derive-exponentiation exp var))
(else 'Error)))
지수화의 경우 지수 함수가있는 경우 참을 반환해야합니다. 나는 그것을 쓰는 방법에 대해 완전히 확신하지 못한다. 지금까지 방금 이런 걸 얻었습니다
(define (make-exponentiation base exponent)
(cons base exponent)
(define (base exponentiation)
(car exponentiation)
(define (exponent exponentiation)
'cdr exponentiation)
(define (exponentiation? exp)
'YourCodeHere)
(define (derive-exponentiation exp var)
(* var (make-exponentiation exp (var-1)) (derive exp))
나는 car와 cdr에 대해 무엇을 검사하고 있는지 정확히 알지 못합니다. 모든 것이 혼란 스러울뿐입니다. 그것은 주어진 코드가 아닙니다. 나는 차와 cdr가 단지 순간에 자리 표시 자와 같다고 생각한다.
아 .. 안녕하세요. 우리가 이미 두 번째와 세 번째 용어를 반환하는 함수를 가지고 있기 때문에 실제로 더 좋습니다. 무리 감사! 나는 그것을 얻었다 고 생각한다. –
기호를 비교하는 데'='을 사용하지 마십시오. 'eq?','eqv?'또는'equal?'을 대신 사용하십시오. IIRC,'='는 숫자 형에서만 정의됩니다. – Dirk
@Dirk 고맙습니다. 고침. –