게시판 인덱스

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

ex3 질문드려요~

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2009)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
노건일
손님





올리기올려짐: 2009년9월22일 18:19    주제: ex3 질문드려요~ 인용과 함께 답변

주어진 formula를 받아서 참값을 만들어내는 함수 eval 이라면,

참,거짓을 판단하는 함수를 만들라는건가요?
위로
노건일
손님





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

1. 그리고, 웹에서 찾은건데요

andalso 는 and와 비슷하지만 (둘다 true일때 true)
앞이 false이면 바로 false 리턴

orelse 는 or과 비슷하지만(둘 중 하나만 true이면 true)
앞이 true이면 바로 true 리턴..

이 정의대로 만들어도 되나요?

2. andalso에서 둘다 false면 false인가요?
위로
허기홍



가입: 2007년 9월 27일
올린 글: 231

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

첫째,
eval 함수는 타입 정의에서 보시다시피 bool type 값을 리턴합니다.
교수님께서 적어놓으신 참값이라는 뜻은 진리값(truth value)를 의미합니다.
따라서 주어진 식이 참이면 true 거짓이면 false를 리턴하시면 됩니다.


둘째,
제가 nml과 ocaml을 착각했네요.

어제 한 답변은 nml에 해당됩니다.

ocaml에서는 andalso, orelse키워드가 없습니다.

논리 and는 && 혹은 & 로 쓰고
논리 or는 || 혹은 or로 씁니다.
의미는 nml에서 andalo, orelse처럼 첫번째 인자의 결과 값에 따라 두번째 인자를 계산 하느냐 마느냐를 결정합니다.

이런 면에서는 nml의 표현력이 더 풍부하다고 할 수 있겠네요.

그리고 ocaml에서 and 키워드는 함수나 타입 정의할 때 쓰지요.

인용:

(* nml *)
and 와 andalso, or와 orelse 는 논리적으로 동일합니다. 여러분이 알고계시는 논리의 and, or 입니다.

다만, 여러 경우에서 andalso와 orelse가 더 빠르겠죠. 왜냐면 두번째 인자를 계산 안하니까.

그렇다고 and와 or가 필요없느냐. 그건 아닙니다. 두번째 인자가 전체 진리 값에는 영향을 못미치지만, 그냥 지나치지 않고 어떤 기계적인 행동(side effect라고 하지요)을 해야할 경우 필요합니다. 예를들어 모든 계산 과정마다 printf를 집어넣고 싶다면 첫번째 인자가 참이라고 해서 그냥 넘어가버리면 안되니까요.


허기홍 가 2009년9월23일 11:06에 수정함, 총 2 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
노건일
손님





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

조교님의 친절한 답변에 항상 감탄하며..

자꾸 귀찮게 기본적인걸 질문하게 되는데요..

IMPLY (a, b) 라면

a가 참인 경우, b가 참이면 true
a가 거짓인경우 true
나머지 false

이게 맞나요?
위로
허기홍



가입: 2007년 9월 27일
올린 글: 231

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

네. 맞습니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2009) 시간대: GMT + 9 시간(한국)
페이지 11

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


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