What you wrote (minus one extra pair) is:
(define (sumsq a b c)
(define highest
(if (> (if (> a b) a b)
(if (> a c) a c))
(if (> a b) a b)
(if (> a c) a c)))
(define second_h
(if (> (if (> a b) b a)
(if (> a c) c a))
(if (> a b) b a)
(if (> a c) c a)))
(+ (* highest highest) (* second_h second_h)))
, , . (+ (* a a) (* b b))
, , , , , .
, , , , (...) , . , , : (if (> a b) a b)
(if (> a b) b a)
. , :
(define (min a b) (if (< a b) a b))
(define (max a b) (if (< a b) b a))
, :
(define (sumsq a b c)
(define highest
(if (> (max a b) (max a c))
(max a b)
(max a c)))
(define second_h
(if (> (min a b) (min a c))
(min a b)
(min a c)))
(+ (* highest highest) (* second_h second_h)))
:
(define (sumsq a b c)
(define highest
(max (max a b) (max a c)))
(define second_h
(max (min a b) (min a c)))
(+ (* highest highest) (* second_h second_h)))
, , (max (max a b) (max a c))
- , , a
b
c
, (max (max a b) c)
. second_h
, , . , a
?
, , x
y
. if x < y
, , y
, , . , , x
z
, , . , y < x
.