Blame


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")))))
4 12687dd9 2023-08-04 jrmu (local (
5 12687dd9 2023-08-04 jrmu (define x (* y 3))
6 12687dd9 2023-08-04 jrmu )
7 12687dd9 2023-08-04 jrmu
8 12687dd9 2023-08-04 jrmu (* x x))
9 12687dd9 2023-08-04 jrmu
10 12687dd9 2023-08-04 jrmu (local (
11 12687dd9 2023-08-04 jrmu
12 12687dd9 2023-08-04 jrmu (define (odd an)
13 12687dd9 2023-08-04 jrmu (cond
14 12687dd9 2023-08-04 jrmu [(zero? an) false]
15 12687dd9 2023-08-04 jrmu [else (even (sub1 an))]))
16 12687dd9 2023-08-04 jrmu
17 12687dd9 2023-08-04 jrmu
18 12687dd9 2023-08-04 jrmu (define (even an)
19 12687dd9 2023-08-04 jrmu (cond
20 12687dd9 2023-08-04 jrmu [(zero? an) true]
21 12687dd9 2023-08-04 jrmu [else (odd (sub1 an))])))
22 12687dd9 2023-08-04 jrmu
23 12687dd9 2023-08-04 jrmu
24 12687dd9 2023-08-04 jrmu (even a-nat-num))
25 12687dd9 2023-08-04 jrmu
26 12687dd9 2023-08-04 jrmu (local (
27 12687dd9 2023-08-04 jrmu
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)))
30 12687dd9 2023-08-04 jrmu
31 12687dd9 2023-08-04 jrmu )
32 12687dd9 2023-08-04 jrmu
33 12687dd9 2023-08-04 jrmu
34 12687dd9 2023-08-04 jrmu (+ (f 10) (g 10 20))
35 12687dd9 2023-08-04 jrmu
36 12687dd9 2023-08-04 jrmu )
37 12687dd9 2023-08-04 jrmu
38 12687dd9 2023-08-04 jrmu (local (
39 12687dd9 2023-08-04 jrmu (define x 10)
40 12687dd9 2023-08-04 jrmu (y (+ x x)))
41 12687dd9 2023-08-04 jrmu y)
42 12687dd9 2023-08-04 jrmu
43 12687dd9 2023-08-04 jrmu (local (
44 12687dd9 2023-08-04 jrmu
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))
48 12687dd9 2023-08-04 jrmu
49 12687dd9 2023-08-04 jrmu )
50 12687dd9 2023-08-04 jrmu
51 12687dd9 2023-08-04 jrmu
52 12687dd9 2023-08-04 jrmu f@100 x)
53 12687dd9 2023-08-04 jrmu
54 12687dd9 2023-08-04 jrmu (local (
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)))
58 12687dd9 2023-08-04 jrmu f)
59 12687dd9 2023-08-04 jrmu
60 12687dd9 2023-08-04 jrmu 1. (define A-CONSTANT
61 12687dd9 2023-08-04 jrmu (not
62 12687dd9 2023-08-04 jrmu
63 12687dd9 2023-08-04 jrmu
64 12687dd9 2023-08-04 jrmu (local (
65 12687dd9 2023-08-04 jrmu
66 12687dd9 2023-08-04 jrmu (define (odd an)
67 12687dd9 2023-08-04 jrmu (cond
68 12687dd9 2023-08-04 jrmu [(= an 0) false]
69 12687dd9 2023-08-04 jrmu [else (even (- an 1))]))
70 12687dd9 2023-08-04 jrmu
71 12687dd9 2023-08-04 jrmu
72 12687dd9 2023-08-04 jrmu (define (even an)
73 12687dd9 2023-08-04 jrmu (cond
74 12687dd9 2023-08-04 jrmu [(= an 0) true]
75 12687dd9 2023-08-04 jrmu [else (odd (- an 1))]))
76 12687dd9 2023-08-04 jrmu
77 12687dd9 2023-08-04 jrmu )
78 12687dd9 2023-08-04 jrmu
79 12687dd9 2023-08-04 jrmu
80 12687dd9 2023-08-04 jrmu (even a-nat-num)
81 12687dd9 2023-08-04 jrmu
82 12687dd9 2023-08-04 jrmu )
83 12687dd9 2023-08-04 jrmu
84 12687dd9 2023-08-04 jrmu ))
85 12687dd9 2023-08-04 jrmu 2. (+
86 12687dd9 2023-08-04 jrmu
87 12687dd9 2023-08-04 jrmu
88 12687dd9 2023-08-04 jrmu (local (
89 12687dd9 2023-08-04 jrmu
90 12687dd9 2023-08-04 jrmu
91 12687dd9 2023-08-04 jrmu
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))
95 12687dd9 2023-08-04 jrmu
96 12687dd9 2023-08-04 jrmu
97 12687dd9 2023-08-04 jrmu
98 12687dd9 2023-08-04 jrmu )
99 12687dd9 2023-08-04 jrmu f@100)
100 12687dd9 2023-08-04 jrmu
101 12687dd9 2023-08-04 jrmu
102 12687dd9 2023-08-04 jrmu
103 12687dd9 2023-08-04 jrmu 1000)
104 12687dd9 2023-08-04 jrmu 3. (local (
105 12687dd9 2023-08-04 jrmu
106 12687dd9 2023-08-04 jrmu
107 12687dd9 2023-08-04 jrmu (define CONST 100)
108 12687dd9 2023-08-04 jrmu (define f x (+ x CONST))
109 12687dd9 2023-08-04 jrmu
110 12687dd9 2023-08-04 jrmu
111 12687dd9 2023-08-04 jrmu
112 12687dd9 2023-08-04 jrmu )
113 12687dd9 2023-08-04 jrmu
114 12687dd9 2023-08-04 jrmu
115 12687dd9 2023-08-04 jrmu (define (g x y z) (f (+ x (* y z))))
116 12687dd9 2023-08-04 jrmu
117 12687dd9 2023-08-04 jrmu
118 12687dd9 2023-08-04 jrmu )
119 12687dd9 2023-08-04 jrmu
120 12687dd9 2023-08-04 jrmu
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)))
128 12687dd9 2023-08-04 jrmu (D 3 4))
129 12687dd9 2023-08-04 jrmu
130 12687dd9 2023-08-04 jrmu ;; sort : list-of-numbers -> list-of-numbers
131 12687dd9 2023-08-04 jrmu (define (sort alon)
132 12687dd9 2023-08-04 jrmu (local (
133 12687dd9 2023-08-04 jrmu
134 12687dd9 2023-08-04 jrmu (define (sort alon)
135 12687dd9 2023-08-04 jrmu (cond
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)))]))
139 12687dd9 2023-08-04 jrmu
140 12687dd9 2023-08-04 jrmu
141 12687dd9 2023-08-04 jrmu (define (insert an alon)
142 12687dd9 2023-08-04 jrmu (cond
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)))])]))
148 12687dd9 2023-08-04 jrmu
149 12687dd9 2023-08-04 jrmu )
150 12687dd9 2023-08-04 jrmu (sort alon)))