게시판 인덱스

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

[숙제 2] 공지사항 및 보충 세부사항 안내드립니다. (3/17 수정)

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
안중원
Site Admin


가입: 2023년 3월 13일
올린 글: 31

올리기올려짐: 2026년3월16일 11:46    주제: [숙제 2] 공지사항 및 보충 세부사항 안내드립니다. (3/17 수정) 인용과 함께 답변

안녕하세요 수강생 여러분,

숙제 2에 대한 공지사항 및 보충 세부사항을 안내해드리겠습니다.

내용 : https://kwangkeunyi.snu.ac.kr/4190.310/26/hw2.pdf
제출 : http://ropas.snu.ac.kr/~ta/4190.310/26/submit/index.pl
기한 : 3/21 23:59:59

제출 페이지에서 학번을 아이디로 하여 가입(register)하신 다음, 해당 계정으로 로그인하여 숙제를 제출하시면 됩니다. 가입 기간은 4/14까지입니다.


# 과제 관련 주의 사항
과제를 제출하기 전에 꼭 주의사항( https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=7620 )을 확인해 주세요.
OCaml 버전은 5.4.0으로 설정하여 채점할 예정입니다.

# 뼈대 코드
숙제 2는 뼈대 코드가 없습니다


# 보충 세부사항
(이 글에 답글로 질문하지 말아 주세요. 별도의 게시글로 질문해 주시기 바랍니다!)

## Exercise 1 "계산기"

* X가 C나 L의 바깥에서 사용되는 경우 Unbound 예외를 냅니다. 아래의 예외 정의를 제출 파일에 포함해주세요.
코드:
exception Unbound

* C에 대해서는 첫번째 인자와 두번째 인자가 모두 정수인 경우만 고려하시면 됩니다.
* C의 첫번째 인자가 두번째 인자보다 큰 경우에 그 식은 0으로 계산됩니다.
* D의 계산은 OCaml의 실수 나눗셈 연산자 `/.`를 사용합니다.
* L의 계산은 아래끝과 위끝을 a, b, 적분할 함수를 f(x)라고 할 때 다음과 같습니다:
n=0에서 시작하여 a + dx*n < b인 동안 dx * f(a + dx * n)를 더합니다. a > b인 경우에는 b에서부터 시작하여 b + dx*n < a인 동안 비슷하게 더합니다.

## Exercise 2 "Mathemadiga"

* SUM 혹은 TIMES 의 인자로 빈 리스트가 들어올 경우 InvalidArgument 예외를 냅니다.
아래 코드를 참고하시고, 숙제 제출시 포함해 주세요.

코드:
exception InvalidArgument


## Exercise 3 "우선큐"

## Exercise 4 "짚-짚-나무"

* goDown은 자식 노드의 맨 왼쪽으로 가는 것으로 하겠습니다. 갈 수 없을 경우 NOMOVE 예외로 처리해 주세요
* goLeft는 현재 위치의 sibling(같은 부모노드를 가지는 형제노드)중 가장 가까운 왼쪽 sibling으로 옮겨가는 함수입니다.
* goRight도 마찬가지로 가장 가까운 오른쪽 형제노드로 옮겨가는 함수입니다.
* goDown에 대한 위의 보충스펙과 함께 생각해보시면, goUp, goDown, goRight, goLeft 네 함수로, 트리의 모든 노드를 방문할 수 있다는 것을 알 수 있습니다.
* 주어지는 tree 값에서 NODE의 인자로 빈 리스트는 들어오지 않는다고 가정합니다.
* 예외의 인자로 들어가는 문자열은 원하는 대로 설정하면 됩니다.

## Exercise 5 "Queue = 2 Stacks"

* 어떤 코드를 작성해야 하는지에 대해서 : 숙제의 템플릿을 그대로 따라가는 IntListQ 모듈을 구현하는 것으로 하겠습니다.
숙제 문서에 정의된 module type Queue를 숙제 파일에 포함하시고, 제시된 IntListQ 모듈을 완성하세요.
* 여러분이 구현한 IntListQ가 Queue 모듈 타입을 만족하는지 꼭 확인해주세요. 확인해 보는 방법은, 끝에 아래와 같이 한 줄을 추가하고 제대로 컴파일되는지 확인해 보시면 됩니다. 물론 제출하실 때에는 이 라인은 지워주셔야 합니다.

코드:
module ValidIntListQ = (IntListQ : Queue)




감사합니다.

조교 드림
_________________
TA 안중원
e-mail: jwahn@ropas.snu.ac.kr
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2026) 시간대: GMT + 9 시간(한국)
페이지 11

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


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