From da0a1a31adefbc72660af102383b09994a96b4c7 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Sat, 2 Apr 2016 00:48:13 +0000 Subject: one/seven - Add new functions. New functions: - good-enough-alt? - sqrt-iter-alt - sqrt-sicp-alt --- one/seven.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'one/seven.scm') diff --git a/one/seven.scm b/one/seven.scm index 66e06d9..cc3c7b9 100644 --- a/one/seven.scm +++ b/one/seven.scm @@ -3,7 +3,10 @@ ;;; . (define-module (one seven) - #:export (tolerances-and-sqrt)) + #:export (tolerances-and-sqrt + good-enough-alt? + sqrt-iter-alt + sqrt-sicp-alt)) (use-modules (one six)) @@ -28,3 +31,16 @@ (cons tolerance custom-sqrt) (cons (cons tolerance custom-sqrt) (tolerances-and-sqrt x (/ tolerance 10)))))) +;;; start excercise 1.1.7 +(define (good-enough-alt? guess prev-guess) + (< (abs (- guess prev-guess)) 0.001)) + +(define (sqrt-iter-alt guess prev-guess x) + (if (good-enough-alt? guess prev-guess) + guess + (sqrt-iter-alt (improve guess x) guess + x))) + +(define (sqrt-sicp-alt x) + (sqrt-iter-alt 1.0 2.0 x)) +;;;; end excercise 1.1.7 -- cgit v1.2.3