1 12687dd9 2023-08-04 jrmu ;; The first three lines of this file were inserted by DrScheme. They record metadata
2 12687dd9 2023-08-04 jrmu ;; about the language level of this file in a form that our tools can easily process.
3 12687dd9 2023-08-04 jrmu #reader(lib "htdp-intermediate-reader.ss" "lang")((modname 18.1.1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp") (lib "dir.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp") (lib "arrow.ss" "teachpack" "htdp") (lib "dir.ss" "teachpack" "htdp") (lib "hangman.ss" "teachpack" "htdp")))))
5 12687dd9 2023-08-04 jrmu (define x (* y 3))
12 12687dd9 2023-08-04 jrmu (define (odd an)
14 12687dd9 2023-08-04 jrmu [(zero? an) false]
15 12687dd9 2023-08-04 jrmu [else (even (sub1 an))]))
18 12687dd9 2023-08-04 jrmu (define (even an)
20 12687dd9 2023-08-04 jrmu [(zero? an) true]
21 12687dd9 2023-08-04 jrmu [else (odd (sub1 an))])))
24 12687dd9 2023-08-04 jrmu (even a-nat-num))
28 12687dd9 2023-08-04 jrmu (define (f x) (g x (+ x 1)))
29 12687dd9 2023-08-04 jrmu (define (g x y) (f (+ x y)))
34 12687dd9 2023-08-04 jrmu (+ (f 10) (g 10 20))
39 12687dd9 2023-08-04 jrmu (define x 10)
40 12687dd9 2023-08-04 jrmu (y (+ x x)))
45 12687dd9 2023-08-04 jrmu (define (f x) (+ (* x x) (* 3 x) 15))
46 12687dd9 2023-08-04 jrmu (define x 100)
47 12687dd9 2023-08-04 jrmu (define f@100 (f x))
55 12687dd9 2023-08-04 jrmu (define (f x) (+ (* x x) (* 3 x) 14))
56 12687dd9 2023-08-04 jrmu (define x 100)
57 12687dd9 2023-08-04 jrmu (define f (f x)))
60 12687dd9 2023-08-04 jrmu 1. (define A-CONSTANT
66 12687dd9 2023-08-04 jrmu (define (odd an)
68 12687dd9 2023-08-04 jrmu [(= an 0) false]
69 12687dd9 2023-08-04 jrmu [else (even (- an 1))]))
72 12687dd9 2023-08-04 jrmu (define (even an)
74 12687dd9 2023-08-04 jrmu [(= an 0) true]
75 12687dd9 2023-08-04 jrmu [else (odd (- an 1))]))
80 12687dd9 2023-08-04 jrmu (even a-nat-num)
92 12687dd9 2023-08-04 jrmu (define (f x) (+ (* x x) (* 3 x) 15))
93 12687dd9 2023-08-04 jrmu (define x 100)
94 12687dd9 2023-08-04 jrmu (define f@100 (f x))
104 12687dd9 2023-08-04 jrmu 3. (local (
107 12687dd9 2023-08-04 jrmu (define CONST 100)
108 12687dd9 2023-08-04 jrmu (define f x (+ x CONST))
115 12687dd9 2023-08-04 jrmu (define (g x y z) (f (+ x (* y z))))
121 12687dd9 2023-08-04 jrmu = (define (D x y)
122 12687dd9 2023-08-04 jrmu (local ((define x2 (* x x))
123 12687dd9 2023-08-04 jrmu (define y2 (* y y)))
124 12687dd9 2023-08-04 jrmu (sqrt (+ x2 y2))))
125 12687dd9 2023-08-04 jrmu (+ (local ((define x2 (* 0 0))
126 12687dd9 2023-08-04 jrmu (define y2 (* 1 1)))
127 12687dd9 2023-08-04 jrmu (sqrt (+ x2 y2)))
130 12687dd9 2023-08-04 jrmu ;; sort : list-of-numbers -> list-of-numbers
131 12687dd9 2023-08-04 jrmu (define (sort alon)
134 12687dd9 2023-08-04 jrmu (define (sort alon)
136 12687dd9 2023-08-04 jrmu [(empty? alon) empty]
137 12687dd9 2023-08-04 jrmu [(cons? alon) (insert (first alon)
138 12687dd9 2023-08-04 jrmu (sort (rest alon)))]))
141 12687dd9 2023-08-04 jrmu (define (insert an alon)
143 12687dd9 2023-08-04 jrmu [(empty? alon) (list an)]
144 12687dd9 2023-08-04 jrmu [else (cond
145 12687dd9 2023-08-04 jrmu [(> an (first alon)) (cons an alon)]
146 12687dd9 2023-08-04 jrmu [else (cons (first alon)
147 12687dd9 2023-08-04 jrmu (insert an (rest alon)))])]))
150 12687dd9 2023-08-04 jrmu (sort alon)))