이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
노준하
가입: 2010년 9월 8일 올린 글: 6
|
올려짐: 2010년9월9일 1:28 주제: 숙제 1-2와 기타 질문이 있습니다 |
|
|
제가 OCaml을 처음 사용하기 때문에 tutorial 이전에 숙제를 해결하기가 수월하지 않습니다. 양해부탁드립니다.
먼저 숙제에서 보통 동시에 입력받는 인자는 * 로 연결되어 있는데,
제가 let rec sigma a b f = ~;; 이런식으로 작성하면 ->로 연결됩니다.
제가 무엇을 잘못 만든 것인가요?
그리고 숙제 1-2에서 matrix를 제가 만들어야 하는건가요?
숙제에서 보면 (int * int -> float)으로 제시되어있는데 type만 제가 정할 방법이 있는지 궁금합니다.
마지막으로 숙제를 반드시 하나의 함수만으로 구현해야 하는지 궁금합니다.
예를 들어 1-2의 경우 prod 함수를 만들고 sumprod에서 이를 사용하도록 구현하려고 했습니다만 꼭 sumprod 함수 안에서 prod를 선언해야 하는지 궁금합니다.
===== 수정된 내용 =====
그리고 숙제에서 string list list 등으로 list를 사용하라고 제시했는데 예제에는 각 항목들이 semi-colon이 아닌 comma로 연결되어 있습니다. 이 둘은 다른 것인가요?
마지막으로 숙제 1-3에서 "00001234" 등을 입력했을 때는 어떻게 처리해야 하는지 궁금합니다. [["영"]; ["일"; "천"; "이"; "백"; "삼"; "십"; "사"]]라고 해야 하나요? 유사하게 "00000000"의 경우 [["영"]; ["영"]]이 되어야 하는지도 궁금합니다.
감사합니다.
노준하 가 2010년9월9일 3:33에 수정함, 총 1 번 수정됨 |
|
위로 |
|
 |
최종욱
가입: 2009년 9월 15일 올린 글: 84
|
올려짐: 2010년9월9일 1:33 주제: |
|
|
* 는 튜플을 만드는 연산자니까...
let rec sigma (a, b, f) = ~;; 식으로 하시면 정의역의 타입이 int * int * (int -> int) 로 정의될 것입니다.
두번째 질문은 type만 따로 정한다는..게 무슨 뜻인지 잘 모르겠는데 일단 만드는 함수는 matrix (matrix를 좌표를 주면 원소값을 내뱉는 함수로 생각)를 입력받아 동작하는 것이기 때문에, 테스트를 하려면 matrix를 따로 만들어야겠죠?
아니면 사용자 정의 type을 원하신 거라면, 예를 들어, type real = float;; 하시면 타입이 정의됩니다.
세 번째 질문은 아래 글에서 조교님께서 큰 상관이 없다고 하셨는데, 이건 제가 장담코 답변드릴 수 있는 것이 아니니 패스...
도움이 되셨길 바랍니다 :3:3 _________________ Jongwook Choi
Seoul National University, School of Computer Science & Engineering |
|
위로 |
|
 |
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2010년9월9일 12:03 주제: |
|
|
노준하 씀: | 숙제에서 보면 (int * int -> float)으로 제시되어있는데
type만 제가 정할 방법이 있는지 궁금합니다. |
float의 더하기와 곱하기 함수는 +. 과 *. 입니다. 이 둘을 잘 이용하시면 원하는 타입의 함수를 정의할 수 있으실 겁니다.
노준하 씀: | 마지막으로 숙제를 반드시 하나의 함수만으로 구현해야 하는
지 궁금합니다.
예를 들어 1-2의 경우 prod 함수를 만들고 sumprod에서 이를 사용하도록 구현
하려고 했습니다만 꼭 sumprod 함수 안에서 prod를 선언해야 하는지 궁금합니
다. |
여러 개의 함수로 구현해도 괜찮습니다. 이전 질문과 답변을 참고해 주세요.
https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=2177
노준하 씀: | 그리고 숙제에서 string list list 등으로 list를 사용하라
고 제시했는데 예제에는 각 항목들이 semi-colon이 아닌 comma로 연결되어 있
습니다. 이 둘은 다른 것인가요? |
OCaml에서는 semi-colon이 맞습니다.
노준하 씀: | 마지막으로 숙제 1-3에서 "00001234" 등을 입력했을 때는 어
떻게 처리해야 하는지 궁금합니다. [["영"]; ["일"; "천"; "이"; "백"; "삼";
"십"; "사"]]라고 해야 하나요? 유사하게 "00000000"의 경우 [["영"]; ["
영"]]이 되어야 하는지도 궁금합니다. |
"00001234"의 경우 [["영"]; ["천"; "이"; "백"; "삼"; "십"; "사"]]이 되어야 합니다.
"00000000"의 경우 [["영"]; ["영"]]이 되어야 합니다. |
|
위로 |
|
 |
|