;; Question 4 (define-struct clock (hour min sec)) (define (addHour clk) (cond [(> (+ (clock-hour clk) 1) 12) 1] [(and (< (+ (clock-hour clk) 1) 12) (> (+ (clock-min clk) 1) 59)) (+ (clock-hour clk) 1)] [else (clock-hour clk)] ) ) (define (addMin clk) (cond [(> (+ (clock-min clk) 1) 59) 0] [(and (< (+ (clock-min clk) 1) 59) (> (+ (clock-sec clk) 1) 59)) (+ (clock-min clk) 1)] [else (clock-min clk)] ) ) (define (addSec clk) (cond [(> (+ (clock-sec clk) 1) 59) 0] [(< (+ (clock-sec clk) 1) 59) (+ (clock-sec clk) 1)] ) ) (define (tick clk) (make-clock (addHour clk) (addMin clk) (addSec clk)) )