게시판 인덱스

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

숙제5의 1번에 대해서 질문있습니다.

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





올리기올려짐: 2006년6월3일 11:00    주제: 숙제5의 1번에 대해서 질문있습니다. 인용과 함께 답변

함수 정의를 보면
exeval : pgm -> state -> statelist
라고 되어있는데 그럼 실행시킬때 정수 state를 넘겨야 하나요?

x := 1; (x := x+1)*

위의 것을 실행시키려면
exeval REPEAT(ASSIGN(ADD(VAL, NUM(1)))) 1
이렇게 해야 하는 건가요? 그러니까 앞의 x := 1에서 1을 두번째 인자로 넘기는 것인가요?

아니면
exeval SEQUENCE(ASSIGN(NUM(1)), REPEAT(ASSIGN(ADD(VAL, NUM(1))))) ???

???부분에 정수인 뭔가를 넣는 것인가요?

시그내처가 잘 이해가 안되서 질문합니다.
위로
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년6월4일 0:03    주제: 인용과 함께 답변

김두남 씀:
코드:
x := 1; (x := x+1)*

위의 것을 실행시키려면

코드:
exeval SEQUENCE(ASSIGN(NUM(1)), REPEAT(ASSIGN(ADD(VAL, NUM(1))))) <??>

<??> 부분에 정수인 뭔가를 넣는 것인가요?

<??> 부분에 기계상태의 초기값을 넣어주고 실행하면 됩니다.

김두남 씀:
코드:
exeval REPEAT(ASSIGN(ADD(VAL, NUM(1)))) 1

이렇게 해야 하는 건가요? 그러니까 앞의 x := 1에서 1을 두번째 인자로 넘기는 것인가요?

exeval 을 재귀적으로 정의한다면,
실행 중간에 위와 같은 식으로 함수의 재귀호출이 일어나겠지요.

하지만 우리가 처음부터 저런식으로 실행시키지는 않을 것입니다.
pgm 이라는 것은 전체 프로그램을 말하는 것이고,
state 는 초기 기계상태를 말하는 것입니다.

초기 기계상태는 0 이라고 가정하셔도 되고,
다른 값으로 하셔도 상관없습니다.
채점은 그와 관계없이 독립적으로 이루어지도록 하겠습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Spring 2006) 시간대: GMT + 9 시간(한국)
페이지 11

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


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