게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

숙제를 가능한한 최적으로 짜야 되나요? 아님 올바른 결과만 나와도 되나요?

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2008)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
윤한상



가입: 2008년 9월 14일
올린 글: 10

올리기올려짐: 2008년9월14일 17:23    주제: 숙제를 가능한한 최적으로 짜야 되나요? 아님 올바른 결과만 나와도 되나요? 인용과 함께 답변

제목이 곧 내용
위로
사용자 정보 보기 비밀 메시지 보내기
정영범



가입: 2005년 9월 5일
올린 글: 167

올리기올려짐: 2008년9월16일 10:32    주제: 인용과 함께 답변

올바른 결과를 내는데 집중하세요.

이 수업시간에서는 최적화 보다는 프로그래밍의 미학에 더욱 비중을 두고 있습니다.
재귀적으로 짜는 것보다는 C언어의 스타일로 반복문을 실행시키면서 변수의 값을 변경시켜 프로그래밍하는 것이 더 효율적일 때도 있습니다.
하지만, 그런 경우에도 재귀적으로 프로그래밍을 하세요.

문제에서 반복되는 부분을 찾아 어떻게 작은 문제들로 쪼개서 풀 수 있는지를 배우는 숙제이니까요.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이충민
손님





올리기올려짐: 2008년9월18일 1:08    주제: 인용과 함께 답변

그러니까
코드:
(define (foo x)
  (cond ((some-argument-test? x) (error "hey dude"))
        ((some-end-test? x) foo-end)
        (else (bar (foo (foo-bar x))))))

이런 procedure가 있을 때, some-argument-test?가 맨 처음 한 번만 하면 recursion 하는 동안 다시 검사할 필요가 없다고 할 때,
코드:
(define (foo x)
  (define (recur x)
    (if (some-end-test? x)
        foo-end
        (bar (foo (foo-bar x)))))
  (if (some-argument-test? x)
      (error "hey dude")
      (recur x)))

이렇게 만드는 노력도 별로 신경쓸 필요가 없다는 말인가요?
위로
이충민
손님





올리기올려짐: 2008년9월18일 1:10    주제: 인용과 함께 답변

수정:
코드:
(define (foo x)
  (define (recur x)
    (if (some-end-test? x)
        foo-end
        (bar (recur (foo-bar x)))))
  (if (some-argument-test? x)
      (error "hey dude")
      (recur x)))
위로
정영범



가입: 2005년 9월 5일
올린 글: 167

올리기올려짐: 2008년9월18일 10:10    주제: 인용과 함께 답변

예, 신경쓰지 마세요. Very Happy
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2008) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay