I.G Semester Review G
Fall 2022, exam through Chapter 15 (conditionals), including gradients.
-
(
in-5-r?
) Imagine drawing a circle centered at x=5 on the x-axis, with a radius given by an input. A point x on the number line is in that circle if x’s distance to 5 is less than or equal to the radius.Write a function
in-5-r?
that determines if a number x is within “radius” of the number 5 on the number line.;; in-5-r? : number(radius) number(x) -> boolean` (define (in-5-r? radius x) false) (check-expect (in-5-r? 10 3) true) ;; 3 is within 10 of 5 (check-expect (in-5-r? 7 20) false) ;; 20 is not within 7 of 5 (check-expect (in-5-r? 1 2) false) ;; 2 is not within 1 of 5
-
The circle is centered at (200,150) and has a radius of 50. The square is centered at (275,150) and has a side length of 100. The background is a gradient from light blue to light green. (These are technical color names in Racket.)
-
Make an animation where a blue circle moves counterclockwise around a stationary square.
- Rotates as time passes.
- Moving the mouse causes the rotation clockwise (while the mouse is moving).
- Hitting a key makes the circle jump to the 12:00 vertical position.
- Outer radius of the circle that the blue circle revolves along is 200.
More complex aspects:
- There is a 15 pixel wide pink bar on the left that grows 30 pixels taller every time the circle in the animation completes a single revolution.
- The background changes color from a dark gray (all components = 100) to a light gray (all components = 225), proportional to the number of degrees the blue circle has traveled.