태그>sicp(총 193개의 글)
'sicp' 관련 최근글
-
- Newton's Method
-
정의를 말할 수 있는 젊은이, 중년이(가) 되고 싶다 by 빵사장님|2010/11/05 01:17
1.1.7 연습 : Newton's method 가 나옵니다. 위키피디아가 최고! Newton's method 는 어떤 함수 f(x) 가 있을 때 f(x) = 0 이 되는 값을 approximation 하는 방법입니다. 즉, 방정식의 근을 근사로 구하는 방법이죠. 링크가 깨지지 않는 이상 이 그림 하나면 해결이 됩..
- Newton's Method
-
- 연습문제 1.5
-
정의를 말할 수 있는 젊은이, 중년이(가) 되고 싶다 by 빵사장님|2010/11/05 00:20
다시 공부시작했습니다. 1년전에 했던거라 다 잊어먹어서 처음부터 하고 있어요. 연습문제 1.5 같은 경우는 그냥 지나쳤는데 이번에는 정리할 수 있게 이해한 거 같네요. (다른 분 풀이를 참고하긴 했음.) (define (p) (p)) (define (test x y) (if (= x 0) 0 y)) ..
- 연습문제 1.5
-
- 1.2 프로시저와 프로세스
-
Again Instant Life(?) by 노세한마리|2010/03/05 00:23
1.1 에서는 프로그램을 짜는 3가지 기본 방법을 배웠다면 1.2 에서는 그런 프로그램들중에 어느 프로그램이 좋은 프로그램인지 가늠할수 있는 혜안을 길러주게 하고 그 방법으로 과거 사람들이 많들어 놓은 프로시저를 분석해 보여주고 있다. 여기서 나오는 개념이 시간복잡도 &..
- 1.2 프로시저와 프로세스
-
- 1.1장 요약 [프로그램 짤 때 바탕이 되는 것]
-
Again Instant Life(?) by 노세한마리|2010/03/01 23:57
이책의 중심은 문법도 아니고 컴퓨터에 대한 설명도 아니다. 순수히 코딩을 하는 기법에 대하여 설명을 하고 있다. 책에서 말하는 프로그램 짤때의 바탕이 되는 것은 1. 단순 연산 2. 변수 정의 3. 1,2을 잘 적용 하여 만든 프로시저 간략화 그리고 코드를 짤때에는 Blockstruture를 ..
- 1.1장 요약 [프로그램 짤 때 바탕이 되는 것]
-
- 연습문제 1.20
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/07/06 12:15
인자 먼저 계산하는 방법 (gcd 206 40) > (if (= 40 0) 206 (gcd 40 (reminder 206 40)) ) (gcd 40 (reminder 206 40)) (gcd 40 6) - 1 > (if (= 6 0) 40 (gcd 6 (reminder 40 6)) ) (gcd 6 (reminder 40 6)) (gcd 6 4) - 2 > (if (= 4 0) 6 (gcd 4 (re..
- 연습문제 1.20
-
- 연습문제 1.19
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/07/06 11:28
> (define (fib-iter a b p q count) (cond ((= count 0) b) ((even? count) (fib-iter a b (+ (* p p) (* q q)) (+ (* q q) (* 2 p q)) (/ count 2))) (else (fib-iter (+ (* b q) (* a q) (* a p)) (+ (* b q) (* a q)) p
- 연습문제 1.19
-
- 연습문제 1.17
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/07/05 23:47
계속해서 반복되는 프로세스로 문제를 풀다보니 18번부터 불어버렸네요;; > (define (fast-times b c) (define (double k) (* k 2)) (define (halve k) (/ k 2)) (cond ((= c 0) 0) ((even? c) (fast-times (double b) (halve c))) (..
- 연습문제 1.17
-
- 연습문제 1.18
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/07/05 23:23
> (define (fast-times b c) (define (double k) (* k 2)) (define (times-iter a b c) (cond ((= c 0) a) ((even? c) (times-iter (+ a (double b)) b (- c 2))) (else (times-iter (+ a b) b (- c 1))))) (times-iter ..
- 연습문제 1.18
-
- 연습문제 1.16
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/07/05 22:45
귀띔 덕분에 쉽게 풀었습니다. > (define (fast-expt b n) (define (expt-iter a b n) (if (= n 0) a (expt-iter (* a b) b (- n 1)))) (expt-iter 1 b n)) > (fast-expt 3 1000) 13220708194808066368904552597521443659654220327521481676649203682268285973467048995407783138506080619639097..
- 연습문제 1.16
-
- 연습문제 1.14
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/06/30 22:59
동전바꾸기 문제를 분석하는 문제입니다. 일단 > (define (count-change amount) (cc amount 5)) > (define (cc amount kinds-of-coins) (cond ((= amount 0) 1) ((or (< amount 0) (= kinds-of-coins 0)) 0) (else (+..
- 연습문제 1.14
-
- 연습문제 1.12
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/06/23 02:16
> (define (pascal row col) (cond ((<= row col) 1) ((= col 1) 1) (else (+ (pascal (- row 1) (- col 1)) (pascal (- row 1) col))))) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 처음에는 이런 파스칼의 삼각형을 모두 출력하는 문제 인 줄 알았는데 다른..
- 연습문제 1.12
-
- 연습문제 1.11
-
정의를 말할 수 있는 젊은이가 되고 싶다 by 빵사장님|2009/05/28 00:39
recursive process 로 작성한 것 > (define (f n) (cond ((< n 3) n) (else ( + (- n 1) (* 2 (f (- n 2))) (* 3 (f (- n 3))))) ) ) iterative process 로 작성한 것 > (define (f2 n) (define (f-iter it n1 n2 n3) (if (= it n) ..
- 연습문제 1.11
-
- 연습문제 1.10
-
진짜 중요한건 코드한줄 잘 짜는게 아니다! by 빵사장님|2009/05/26 01:05
> (define (A x y) (cond ((= y 0) 0) ((= x 0) (* 2 y)) ((= y 1) 2) (else (A (- x 1) (A x (- y 1)))))) 애커만 함수를 구현한 프로시저이다. 구글에서 애커만 함수에 대해서 좀 찾아봤는데 책에서 설명하고 있는 프로시저와 달라서 ( 영..
- 연습문제 1.10
-
- 연습문제 1.9
-
진짜 중요한건 코드한줄 잘 짜는게 아니다! by 빵사장님|2009/05/22 00:20
> (define (inc x) (+ x 1)) > (define (dec x) (- x 1)) > (define (plus a b) (if (= a 0) b (inc (plus (dec a) b) ) )) > (plus 4 5) > (inc (plus 3 5)) > (inc (inc (plus 2 5))) > (inc (inc (inc..
- 연습문제 1.9
-
- 1.2.1 되돌거나(recursioni) 반복하는(iteration) 프로세스
-
진짜 중요한건 코드한줄 잘 짜는게 아니다! by 빵사장님|2009/05/21 23:57
오늘은 양이 좀 많다;; 새로운 용어가 많이 나와서 그런듯. factorial 함수를 구현한다고 했을 때 1. recursion 을 이용 > (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) > (factorial 6) 720 recursion을 이용하면 연산을 바로 계산 할 수 없..
- 1.2.1 되돌거나(recursioni) 반복하는(iteration) 프로세스