• Like
12장 함수 조합 다시 보기4
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

12장 함수 조합 다시 보기4

  • 306 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
306
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 12장 함수 조합 다시 보기 복잡한 프로그램 -> 보조함수 사용-> 코드 의미 가독성 증대
  • 2. 예 3.1 절
  • 3. 보조함수를 사용할 상황• 화면에 그리기 등의 특수 기능• 회계, 과학 등 특정 지식이 요구될 때• 일반화된 형태의 함수 + 특화된 함수의 조 합으로 사용할 경우• “템플릿 -> 함수 정의로 변환” 이 과정에서 보조함수 사용 필요를 느낌.
  • 4. WISH LIST• 만들어야 할 함수 목록을 “WISH LIST” 에 기록해두고 모두 완성• 다른 함수에 의존하지 않는 독립된 함수부터 테스트 시행
  • 5. 12.2 재귀 보조 함수 • 목표 : 수 리스트의 정렬 구현계약과 목적, 그리고 헤더예 Cf) 디자인 레시피 예 p.23 , p.81
  • 6. 12.2 재귀 보조 함수템플릿 템플릿을 구현하려고 예를 살펴보니 (first alon)을 (sort (rest along)) 에 삽입정렬할 필요에 봉착
  • 7. 12.2 재귀 보조 함수보조함수 insert 의 계약, 목적, 헤더 작성위 insert 의 헤더를 이용해서 sort 의 정의 구현
  • 8. 12.2 재귀 보조 함수이제 insert 만 구현하면 끝.insert 의 템플릿
  • 9. 12.2 재귀 보조 함수완성된 코드.
  • 10. 12.3 문제 일반화, 함수 일반화• 목표 : 임의의 다각형을 그리기posn 리스트의 정규표현식posn 리스트 ( list-of-posn ) 는 다음 두 가지 중 하나. 1. empty 2. ( cons p lop ) ; p는 posn 구조체, lop 는 posn 리스트
  • 11. 12.3 문제 일반화, 함수 일반화다각형 ( polygon ) 의 정규표현식다각형 ( polygon ) 는 다음 두 가지 중 하나. 1. ( cons p empty ) ; p는 posn 2. ( cons p lop ) ; p는 posn 구조체, lop 는 posn 리스트
  • 12. 12.3 문제 일반화, 함수 일반화
  • 13. 12.3 문제 일반화, 함수 일반화
  • 14. 12.3 문제 일반화, 함수 일반화
  • 15. 12.3 문제 일반화, 함수 일반화결과물
  • 16. 12.3 문제 일반화, 함수 일반화결과물 이거슨 원하는 바가 아님. 다각형을 그리는 것 만들려다 더 일반적인 각 꼭지점을 잊는 함수를 만들 게 됐음. 빈 줄을 잊는 함수 WISH LIST 에 추가요!
  • 17. 12.3 문제 일반화, 함수 일반화결과물 이거슨 원하는 바가 아님. 다각형을 그리는 것 만들려다 더 일반적인 각 꼭지점을 잊는 함수를 만들 게 됐음. 빈 줄을 잊는 함수 WISH LIST 에 추가요!
  • 18. 12.3 문제 일반화, 함수 일반화완성된 코드. graphing.ss 추가해야됨
  • 19. 13. 리스트 축약• ( cons 1 ( cons 2 ( cons 3 empty ) ) )• = ( list 1 2 3 )• = ‘( 1 2 3)
  • 20. 13. 리스트 축약• ( list ‘a ‘b ‘c )• = ‘( a b c )• first, rest 동일하게 사용
  • 21. 14. 자기 참조 데이터 정의 더 보기• 자기 참조 데이터 ; 자기 구조체를 속성으로 갖는 구조체 (와 같은 것들)
  • 22. 14. 자기 참조 데이터 정의 더 보기• 자기 참조 데이터 ; 자기 구조체를 속성으로 갖는 구조체 (와 같은 것들)예)( define-struct child ( father mother name date eyes ) )
  • 23. 14. 자기 참조 데이터 정의 더 보기( define-struct child ( father mother name date eyes ) )자식항목(child) 은 구조체다. (make-child f m na da ec) f와 m은 child 구조체이고, na(이름)와 ec(눈색깔)는 기호이며 da(생일)는 숫자다.
  • 24. 14. 자기 참조 데이터 정의 더 보기자식항목(child) 은 구조체다. (make-child f m na da ec) f와 m은 child 구조체이고, na(이름)와 ec(눈색깔)는 기호이며 da(생일)는 숫자다.
  • 25. 14. 자기 참조 데이터 정의 더 보기자식항목(child) 은 구조체다. (make-child f m na da ec) f와 m은 child 구조체이고, na(이름)와 ec(눈색깔)는 기호이며 da(생일)는 숫자다.
  • 26. 14. 자기 참조 데이터 정의 더 보기자식항목(child) 은 구조체다. (make-child f m na da ec) f와 m은 child 구조체이고, na(이름)와 ec(눈색깔)는 기호이며 da(생일)는 숫자다.
  • 27. 14. 자기 참조 데이터 정의 더 보기
  • 28. 14. 자기 참조 데이터 정의 더 보기자식항목(child)는 (make-child f m na da ec) 이고 각 필드는, 1. f와 m은 (a) empty 이거나 (b) child 이다. 2. na 와 ec 는 기호다. 3. da 는 숫자다.가계도 항목 family-tree-node (ftn) 는 다음 두 가지 중 하나다. 1. empty 2. (make-child f m na da ec) : f , m - ftn , na(이름) ec(눈 색깔) - 기호, da(생일) - 숫자
  • 29. 14. 자기 참조 데이터 정의 더 보기자식항목(child)는 (make-child f m na da ec) 이고 각 필드는, 1. f와 m은 (a) empty 이거나 (b) child 이다. 2. na 와 ec 는 기호다. 3. da 는 숫자다.가계도 항목 family-tree-node (ftn) 는 다음 두 가지 중 하나다. 1. empty 2. (make-child f m na da ec) : f , m - ftn , na(이름) ec(눈 색깔) - 기호, da(생일) - 숫자
  • 30. 14. 자기 참조 데이터 정의 더 보기자식항목(child)는 (make-child f m na da ec) 이고 각 필드는, 1. f와 m은 (a) empty 이거나 (b) child 이다. 2. na 와 ec 는 기호다. 3. da 는 숫자다.가계도 항목 family-tree-node (ftn) 는 다음 두 가지 중 하나다. 1. empty 2. (make-child f m na da ec) : f , m - ftn , na(이름) ec(눈 색깔) - 기호, da(생일) - 숫자
  • 31. 14. 자기 참조 데이터 정의 더 보기자식항목(child)는 (make-child f m na da ec) 이고 각 필드는, 1. f와 m은 (a) empty 이거나 (b) child 이다. 2. na 와 ec 는 기호다. 3. da 는 숫자다.가계도 항목 family-tree-node (ftn) 는 다음 두 가지 중 하나다. 1. empty 2. (make-child f m na da ec) : f , m - ftn , na(이름) ec(눈 색깔) - 기호, da(생일) - 숫자
  • 32. 14. 자기 참조 데이터 정의 더 보기
  • 33. 14. 자기 참조 데이터 정의 더 보기
  • 34. 14. 자기 참조 데이터 정의 더 보기
  • 35. 14.2 이진 검색 트리 (BST)노드 정의BT 정의이진 트리 (BT) 는 다음 두 가지 중 하나다. 1. false 2. ( make-node soc pn lft rgt ) : soc(주민번호) - 수 , pn(이름) - 기호, lft rgt – 이진 트리
  • 36. 14.2 이진 검색 트리 (BST)
  • 37. 14.2 이진 검색 트리 (BST)BST 정의 - 이진 검색 트리 불변항이진 트리 (BT) 는 이진 트리이며, 다음 두 가지 중 하나다.1. false 는 항상 이진 검색 트리이다.2. ( make-node soc pn lft rgt )는 다음 조건을 만족할 시 이진트리임. (a) lft 와 rgt 는 이진 검색 트리이다. (b) lft 내 모든 soc 값은 soc 보다 작다. (c) rgt 내 모든 soc 값은 soc 보다 크다.