게시판 인덱스

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

숙제 6-1에서 제공된 k -> sm5 인터프리터가 이상합니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
윤형석



가입: 2012년 9월 5일
올린 글: 26

올리기올려짐: 2012년11월16일 0:46    주제: 숙제 6-1에서 제공된 k -> sm5 인터프리터가 이상합니다. 인용과 함께 답변

주어진 뼈대코드로, 다음의 k-- 코드를 실행시키면 정상적인 결과와 일치하지 않습니다.

코드:

let i := 0 in
for i := 1 to 10 do
        (write i;
        i := i+1)
(* result : 1 2 3 4 5 6 7 8 9 10 *)


결과는 주석에 있듯 1 2 3 4 5 6 7 8 9 10 이어야 하는데, 주어진 인터프리터를 이용해 실행시키면 1 3 5 7 9가 나옵니다.

확인부탁드립니다.
위로
사용자 정보 보기 비밀 메시지 보내기
유진선



가입: 2011년 10월 5일
올린 글: 25

올리기올려짐: 2012년11월16일 0:52    주제: 인용과 함께 답변

hw4_1.ml 코드를 복사해서 trans_k.ml을 바꾼후 실행하면 제대로된 결과가 나오네요
Smile
위로
사용자 정보 보기 비밀 메시지 보내기
최성준



가입: 2011년 10월 28일
올린 글: 8

올리기올려짐: 2012년11월16일 10:05    주제: 답이 잘못나오는 예제 더 있습니다. 인용과 함께 답변

코드:

(* TRICKY FOR *)

let i := (-1) in
( (for i := 1 to 5 do
        (write i)
); write i)

(* RESULT : 1 2 3 4 5 5 *)


이것도 -k로 실행시키면 결과가 제대로 나오지만 -sm5로 돌리면 1 2 3 4 5 6으로 나옵니다. 그래도 숙제 hw6_1.ml을 제대로 작성했다면 -sm5했을 때랑 그냥 돌릴 때랑만 결과가 같으면 되는 거죠??


코드:

(* TRICKY! - NESTED FOR TEST 2 *)
let i := 0 in
for i := 1 to 5 do
        (for i := 1 to 5 do
                (write i; i := i+3)
        ; write i)

(*result : 1 2 3 4 5 8 1 2 3 4 5 8 1 2 3 4 5 8 1 2 3 4 5 8 1 2 3 4 5 8 *)



(* CORNER CASE TEST *)
let x := 0 in
let i := 0 in
for i := 0 to (x := x+1; 10) do
        i := i + 100 ;
write i;
write x;
write -1

(*RESULT : 110 1 -1 *)



let x := 0 in let i := 0 in let j := 0 in
for i := 0 to (for j := 0 to (i := i+1; 3) do j:=j+4; j) do write i

(* RESULT : 0 1 2 3 4 5 6 7  *)



이것들도 답이 이상하게 나옵니다. 공통적으로 for가 문제인 것 같습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이승중



가입: 2010년 6월 22일
올린 글: 561

올리기올려짐: 2012년11월16일 11:28    주제: 인용과 함께 답변

네 뼈대코드 다시 확인해 보도록 하겠습니다.

지금도 sm5랑 sonata 결과만 같으면 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

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


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