LISP 6 4 LISP Predicate TTrue NILFalse ATOM
- Slides: 32
LISP
6. 4 기본적인 LISP의 함수들 Predicate : T(True) 또는 NIL(False)을 값으로 반환하는 함수 Ø (ATOM X) Ø (NULL X) Ø (NUMBERP X) Ø (ZEROP X) Ø (MINUSP X) Ø (EQUAL X Y) 논리 연산자 : AND, OR, NOT Ø (NOT X) Ø (AND X 1 XN) Ø (OR X 1 XN) 조건문(IF) : (IF THEN) 형식과 (INF THEN ELSE) 형식을 갖는다 Ø (IF (> X 3)(PRINT X)) Ø (IF (> X 3)(PRINT X)(+ X 5)) 인공지능의 14 이해
PROG를 이용한 LENGTH함수의 정의 (DEFUN LENGTH (L) (PROG (COUNT) (SETQ COUNT 0) LOOP (COND ((NULL L)(RETURN COUNT))) (SETQ COUNT (+ COUNT 1) (SETQ L (CDR L)) (GO LOOP) )) 인공지능의 18 이해
Recursive call을 이용한 LENGTH함수의 정의 o (DEFUN LENGTH (L) (COND ((NULL L) 0) (T (1+ (LENGTH (CDR L) ) ) 인공지능의 21 이해
LAST함수와 MEMBER, APPEND, ERVERSE 함수를 재귀적으로 정의 o (DEFUN LAST (L) (COND ((NULL L) NIL) ((NULL (CDR L)) L) (T (LAST (CDR L))) )) Ø(DEFUN MEMVER (X L) (COND ((NULL L) NIL) ((EQUAL X (CAR L)) L) (T (MEMBER X (CDR L)) ))) Ø(DEFUN APPEND (X Y) (COND ((NULL X) Y) (T (CONS (CAR X) APPEND (CDR X) Y))) )) 인공지능의 22 이해
함수 FACTORIAL n n n > (DEFUN FACTORIAL (N) (IF (= N 1) 1 (* N (FACTORIAL (- N 1))) ) ) FACTORIAL 인공지능의 25 이해
TRACE 함수 n n > (TRACE FACTORIAL) (FACTORIAL) 인공지능의 26 이해
해답 n n n (DEFUN MY-LENGHT (L) (IF (NULL L) 0 (+ (IF (ATOM (CAR LIST)) 1 (MY-LENGTH (CAR L)) ) (MY-LENGTH (CDR L))))) 사용 예는 다음과 같다. > (MY-LENGHT ‘(A B C)) 3 > (MY-LENGHT ‘(A (B C) D (E F))) 6 > (MY-LENGHT ‘(A NIL (B C) D)) 5 인공지능의 29 이해
EVAL: EVAL 함수는 인자를 실행하여 값을 얻는다. n> (EVAL '(+ 2 2)) ; RETURNS 4 n> (EVAL (CONS '+ '(2 2 2))) ; RETURNS 6 n> (EVAL (LIST '+ '2 '3 )) ; RETURNS 5 n> (SETQ A 10) n 10 n> (SETQ B 220) n 220 n> (EVAL (LIST '+ A B )) n 230 n> ; (LIST '+ A B) => '(+ 10 220) (EVAL (LIST '+ 'A B)) ; RETURNS 230 n; ; RETURNS 230 ; (LIST '+ 'A B) => '(+ A 220) A 값은 10 인공지능의 32 이해
- Lisp atom
- Predicate nominative and predicate adjective
- Compound predicate nominative
- Complete predicate and simple predicate examples
- Predicate adjective and predicate nominative
- Predicate adjective diagramming
- Is comes a linking verb
- Predicate nouns and predicate adjectives
- The structure of the atom section 2 defining the atom
- Kelemahan teori rutherford
- Positive list scheme
- Autocad lisp nedir
- Lisp functional programming
- Lisp and prolog
- Xkcd lisp
- Cons in lisp
- Common lisp: a gentle introduction to symbolic computation
- Introduction to lisp
- Lisp cond
- Shen lisp
- Cons in lisp
- Lisp talude
- Lisp examples
- Lisp functional programming
- Prefix postfix
- Streams lazy evaluation
- Lisp jvm
- Cons in lisp
- Is lisp a functional programming language
- Lisp cond
- Lisp lenguaje de programacion
- Greenspun's tenth rule
- Lisp map resolver