All pastes #183369 Raw Edit

Stuff

public text v1 · immutable
#183369 ·published 2006-09-26 21:09 UTC
rendered paste body
;; 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))
)