On May 10, 2012, at 11:01 AM, Roelof Wobben wrote: > p 10-5-2012 15:33, Matthias Felleisen schreef: >> >> >> Exercise 1: eliminate all constants from function definition. > > (define kat (circle 39 'solid 'red)) > (define workspace (empty-scene 1000 200)) > (define lengte (image-width workspace)) > (define gauge-omtrek (rectangle 1000 20 "outline" "black")) > (define decrease-gauge 0.1) > (define increase-x-cat 3) > (define lengte2 (/ (image-width kat)2)) > (define ondergrens (- 0 lengte2)) > (define bovengrens (+ lengte lengte2)) >
Where did the function definitions go? > Exercise 2: clearly separate all constants that are freely definable (image > of kat) from those that depend on these (size of kat and surrounding box). > Then change the former to 'strange' values and see whether the program still > makes sense. That's called refactoring for single points of control, and if > you can do it you're well on your way to real software engineering. > > ; free-definable constant : > > (define kat (circle 39 'solid 'red)) > (define workspace (empty-scene 1000 200)) > (define decrease-gauge 0.1) > (define increase-x-cat 3) > > > (define decrease-gauge 0.1) > > (define increase-x-cat 3) > (define gauge-omtrek (rectangle 1000 20 "outline" "black")) > > > ;depend constants > > (define lengte (image-width workspace) > (define lengte_cat (image-width cat) Perhaps you should define the above two constants first and then make the others depend on them? > ;strange constants > > (define correctie_kat (/ lengte_cat 2) > (define ondergrens ( - 0 correctie-kat) > (define bovengrens ( + lengte correctie-kat) > > Is this is what you mean ? You clearly haven't finished the exercise. Try modifying the width to 3 (from 1000) and see what happens? Do you have enough dependencies? Do reply in public. I may not be available to respond. -- Matthias ____________________ Racket Users list: http://lists.racket-lang.org/users

