Я выполняю упражнение 1.3 из SICP.
Мой код следующий:
#lang racket
(require sicp)
(define (square a)
(* a a)
)
(define (sum-of-squares a b)
(+ (square a) (square b) )
)
(define (max a b)
(cond ((>= a b) a)
(else b)
)
)
(define (sum-of-biggest-squares a b c )
(cond ((>= a b)
(sum-of-squares a (max b c) )
(sum-of-squares b (max a c) )
)
)
)
(sum-of-biggest-squares 5 7 10)
Удивительно, но интерпретатор Racket
не печатает никакого результата длявыше.Интерпретатор
отлично работает для других значений.Но для
этот набор из трех значений не работает
.
Когда я пытаюсь добавить оператор else
, как показано ниже:
(else (sum-of-squares b (max a c) ) )
Переводчик говорит:
exercise_1-3.rkt:23:10: else: not allowed as an expression
in: (else (sum-of-squares b (max a c)))