У меня есть следующее назначение.Схема let-form
В этой реализации, вы должны использовать LET-форму, чтобы определить локальное имя и местные процедуры PI, areac и volumec. Процедуры TotalVolume и main остаются глобальными.
У меня есть программа, которая была создана в вопросе 3 здесь:
(define PI 3.14159265)
(define (areac d)
(* (* PI (/ d 2)) (/ d 2)))
(define (volumec d h)
(let ((a (areac d)))
(/ (* a h) 3)))
(define (TotalVolume)
(let ((v1 (volumec 1 1))
(v2 (volumec 2 2))
(v3 (volumec 3 3))
(v4 (volumec 4 4))
(v5 (volumec 5 5)))
(display (+ v1 v2 v3 v4 v5))))
(define main
(TotalVolume))
Но теперь я совершенно запутался о том, как использовать LET-формы, чтобы изменить код. Я понимаю, как пусть-форма работы, и я понимаю, что для PI я могу просто использовать:
(let
(
(PI 3.14159265)
)
(body)
)
Может кто-нибудь вести меня в правильном направлении для этой проблемы?
Ваш одноклассник был точно такой же вопрос: HTTP: // stackoverflow.com/questions/29576357/convert-from-procedure-form-to-let-form –
Извините, я не видел дубликат раньше: / –