전체 글 138

[JESS] Jess deffunction (함수선언)

제스에서 사용자함수를 만들기 위해서 deffunction문을 앞에 써준뒤 함수명을 기능에 맞게 부여한뒤 사용하면 되는데 이역시 사용하는 방식을 일반함수와 비슷합니다. 2. 큰수를 구하는 함수 (deffunction test_fct(?x ?y) (if(> ?x ?y)then (return ?x) else (return ?y) ) ) (printout t"MAX : " (test_fct 100 200) crlf)어떤가요 함수 선언시 앞에 deffunction문이 붙는거이외에는 일반 저희가 선언할때랑 비슷하죠? 다만 제스에서는 return이 생략되도 ?x 값이나 ?y값을 리턴할수 있습니다. (if(> ?x ?y)then ?x else ?y ) 이런식으로 생략되도 ?x 와 ?y값은 리턴됩니다. 3. 리스트를 이..

。공부 。 2008.07.08

[JESS] Jess if-then-else

1. if함수 (bind ?num 100) (if (> ?num 95)then (printout t"A+" crlf) else (printout t"A+이 아닙니다." crlf) ) 위의 소스는 ?num이 95보다 크면 A+을 출력하라는 간단한 if함수의 예제 입니다. 선행표기법을 제외하면 일반 if문과 같다는것을 알수있습니다. 2. member$ (bind ?com-list (create$ 모니터 본체 스피커)) (if (member$ 본체 ?com-list)then (printout t"본체가 있습니다." crlf) else (printout t"본체가 없습니다." crlf) )일반리스트를 활용한 if함수 예제 입니다. 여기서 눈여겨 봐야 할 함수가 member$죠 member$는 member$ 바로..

。공부 。 2008.07.08

[JESS] Jess 반복문 (foreach, for, while)

C나 자바에서와 같이 제스 에서는 반복문이 존재 한다. foreach나 for문 while와 같은 함수가 말이죠. 1. foreach 함수는 일반리스트의 원소를 차례차례 한개씩 받아오는 함수이다. (bind ?com-list (create$ 모니터 본체 스피커)) (bind ?num 0) (foreach ?data-list ?com-list (printout t (++ ?num)" : " ?data-list crlf) )foreach 함수는 위와 같이 쓰인다. 첫번째줄에서 일반리스트를 선언해준뒤 두번째줄에서 카운터변수 ?num을 0으로 초기화 시켜주고 있다. foreach 함수의 첫번째 변수인 ?data-list는 ?com-list의 원소값 한개를 받아와 저장하게 된다. com-list의 원소가 nil이..

。공부 。 2008.07.08

[JESS] Jess 일반 리스트

jess 에서는 C나 자바에서와 비슷한 의미로 리스트라는걸 쓰더군요 아직 배우는수준이라 정확히 이녀석을 어디에 어떻게 쓰는지는 자세히는 모르지만 문법정도는 설명할수 있을거 같네요 1. 변수를 선언하듯 리스트를 선언해 줍니다. (bind ?com-list (create$ 모니터 본체 스피커)) create$ 라는 것이 보이죠? 이는 제스에서 일반 리스트를 생성할때 첫번째원소는 함수로 인식하기 때문에 (예를 들어 (+ 2 2) 에서 +를 함수로 인식하는것과 마찬가지) 이를 해결하기 위해 create$를 사용합니다. 함수앞에 '$' 가 붙으면 일반리스트를 제어하는 함수라 생각하면 쉽다. 이렇게 되면 ?com-list 의 첫번째원소는 모니터 두번째는 본체 그리고 세번째는 스피커되 되는것이죠 2. 리스트의 헤드와..

。공부 。 2008.07.08

[JESS] Jess 기초문법, bind, batch, printout

jess 는 lisp 이라는 언어 기반의 문법을 사용하더군요.. jess 에서는 기본적으로 변수선언 이라는것이 없습니다. 단지 변수를 선언할때 변수 앞에 '?' 만 붙여주면 끝 ' ?name' 이런식으로 사용하면 되는것이죠. 하지만 변수에 값을 할당할시에는 꼭 bind 라는 예약어를 사용해 변수를 사용 해야 하더군요 (bind ?name "kyoe") 이런식으로 말이죠 이렇게 처음과 끝에 괄호를 붙어 사용하는 방식을 리스트방식 이라고 했던거 같네요.. - 변수에 데이터 할당 - (bind ?age 25) (O) (bind ?age = 25) (X) (bind ?name "kyoe") (O) jess 에서의 변수는 어떤형식이든지 지원을 하기 때문에 특별히 변수 형식을 지정해줄 필요가 없습니다. C언어나 자..

。공부 。 2008.07.01

[JESS] Jess , 이클립스 연동

