summaryrefslogtreecommitdiffstats
path: root/chapter2/guess.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'chapter2/guess.rkt')
-rw-r--r--chapter2/guess.rkt21
1 files changed, 21 insertions, 0 deletions
diff --git a/chapter2/guess.rkt b/chapter2/guess.rkt
new file mode 100644
index 0000000..ab05056
--- /dev/null
+++ b/chapter2/guess.rkt
@@ -0,0 +1,21 @@
+#lang racket
+
+(define lower 1)
+
+(define upper 100)
+
+(define (start n m)
+ (set! lower (min n m))
+ (set! upper (max n m))
+ (guess))
+
+(define (guess)
+ (quotient (+ lower upper) 2))
+
+(define (smaller)
+ (set! upper (max lower (sub1 (guess))))
+ (guess))
+
+(define (bigger)
+ (set! lower (min upper (add1 (guess))))
+ (guess))