일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kotaro Oshio - twilight short version
- 오픈소스
- MNIST
- Structure and Interpretation of Computer Programs
- 컴퓨터그래픽스
- Revolution OS
- DirectXOpenTutorial
- Arevia
- Game Engine Architecture
- Computer Graphics
- fsf
- keras
- Today
- Total
목록SICP (2)
kimkijun
되돌거나(recursion) 반복하는(iteration) 프로세스 먼저 다음처럼 사디리곱(factorial) 함수가 있다고 하자. n! = n * (n-1) * (n-2) 사다리곱을 계산하는 여러 방법 가운데 하나는, 0보다 큰 수 n이 있을 때 n!의 값이 n과 (n-1)!의 곱과 같다는 데서 비롯한 것이다. n! = n * [(n-1) * (n-2)] = n * (n-1)! 그러므로 (n-1)! 을 계산하는 값에 n을 곱하면 n! 값을 얻을 수 있다. 여기에 1!이 1이라는 사실만 보태서 계산 방법을 그대로 프로시저로 옮겨 쓰면, 다음과 같다. (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) 이 프로시저로 6! 값을 구해 보면, 1.1..
프로시저를 써서 요약하는 법 1. 계산 프로세스(computational process)란? 컴퓨터 속에 있는 것이며, 데이터(data)라고 하는것을 조작하면서 어떤 일을 한다. 프로세스(process)는 사람이 만든 규칙에 따라 움직이고, 이 규칙을 가리켜 프로그램이라 한다. 계산 프로세스란, 마법사가 넋을 불러내려 할 때 머릿속에 떠올리는 생각과 엇비슷하여, 보거나 만지지는 못하지만 없다고 무시할 수 없는 그 무엇이다.(잉?) 2. 프로그램 짤 때 바탕이 되는 것 프로그램 짜기에 좋은 언어는 그저 컴퓨터에 할 일을 지시하는 수단만이 아니다. 프로그래밍 언어는 프로세스에 대한 사람의 생각을 짜임새 있게 담아내는 그릇이기도 하다. 그러므로 언어를 설명할 때에는 다른 무엇보다 단순한 생각을 모아 복잡한 생..