어떤 수가 두 수의 세제곱을 합한 값일때, 그렇게 만들 수 있는 방법이 2개 이상인 수를 라마누잔 수라고 함. 446 페이지, 연습문제 3.71에 나옴

참고

AND

UCB Scheme

Reference 2011. 7. 9. 21:59

주소 : http://inst.eecs.berkeley.edu/~scheme/

UC Berkeley의 CS61A(SICP) 강의에서 사용되는 Scheme. STk 의 수정버전이라고 하는데, 자세히는 모름. CS 강의에서 사용하기 위해 수정되어 있어, 책의 코드들을 실행하는데 모듈들이 포함되어 있음.

SICP 공부할때는 Racket 보다는 좋을듯 한데, 문제는 GUI REPL이 없다는 점. 일단 emacs의 inferior-scheme과 scheme-mode를 사용하면 좋을듯.


AND

2011년 5월 12일 (목)
  • 범위 : ~ 3.1.2 (모두들 한번씩 보아요~)
2011년 5월 19일 (목)
  • 범위 : ~ 3.2
  • 발표 : 정다정
2011년 5월 24일 (화)
  • 범위 : ~ 3.3.1
  • 발표 : 정다정 

2011년 6월 15일 (수)
  • 범위 : ~ 3.3.4

2011년 6월 21일 (화)
  • 범위 : ~ 3.3.5

2011년 6월 28일 (화)
  • 준비 : 정다정, 전현철
  • 범위 : ~ 3.4.2 p399

2011년 7월 5일 (화)
  • 범위 : 3.4.2 p399 ~
     
2011년 7월 12일 (화)
  • 범위 : 3.5.1 ~ 3.5.2
AND

AND

3.4 병행성에 관련 된 챕터에서도 역시나 "가정하자"가 등장합니다.
대표적인 parallel-execute 실행을 위해서 MIT Scheme이 필요하다는 이야기를 주워듣고, MIT/GNU Scheme을 다운 받아 써봤습니다. Emacs 더군요.......
열심히 삽질해서 Emacs 사용법을 알아내었는데 parallel-execute 프로시져가 없네요 -_-;;

결국 다시 구글링해서 DrRacket 에서 사용 가능한 방법을 찾았습니다.
(require (planet "sicp-concurrency.ss" ("dyoo" "sicp-concurrency.plt" 1 1)))
 
위 코드만 추가하면 되는군요 ㅠ_ ㅠ (단, racket 언어 사용) 
AND

AND

1월 4일 (화)
  • 발표 : 유훈종(intro, 2.1.1, 2.1.2, 2.1.3)
1월 6일 (목)
  • 리뷰 : 유훈종 (intro, 2.1.1, 2.1.2, 2.1.3)
  • 발표 : 유승근 (2.1.4)
1월 11일 (화)
  • 리뷰 : 정다정 (2.1.4)
  • 발표 : 유훈종 (2.2.1)
1월 13일 (목)
  • 리뷰 : 전현철 (2.2.1)
  • 발표 : 유승근 (2.2.2)
1월 18일 (화)
  • 리뷰 : 유승근 (2.2.2)
  • 발표 : 전현철 (2.2.3-a)
1월 20일 (목)
  • 리뷰 : 유훈종 (2.2.3-a)
  • 발표 : 정다정 (2.2.3-b)
1월 27일 (목)
  • 리뷰 : 생략
  • 발표 : 전현철 (~겹친매핑, 2.2.3 완료), 정다정 (2.2.3-b)
2월 8일 (화)
  • 리뷰 : 전현철
  • 발표 : 유승근 (2.2.4, ~그림틀)
2월 10일 (목)
  • 리뷰 : 생략
  • 발표 : 전현철 (2.2.4 완료)
2월 15일 (화)
  • 리뷰 : 전현철
  • 발표 : 유승근, 전현철(~ 2.3.2)
  • 문제풀이 : 유승근(2.53, 2.54, 2.55), 유훈종(2.56, 2.57), 전현철(2.58)
2월 17일 (목)
  • 리뷰 : 전현철
  • 발표 : 정다정(~ 2.3.3 - ex.2.62)
  • 문제풀이 : 유승근(2.59), 유훈종(2.60), 전현철(2.61), 정다정(2.62)
2월 22일 (화)
  • 리뷰 : 유승근
  • 발표 : 유훈종(~ 2.3.3)
  • 문제풀이 : 전현철(2.63 ~ 2.65)
2월 24일 (목)
  • 리뷰 : 전현철
  • 발표 : 정다정(~ 2.3.4)
  • 문제풀이 : 전현철(2.67, 2.68), 유승근(2.69, 2.70), 유훈종(2.71, 2.72)
3월 3일 (목)
  • 리뷰 : 유훈종
  • 발표 : 전현철(2.4.1), 정다정(2.4.2)
3월 10일 (목)
  • 리뷰 : 전현철
  • 발표 : ~(2.4.3)
3월 17일 (목)
  • 발표 : 전현철(2.4.3), 가능하다면 2.5.1
  • 문제풀이 : 정다정(2.73), 유승근(2.74), 유훈종(2.75), 전현철(2.76)
3월 24일 (목)
  • 발표 : 정다정(2.5.1)
  • 문제풀이 : 정다정(2.77), 전현철(2.78), 유승근(2.79), 유훈종(2.80)
4월 1일 (금)
  • 범위 : 2.5.2
  • 문제풀이 : 개별 풀이 진행
5월 3일 (화)
  • 범위 : 2.5.2 ~ 2.5.3 (마무리~)
AND

처음에 GitX를 사용했었는데 조금 사용법이 난감하고 원격 저장소 컨트롤이 안되는지 모르는건지;; 여하간 그러하여서~
Gitbox 로 써보았습니다. 인터페이스가 좀 더 직관적입니다.
free 버전은 저장소 3개 제한이 있습니다.
(그리고 mac os 만 지원합니다.)
다운로드는 공식사이트에서 받거나, app store에서 받을 수 있습니다.

AND

2.2.1에서 값만 포함된 차례열(sequence)를 대상으로 표현 방법과 연산을 짜 보았다면, 2.2.2에서는 이를 일반화하여 원소에 차례열이 있는 경우까지로 확장하여 설명한다. 그림으로 나타내면 나무꼴 형태가 되며, 주어진 인자가 값인지 쌍인지 확인하기 위해 pair? 술어 프로시저를 사용할 수 있다.

연습문제 2.28 fringe 프로시저를 짜는 부분이 직관적으로 다가오지 않는다. 연습문제 2.24~2.29는 github 참조. 특히 연습문제 2.29 풀이는 스터디 시간에 풀이한 line 420~459 코드가 좀 더 명확하니 참고하시길.

AND

소스 코드는 github suguni/sicp/ch2.1.rkt 참조. line 256 부터 시작함.

2.14~2.16에 대한 해석 추가

책에 정의되어 있는 interval 데이터에 대한 산술연산 프로시저의 결정적 문제는 항등원이 정의되어 있지 않다는 점이다. 즉, A / A = I, A * I = A 를 만족하는 항등원이 정의되어 있지 않다. 2.16에서 말한 흠이 없는 구간-산술 연산 꾸러미를 만드는 것은 항등원을 먼저 정의하고, 이에 따라 위 조건에 맞는 *, / 연산을 다시 짜야 한다. *,/ 연산을 재정의 한 것(실패함)에 대한 내용은 소스 주석 참조.

AND