Sun Pascal 3.03 clock The clock function returns the user time consumed by the process. Syntax clock Arguments clock does not take any arguments. Return Value clock returns an integer value. Comments clock returns the user time in milliseconds. Example program clock_example(input, output); { This program times how long it takes to run the towers of hanoi. } const DISK = 16; var num: array [1..3] of integer; counts: integer32; before_user: integer; before_sys: integer; after_user: integer; after_sys: integer; procedure moves(number, f, t: integer); var o: integer; begin if number = 1 then begin num[f] := num[f] - 1; num[t] := num[t] - 1; counts := counts + 1 end else begin o := 6 - (f + t); moves(number - 1, f, o); moves(1, f, t); moves(number - 1, o, t) end end; { moves } { moves } The Pascal program, clock.p clock.p Program (Screen 1 of 2) begin { main program } before_user := clock; before_sys := sysclock; moves(DISK, 1, 3); after_sys := sysclock; after_user := clock; write('For ', DISK: 1, ' disks, there were '); writeln(counts: 1, ' steps.'); write('Elapsed system time: '); writeln(after_sys - before_sys: 1, ' milliseconds.'); write('Elapsed user time: '); writeln(after_user - before_user: 1, ' milliseconds.') end. { clock_example } clock.p Program (Screen 2 of 2) hostname% a.out For 16 disks, there were 65535 steps. Elapsed system time: 16 milliseconds. Elapsed user time: 583 milliseconds.