level 5
qq493357984
楼主
习题6.2.2 设计函数clear-bulb,读入'green、'yellow 或'red 之一,输出为true,效果是关掉红绿灯上相应颜色的灯,即,清除相应颜色的圆盘并以相同颜色的圆代替。
答案是
(define (clear-bulb color)
(cond
[(symbol=? color 'red)
(and (clear-solid-disk (make-posn 25 30) 20)
(draw-circle (make-posn 25 30) 20 'red))]
[(symbol=? color 'yellow)
(and (clear-solid-disk (make-posn 25 80) 20)
(draw-circle (make-posn 25 80) 20 'yellow))]
[(symbol=? color 'green)
(and (clear-solid-disk (make-posn 25 130) 20)
(draw-circle (make-posn 25 130) 20 'green))]))
我想问这部分代码能执行出效果吗?
(clear-solid-disk (make-posn 25 30) 20)
(draw-circle (make-posn 25 30) 20 'red)
(clear-solid-disk (make-posn 25 80) 20)
(draw-circle (make-posn 25 80) 20 'yellow)
(clear-solid-disk (make-posn 25 130) 20)
(draw-circle (make-posn 25 130) 20 'green)
2012年10月16日 11点10分
1
答案是
(define (clear-bulb color)
(cond
[(symbol=? color 'red)
(and (clear-solid-disk (make-posn 25 30) 20)
(draw-circle (make-posn 25 30) 20 'red))]
[(symbol=? color 'yellow)
(and (clear-solid-disk (make-posn 25 80) 20)
(draw-circle (make-posn 25 80) 20 'yellow))]
[(symbol=? color 'green)
(and (clear-solid-disk (make-posn 25 130) 20)
(draw-circle (make-posn 25 130) 20 'green))]))
我想问这部分代码能执行出效果吗?
(clear-solid-disk (make-posn 25 30) 20)
(draw-circle (make-posn 25 30) 20 'red)
(clear-solid-disk (make-posn 25 80) 20)
(draw-circle (make-posn 25 80) 20 'yellow)
(clear-solid-disk (make-posn 25 130) 20)
(draw-circle (make-posn 25 130) 20 'green)