반응형
표시함수(Inidcator function)을 
f(x) = 1 (x= 무리수)
f(x)= 0 (x=유리수)
함수는 리만적분(x축에서 직사각형으로 근사하면서 적분하는 방식)으로는 적분이 불가능합니다.
이 때는 y축을 기준으로 가산(countable)과 불가산(uncountable)을 따지게 되는데요.
위 경우 0부터 1까지 적분을 한다치면, 유리수의 집합은 가산 집합(분수를 행렬 형태로 쓰고 대각선으로 세어 나가면서 자연수와 일대일 대응이 가능)이고 무리수는 불가산 집합이므로(실수가 불가산 집합인데 유리수가 가산 집합이므로 여집합은 불가산 집합) y축에서 바라본 유리수의 함수값이 나올 측정 확률은 0에 가까워 집니다. 따라서 위의 적분 값은 1이 된다고 볼 수 있죠.

반대로 
f(x) = 0 (x=무리수)
f(x) = 1 (x=유리수)
인 경우에는 [0,1]에서 르벡적분을 하면 0이되겠죠.

더 참고할 자료.
반응형
반응형
연습문제1.8
 (define (cuberoot-iter guess x)
    (if (good-enough? guess x)
        guess
        (cuberoot-iter (improve guess x)
                       x)))
 (define (improve guess x)
    (/ (+ (* 2 guess guess guess) x) (* 3 guess guess) ))
 (define (good-enough? guess x)
    (< (abs (- (* guess guess guess) x)) 0.001))
 (define (cuberoot x)
    (cuberoot-iter 1.0 x))

연습문제1.9

(+ 4 5)
(inc (+ (dec 4) 5))
(inc (+ 3 5))
(inc (inc (+ (dec 3) 5)))
(inc (inc (+ 2 5)))
(inc (inc (inc (+ (dec 2) 5))))
(inc (inc (inc (+ 1 5))))
(inc (inc (inc (inc (+ (dec 1) 5)))))
(inc (inc (inc (inc (+ 0 5)))))
(inc (inc (inc (inc (5)))))
(inc (inc (inc (6))))
(inc (inc (7)))
(inc (8))
(9)
아래
(+ 4 5)
(+ (dec 4) (inc 5))
(+ 3 6)
(+ (dec 3) (inc 6))
(+ 2 7)
(+ (dec 2) (inc 7))
(+ 1 8)
(+ (dec 1) (inc 8))
(+ 0 9)
(9)
위 프로시저의 프로세스는 되돌고, 아래 프로시저의 프로세스는 반복한다.
반응형
반응형
연습문제1.1

> 10
10
> (+ 5 3 4)
12
> (/ 6 2)
3
> (+ (* 2 4)(- 4 6))
6
> (define a 3)
> (define b (+ a 1))
> (+ a b (* a b))
19
> (= a b)
false
> (if (and (> b a) (< b (* a b)))
      b
      a)
4
> (cond ((= a 4) 6)
        ((= b 4) (+ 6 7 a))
        (else 25))
16
> (+ 2 (if (> b a) b a))
6
> (* (cond ((> a b) a)
           ((< a b) b)
           (else -1))
     (+ a 1))
16

연습문제1.2

(/ (+ 5 4 (- 2 ( - 3 (+ 6 (/ 4 5))))) (* 3 (- 6 2) (- 2 7)))
-0.246

연습문제1.3
(define (onethird a b c)
    (+ (cond ((> a b) (square a))
             (else (square b)))
       (cond ((and (> a b) (> b c)) (square b))
             ((and (< a b) (> a c)) (square a))
             (else (square c))
       )
    )
    )

연습문제1.4
> (define (a-plus-abs-b a b)
    ((if (> b 0) + -) a b))
> (a-plus-abs-b 1 2)
3
> (a-plus-abs-b 1 -2)
3
>

연습문제1.5
인자 먼저 계산하는 실행기의 결과: 0
이유: if 구문에서 true가 되어, 바로 0이라는 결과를 반환하기 때문이다.
정의한 대로 계산하는 실행기의 결과: (무한 루프)
이유: (p) 함수의 정의를 찾기 위해 무한 루프를 돌고, 결국 결과를 반환하지 못한다.

연습문제1.6
cond는 잇단식(sequence of expression)을 계산하고 마지막 식의 값을 돌려주므로 무한 루프에 빠지는 반면, if는 참이 아닐 때만 alternative를 계산해서 제곱근을 구할 수 있다.

연습문제1.7
> (define (good-enough?1 guess x)
    (< (abs (- (improve guess x) guess)) 0.001))
> (define (sqrt-iter2 guess x)
    (if (good-enough?1 guess x)
    guess
    (sqrt-iter2 (improve guess x)
                x)))
> (define (sqrt3 x)
    (sqrt-iter2 1.0 x))
0을 넣었을 때 전보다 오차가 적었다.
컴퓨터 프로그램의 구조와 해석 상세보기
해럴드 애빌슨 지음 | 인사이트 펴냄
프로그래밍 뼈대를 구성하는 기술을 설명한『컴퓨터 프로그램의 구조와 해석』. 이 책은 소프트웨어...《컴퓨터 프로그램의 구조와 해석》은 프로시저를 써서 요약하는 법과 데이터를 요약해서 표현력 끌어올리기...
반응형

+ Recent posts