All pastes #183339 Raw Edit

Someone

public text v1 · immutable
#183339 ·published 2006-09-26 20:33 UTC
rendered paste body
;; Question 4

(define-struct clock (hour min sec))

(define (addHour clk)
  (make-clock
   (cond
     [(> (+ (clock-hour clk) 1) 12) 0]
     [else (+ (clock-hour clk) 1)]
   )
   0
   (clock-sec clk)
  )
)

(define (addMin clk)
  (make-clock
   (clock-hour clk)
   (cond
     [(> (+ (clock-min clk) 1) 59) (addHour clk)]
     [else (+ (clock-hour clk) 1)]
    )
   0
  )
)

(define (addSec clk)
  (make-clock 
   (clock-hour clk) 
   (clock-min clk) 
   (cond
     [(> (+ (clock-sec clk) 1) 59) (addMin clk)]
     [else (+ (clock-sec clk) 1)]
    )
  )
)

(define (tick clk)
  (addSec clk)
)