Exercise 3.1.4: (back)
;; How to design a program
;; Left Program Definition
(define (profit ticket-price)
(- (revenue ticket-price)
(cost ticket-price)))
(define (revenue ticket-price)
(* (attendees ticket-price) ticket-price))
(define (cost ticket-price)
(* 1.50 (attendees ticket-price)))
(define (attendees ticket-price)
(+ 120
(* (/ 15 .10) (- 5.00 ticket-price))))
> (profit 5.00)
420.0
> (profit 4.00)
675.0
> (profit 3.00)
630.0
;; How not to design a program
;; Right Program Definition
(define (profit price)
(- (* (+ 120
(* (/ 15 .10)
(- 5.00 price)))
price)
(* 1.50
(+ 120
(* (/ 15 .10)
(- 5.00 price))))))
> (profit 5.00)
420.0
> (profit 4.00)
675.0
> (profit 3.00)
630.0