인공지능언어 JESS는 이클립스와 연동이 가능하다. 즉 도스 프롬프트창이 아니라 이클립스에서 프로그램 코딩이 가능하다는 것이죠. JESS는 한글로 표기된 설명이 드물기 때문에 이클립스와 연동이 가능하는 것 이외에는 한글로된 정보를 어디에도 찾아볼수가 없더군요.. 이틀을 헤멧나요? 결국엔 영어로된 자료를 해석했지요.. 네이버사전에서 단어하나하나 찾아가며 해석하기를 약 1시간! 드디어 한페이지를 해석.! 구굴에서는 번역해서 웹페이지를 띄워주는 기능있다는것을 한페이지 해석이 끝난뒤에야 알았습니다.. ㅡㅡ 자 그럼 Jess를 이클립스와 연동해 볼까요! 참! 이클립스는 깔려있어야 겠죠? 물론 jdk도 말이죠 Jess는 자바기반 언어이고 자바의 클래스를 사용할수 있다고 하네요 1. http://www.jessrul..

。공부 。 2008.06.27

인디아나 존스4 : 크리스탈 해골의 왕국(Indiana Jones And The Kingdom Of The Crystal Skull, 2008)

기본 정보 | 모험,액션 | 미국 | 121분 | 개봉 2008.05.22 감독 | 스티븐 스필버그 출연 | 해리슨 포드(인디아나존스), 케이트 블랑쉐(이리나 스팔코), 카렌 알렌(마리온 래번우드) 이번 시리즈 4편은 1편의 마지막 장면이였던 성궤를 보관해놨던 창고에서 부터 시작이 된다. 1편의 장면과 너무 흡사해서 혹시나해서 인디아나존스1(레이더스)를 다운받아 봤는데 역시나 그 장소... 하지만 시대 배경은 그후 20년이 지난 후.. 해리슨 포드가 많이 늙어 보이는군요.. 해리슨 포드는 첫장면에서 소련군 스팔코에게 잡히지만 무사히 탈출합니다 하지만 돌아와서의 생활이 평탄치는 안더군요 고고학교수자리에 더이상 있을수 없게 된겁니다 존스는 다른 지역으로가 시간강사라도 하려 떠나지만 머트(샤이아 라보프)가 그..

GP506 [GP506,2008]

GP506 감독 공수창 출연 천호진, 조현재, 이영훈, 이정헌 나의 점수 : 영화관을 찾은게 얼마만인지? 기억도 나지 안는다.. 대학 모임에 나왔다가 친구녀석이 여자친구랑 GP506을 본다는 소리에 마침 옆에 있던 우리 두 솔로의 귀가 움찔거린다... 그리고 메아리처럼 울려 퍼진다 ' 일요일 GP506 조조.. 일요일 GP506 조조... 일요일 GP506 조조....' 기회다 싶었다 마침 꼭 보고싶었던 영화였고 사람도 별로없는 조조할인 시간대 더군다나 조조할인은 영화표가 단돈 4000원! 친구녀석과 난 주저없이 여친있는 친구녀석에게 다가가 우리 표도 끊어달라 조른다. 흔쾌이 승락하는 여친있는 친구 녀석... 어찌나 고맙던지요..ㅠㅠ 영화는 처음부터 음산하고 약간은 징그러운 장면과 함께 시작해서 엔딩까지..

[JAVA] 2차원 배열 동적할당

우리는 배열을 이용해서 힙영역에 내가 원하는 크기만큼의 배열을 동적할당할수 있습니다. 왜굳이 동적할당을 해야하나? 그냥 넉넉하게 지정해주면 안되나? 하는 분들도 있겠지만 그렇게 되면 메모리손실이 뜻하지 않게 너무커져버릴수 있기 때문입니다. 고등학교를 예로 든다면 반별로 학생수가 다를수가 있습니다 1반에는 30명 2반에는 35명 이렇게 있을수가 있다는 거죠.. 이럴땐 그냥 넉넉하게 배열을 50씩 잡아줄수 있겠지만 우리는 동적할당을 이용해서 배열을 크기를 지정해 보도록하죠. import java.io.*; public class Exam_array { public static void main(String[] args)throws IOException{ BufferedReader in = new Buffer..

。공부 。 2008.02.27

VmWare로 우분투를!

전부터 꼭한번 써보고싶던 OS중에 하나였던 우분투를 VMWARE를 사용해서 설치해 봤습니다. 설치 방법도 까다롭지않아서 누구나 쉽게 설치할수 있을거 같네요. 음... 근데 전 3번 다시깔았다는... ^^:; 우분투 설치후 배경화면 입니다. 윈도우와 비교해서 상당히 깔끔하다는것을 알수있는데요 특이한건 윈도우에는 시작아이콘이있는 '바' 가 아래쪽에 한개가 있는거에 비에서 우분투는 위아래 2개가 있습니다. 아래쪽에 있는 '바' 는 현재 활성화 되어있는 창이 나열되게 되고 우측에 보면 네모난게 두개 보이죠? 좀더 흐린 네모박스를 누르면 또다는 배경화면이 뜸니다 화면을 좀더 넓게 사용할수있겠죠 . 물론 두개 뿐만아니라 우분투는 정육면체로 사용이 가능하죠. 우측끝에 휴지통도 보이는군요. 위쪽 '바'는 윈도우의 시작..

。공부 。 2008.02.19