diff --git a/ex1.2.scm b/ex1.2.scm new file mode 100644 index 0000000..063462f --- /dev/null +++ b/ex1.2.scm @@ -0,0 +1,2 @@ +(/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5))))) + (* 3 (- 6 2) (- 2 7))) \ No newline at end of file diff --git a/ex1.3.scm b/ex1.3.scm new file mode 100644 index 0000000..d6afd40 --- /dev/null +++ b/ex1.3.scm @@ -0,0 +1,24 @@ +(define (square x) + (* x x)) + +(define (sum-of-squares a b) + (+ (square a) (square b))) + +(define (square-of-two-larger a b c) + (cond ((and (>= a b) (>= b c)) (sum-of-squares a b)) + ((and (>= a c) (>= c b)) (sum-of-squares a c)) + ((and (>= b a) (>= a c)) (sum-of-squares b a)) + ((and (>= b c) (>= c a)) (sum-of-squares b c)) + ((and (>= c a) (>= a b)) (sum-of-squares c a)) + ((and (>= c b) (>= b a)) (sum-of-squares c b)))) + +(square-of-two-larger 2 3 4) +(square-of-two-larger 2 4 3) +(square-of-two-larger 3 2 4) +(square-of-two-larger 3 4 2) +(square-of-two-larger 4 2 3) +(square-of-two-larger 4 3 2) +(square-of-two-larger 3 3 3) +(square-of-two-larger 2 3 3) +(square-of-two-larger 3 2 3) +(square-of-two-larger 3 3 2) \ No newline at end of file diff --git a/ex1.5.scm b/ex1.5.scm new file mode 100644 index 0000000..1eada56 --- /dev/null +++ b/ex1.5.scm @@ -0,0 +1,8 @@ +(define (p) (p)) + +(define (test x y) + (if (= x 0) + 0 + y)) + +(test 0 (p))