게시판 인덱스

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

숙제 2에 관해서 알려드립니다. [3/22 8:43AM 마지막 수정]

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2009)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월17일 18:01    주제: 숙제 2에 관해서 알려드립니다. [3/22 8:43AM 마지막 수정] 인용과 함께 답변

숙제 2가 공지되었습니다.
http://ropas.snu.ac.kr/~kwang/4541.664A/09/hw2.pdf

기한은 3월 24일 화요일 자정까지 입니다.
_________________
- soon@ropas


공순호 가 2009년3월25일 23:26에 수정함, 총 5 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
박창규



가입: 2009년 3월 17일
올린 글: 4

올리기올려짐: 2009년3월18일 17:04    주제: 기한 인용과 함께 답변

공순호 씀:
기한은 3월 27일 화요일 자정까지 입니다.

제가 알기로는 3월 24일이 화요일입니다만,,,3월 27일 금요일을 의도하셨다면 대환영입니다^^
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월18일 17:05    주제: 인용과 함께 답변

죄송합니다. 저의 오타입니다.

숙제 기한은 교수님께서 정하시는 일입니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월18일 18:23    주제: 인용과 함께 답변

* 문제 1번에서 몇가지 exception들을 정의합시다.
코드:

exception DivideByZero
exception FreeVariableX
exception InvalidSigma


- DivideByZero는 0으로 나눌 때에 발생하고,
- FreeVariableX는 ADD(X, X)와 같이 X의 값을 알 수 없는 경우에 발생하고,
- InvalidSigma는 SIGMA(INT(10), INT(0), X)와 같이 SIGMA의 lower bound가 upper bound 보다 큰 경우에 발생된다고 합시다.

* 문제 2번은 OCaml 의 Module 에 관한 문제 입니다. 제가 지난 Tutorial 에서 다루지 않았던 부분 입니다. 이를 위한 Tutorial을 한번 더 하도록 하겠습니다. 내일(3/19) 수업 시간에 시간을 정하도록 하겠습니다.

Google을 검색하면 참고할만한 좋은 문서들을 찾으실 수 있습니다. Ocaml Module로 검색하시면 됩니다.

* 문제 2번의 code 부분에 오타가 있었습니다. 교수님께서 수정하실 것입니다.

* 문제 6번의 reach_G(X)에 대한 설명 부분에서 {y | x -> y .. } 로 y를 추가하시기 바랍니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월19일 16:44    주제: 인용과 함께 답변

문제 1번의 INTEGRAL 에 관해서 알려드립니다.

1.
적분식을 알갱이 크기 0.1로 계산하는 방법이 세가지가 있을 수 있습니다.
우리는 다음 그림과 같은 방법으로 하기로 정합시다.



이 방법은 http://en.wikipedia.org/wiki/Rectangle_method 의 "Top-left corner approximation"에 해당합니다.


2.
적분 구간이 알갱이 크기 0.1보다 작은 경우가 있을 수 있습니다.
그런 경우에는 해당 구간을 알갱이의 크기로하고 처리하도록 합시다.


3.
부동 소수점 연산에 의한 채점 오류의 가능성을 걱정하는 수강생이 있었습니다.
조교는 함수의 계산 결과가 특정 범위안에 존재하는지를 이용해서 채점하도록 하겠습니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월19일 19:40    주제: 인용과 함께 답변

* 문제 1에서
코드:

type real = float


으로 합시다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
박창규



가입: 2009년 3월 17일
올린 글: 4

올리기올려짐: 2009년3월20일 9:50    주제: 인용과 함께 답변

수식을 본지 너무 오래되어서 살짝 헷갈리는게 있는데,,,

SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))

위처럼 SIGMA나 INTEGRAL이 중첩될 경우 안쪽 SIGMA, INTEGRAL부터 계산해나가는게 맞는거죠?
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월20일 9:53    주제: 인용과 함께 답변

인용:

코드:

SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))


SIGMA와 SIGMA가 중첩된 경우군요. Smile

말씀하신 것처럼, 안쪽에서부터 계산하는 것이 맞습니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
고윤석



가입: 2008년 9월 26일
올린 글: 11

올리기올려짐: 2009년3월21일 21:21    주제: 이상한데요, 인용과 함께 답변

인용:
SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))


이 경우에는 1부터 10까지 더하는 함수를 10번 실행하는건가요?
안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?

중첩되려면 다음과 같이 되는게 정상 아닐까요?
코드:
SIGMA(INT 1, INT X, SIGMA(INT 1, INT 10, X))
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
장수원



가입: 2008년 9월 26일
올린 글: 167

올리기올려짐: 2009년3월22일 3:47    주제: Re: 이상한데요, 인용과 함께 답변

안녕하세요~

조교는 아닙니다만,

mir597 씀:

인용:
SIGMA(INT 1, INT 10, SIGMA(INT 1, INT 10, X))


이 경우에는 1부터 10까지 더하는 함수를 10번 실행하는건가요?
안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?


이 경우는
코드:

SIGMA(INT 1, INT 10, INT 55)

와 같은 경우 아닐까요?
위로
사용자 정보 보기 비밀 메시지 보내기
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월22일 8:39    주제: 인용과 함께 답변

1.

코드:

SIGMA(INT 1, INT 10, INT 55)

에 대해서는 장수원 학생의 의견이 맞습니다.

고윤석 학생의 질문,
인용:

안쪽 SIGMA의 X는 명시적이지만 바깥쪽 SIGMA의 X는 어디있죠?

에 대한 답은

"SIGMA 안에 X가 반드시 있어야 한다는 규칙은 없는 것 입니다."

2.

고윤석 학생이 제시한 다른 코드

코드:

SIGMA(INT 1, INT X, SIGMA(INT 1, INT 10, X))


의 의미는

코드:

SIGMA(INT 1, INT X, INT 55)


와 동일하고, 이것은 더 이상의 계산이 가능하지 않은 식이됩니다. 그 이유는 SIGMA의 상한이 X이고, 이것이 결정되지 않기 때문입니다.


3.

아마도, 다음과 같은 코드를 생각하지 않았을까 합니다.

코드:

SIGMA(INT 1, INT 10, SIGMA(INT 1, X, X))


이 코드는 우리가 계산할 수 있는 exp를 나타내고 있습니다.
그 의미는 C 코드로 나타내면 다음과 같은 의미일 것이고,
코드:

for(i = 1; i <= 10; i++)
    for(j = 1; j <= i; j++)
        result = result + j

그 결과값은 220. 입니다.


4. 일반적으로 summation SIGMA에서 하한과 상한의 값은 정수가 됩니다. 하지만 문제 1번에서는 임의의 exp를 허용하고, 이는 실수값이 될 수 있기 때문에 그 의미를 확장할 필요가 있습니다. SIGMA의 의미를 다음의 C 코드와 같이 되도록 합시다.

코드:

double sigma(double l, double u, double (*f)(double x))
{
        double result = 0;
        for(double i = l; i <= u; i++)
        {
                result = result + (*f)(i);
        }
        return result;
}


for문을 이용해서 *구현*하라는 것이 아님을 주의하시기 바랍니다. *의미*를 설명하기 위해서 여러분께 친숙한 C 코드를 이용했을 뿐입니다.

예를 들어서

코드:

(SIGMA(REAL 1.5, REAL 11.3, X))


는 1.5 + 2.5 + ... + 10.5 = 60.0

을 나타냅니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
공순호



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2009년3월22일 8:43    주제: 인용과 함께 답변

* 문제 1의 DIV에 대해서 보다 정확하게 알려드립니다.

mathemadiga에서의 나눗셈(DIV)은

정수 나눗셈(몫을 구하는) 것이 아니라,

실수 나눗셈을 수행하는 것으로 합니다.

즉,

코드:

DIV(INT 1, INT 2)


의 값은 0.5 입니다.
_________________
- soon@ropas
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2009) 시간대: GMT + 9 시간(한국)
페이지 11

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


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