ਬi⨢i ' 

ਬi⨢ '⠬   ᨬ, ᫠  . muLisp  i 
㭪i ஧i, iﭭ, i㢠  ஡  'i.  
  -i ᪫i ' .  㫮 ᪠ ࠭i, 
muLisp   ⨯ : ⮬  ᯨ᪨. ⮬ i  ᨬ  
᫠. ᪨  i 'i, i  i   - 
i୥ ॢ.  ⢮७i   i. 

  '⮬ ,  直 ' 4 ਡ,   直  
i :

-  PRINT - i'.  i쭨 冷 ASCII ᨬi,   类 
   ⥬ ii ᨬ  i -. PRINT - i' 
      i. I i  ஧i஬:  i   
   i i 65536 ᨬi. 

- 筥 祭. 祭 ᨬ   -直 ' , 直 
  i  ii 'i.   ।i i  PRINT-i' 
  ᨬ,   室i 㤥  祭. 筥 祭 㯭  
  CAR -  ᨬ.

- ᯨ᮪ ⨢⥩. i i 祭 ⨢⥩ ᨬ, 
  iᮢ  祬,  ଠ  : 
  (i'1 祭1 i'2 祭2 ... i'N 祭N). 
   iiiii ⥬ ᯨ᮪ ⨢⥩  ஦i (i NIL).
    i   㭪i ⨢⥩  ࠯i. 
  㯭  CDR -  ᨬ.

- 祭 㭪i.  ⢮७i ᨬ  muLisp 楩 ਡ i 
  "㭪i 祭". 祭 㭪i ᪫   蠡 
  設 ,   D-i. 祭 쮣 ਡ  ਬ  
  १i  㭪i 䫠i (GETD  ᨬ).

SYMBOLP  㭪i, 猪 ஧i ᨬ.   ,  㬥  
ᨬ i NIL  ⨫ .

$ (SYMBOLP 'XYZ)		$ (SYMBOLP 41) 
T				NIL                     

$ (SYMBOLP '(q w))		$ (SYMBOLP '())
NIL				T

  ii (䠩 common.lsp) 祭i 㭪i SYMBOL-VALUE, 猪 
祭 ᨬ,  㭪i SYMBOL-PLIST, 猪   ᯨ᮪ 
⨢⥩ ᨬ.

(DEFUN SYMBOL-VALUE (SYM)		(DEFUN SYMBOL-PLIST (SYM)
((SYMBOLP SYM) (CAR SYM) ) )		((SYMBOLP SYM) (CDR SYM) ) )

쭥 㭪i ᢮  SETF, 猪 祭  common.lsp.  
 i  i 'i ᨬ: (SETF <iઠ 'i> <祭>). 
१ 㭪i SETF  ।⠢ ᠭi ࠭i 㭪i SET  SETQ.

(SETQ x y)	   		(SETF x y)
(SET x y)			(SETF (SYMBOL-VALUE x) y)

஬i, 㦪, , i  ii , ࠯, ࠯   
ii ᯥi ஫  ii. ୨ Escape-ᨬ  \. 
⮪⭨ scape-ᨬ  |. ii i  ⮢㢠 
 PRINT-i ᨬi,   쮣 ।  ॡ ⠢ \,   
冷   |. ࠧ |q w e|  |sym(bol|  ᨬ.  ⠭ 
i \  |  ᨬ i ⠢ ।  \.    
࠭ ᨬ, 直 i ᯥii i,  i   ⮪⭨ 
escape-ᨬ. ணࠬ i *PRINT-ESCAPE* 㫥쪮 ⨯ ii 
  escape-ᨬi.   i NIL,  escape-ᨬ  
࠭  . ii  "  ஫ i |. ﭥ 
ਪ (ᯮ *PRINT-ESCAPE*=T):

$ (SETQ |sym(bol| 3)	$ (SETQ a |q w e|)	$ s\a	$ s\\a
$ |sym(bol|		$ a			sa	|s\\a||
3                       |q w e|

$ (SETQ *PRINT-ESCAPE* NIL)	$ (SETQ a |q w e|)	$ (SETQ "s\\a" 2)
$ s\\a				$ a			$ |s\\a|
s\a				q w e			2

᫮  i訬 ਬi⨢ '⮬.    i  ஡. 
i ᫮   ii , । 类    i. 
 ii  ii ᫠ i  i ii ( 65536)  i 
ii. i쪨 祭 ᫠   ᠬ ᫮,   ii 
।  ⠢ .  ਡ ࠪਧ ᫮  ' 
:

-  ⮦i.   i  ᠬ ᫮. i 㯭  
  CAR- ᫠.

- . i i   㯭 ᨬi, i ࠪਧ ⨯ ᫠:

	⭥	i'󬭥		$ (CDR 5.6)	$ (CAR 5.6)
	NIL	T			MACRO		5.6
	LAMBDA	NLAMBDA			$ (CDR 1212)	$ (CDR -121212)
஡	MACRO	SPECIAL			NIL		NLAMBDA

祭 ਡ  㯭  CDR- ᫠.

- .  ᫮   i,  楩 ਡ i 祭 i. 
   ᫮ -  i,   '' i  ᫮  
  ᫠.  ᫮ ஡ -  i i   ᥫ쭨, 直 
  '離   i (⭨  i'󬭨).

- .  ᫮  i,  祭 ਡ  i  i  
  i (-'㢠).  ᫮  i,    i i  
  訩 騩 .  ᫮ ஡ -  i i  
   , 直   ⭨ i ᫮.

㭪i iﭭ EQL  ⮢㢠  iﭭ ᥫ.  i 
쭮 㭪i  iﭭ  ᥫ  ii:

$ (EQL -3 4)	$ (EQL 4 4)	$ (= 2 2 2)	$ (= 2 2 3 2)
NIL		T		T		NIL

஡i ᫠    ⪮ i   ஡ ᪮. 
i i *PRINT-POINT* ii  ⨯  ஡ ᥫ. 
  i NIL,  i ஡i ᫠     ஡ 
᪮.  *PRINT-POINT* = n,  ஡i ᫠   n  i 
⪮ .  i ஡ ᫠  ⮬筮 ᪮.

$ 3/4	$ 3/9	$ 5/1	$ 12/9
3/4	1/3	5	4/3

i i *PRINT-BASE* ii  ᭮ ⥬ ᫥,  i ஡ ᫠.  祭 i i  i  ॡ㢠  iࢠi i 2  32,  ⠪ i 㤥 ᭮ ⥬ ᫥, i muLisp   ⪮i ⥬i ᫥.

$ (SETQ ten 10)				$ (SETQ *PRINT-BASE* 2)	$ 234
$ (SETQ *PRINT-BASE* 16)		$ ten			11101010
$ ten					1010
0A

㭪i, 猪 ஧i ii ᫠,  INTEGERP.   ,   
㬥  i ᫮  NIL i. 㭪i NUMBERP ஧i ᫮.

$ (INTEGERP 100)	$ (INTEGERP 3.5)
T			NIL

$ (NUMBERP 3.5)		$ (NUMBERP 4/5)
T			T

᫮  i    ᨬ:

$ (SYMBOLP "23")	$ (NUMBERP "23")
T			NIL

  ᫠  ⮬. 㯭i ࠧ  i⨭: 
(ATOM 3.5), (ATOM "23"), (ATOM 'APPLE).

  ਬi⨢ '⮬, 直   -i  ii ' .
i   ⮬.   i諠 i 㭪i  CONS.   
᪫  CAR-  CDR- i.    窮 . 
 X i Y ' ,  ࠧ (X . Y)  ᮬ, CAR- 类  X, 
 CDR- - Y.

$ (SETQ A (cons X Y))	$ (CAR A)	$ (CDR A)	$ (CDR '(R . S))
$ A			X		Y		S
(X . Y)

  窮     -类 '.
᮪ (x1 x2 x3)   i, i '易i   CDR- i. 
 CAR-     ᯨ. CDR-  ⠭쮣  
  NIL.  ᯨ᮪    i (x1 . (x2 . (x3 . NIL))). 
㭪i READ ⠭ ࠧ ஧i  窮  ࠧ, ⠪ i ᯨ᪮.
㭪i  PRINT  '  ᯨ᪮ i.

$ (SETQ a '(q . (w . nil))	$ a	$ (CONSP '(q . w))	$ (CONSP (q w))
(q w)				(q w)	T			T

㭪i (CONSP obj) ஧i . ᮪   ਬi⨢ '⮬,   
 i. ⦥, १⮬ 㢠 㭪i CONSP  ᯨ 㤥 .



㭪i ஧i

㭪i ஧i -  ⢥द, i ⮢  ஧i 
 iii 'i  muLisp. i 㭪i  i쪨  㬥, 
  㫥 祭.  ஧i ', 直   i 
.   ஧㫨 i 㭪i ஧i: SYMBOLP, INTEGERP, 
NUMBERP, ATOM, LISTP, NULL. ﭥ ii.

(ZEROP <obj>).    ,  obj - ᫮ 0.
(PLUSP <obj>).    ,  obj - ⭥ ᫮.
(MINUSP <obj>).   ,  obj - i'󬭥 ᫮.
(ODDP <obj>).     ,  obj - ୥ i ᫮.
(EVENP <obj>).    ,  obj - ୥ i ᫮.

㭪i (ASCII <sym>)  ASCII- ᨬ <sym>. 㭪i (ASCII <num>) 
 ᨬ, ASCII  类 i  <num>.  ⮣, 鮡 , 
  ᨬ sym i,   㭪i:
(< (ASCII 'a) (ASCII sym) (ASCII 'z)). 

i쪨 muLisp  ஧i i  i i,  (ASCII 's) = (ASCII 'S)
 -类 ᨬ s. 㭪i ISCHAR ஧i i.  室 ASCII 
i ᨬi, i  , i ⮢㢠 ୨ 
Escape-ᨬ.

$ (DEFUN ISCHAR (char)				$ (ASCII 'f)	$ (ASCII 70)
(<= (ASCII 'a) (ASCII char) (ASCII 'z)))	70		F

$ (ASCII '\9)		$ (ASCII 57)      
57			\9

㯭i 㭪i  i ஧i ᨬ  ᫠.

(ALPHA-CHAR-P <obj>)   -  T,  <obj> - i.
(NUMERIC-CHAR-P <obj>) -  T,  <obj> - .
(ALPHANUMERICP <obj>)  -  T,  <obj> - i  .

$ (ALPHA-CHAR-P W)	$ (ALPHA-CHAR-P \3)	$ (ALPHA-CHAR-P ~)
T			NIL			NIL

$ (NUMERIC-CHAR-P W)	$ (NUMERIC-CHAR-P \3)	$ (NUMERIC-CHAR-P ~)
NIL			T			NIL

$ (ALPHANUMERICP W)	$ (ALPHANUMERICP \3)	$ (ALPHANUMERICP ~)
T			T			NIL

稬,  ᨬ ஬i (' ')   i.



 3-1

1. ॢi,  ᪫ ᯨ᮪  :
) i ᥫ			) ⭨  i'󬭨  i, i 
) ᨬi			    १ , 箬  ii ୠ
) i'󬭨 ஡ ᥫ	) i'󬭨 ୨ i ᥫ

2.  㭪i, 猪  i ᯨ᪮  i :
) (q w e r t y)	->	(q (w (e (r (t (y))))))
) (q w e r t y		->	((((((y) t) r) e) w) q)
) (q w e r t y)	->	((q) (w) (e) (r) (t) (y))
) (q w e r t y)	->	((q w) (e r) (t y))

3.  㭪i, 猪  ᯨ᪮ 直   i 3  㣮 ⮢稪, 
 ii ᯨ᮪.

iii

1. a) $ (DEFUN EQNUM (lst)
      ((NULL (CDR lst)) T)
      ((NUMBERP (CAR lst)) ((EQL (CAR lst) (CADR lst)) (EQNUM (CDR lst))))  )
   ) $ (DEFUN SYMALL (lst)
       ((NULL lst) T)
       ((SYMBOLP (CAR lst)) (SYMALL (CDR lst)))  )
   ) $ (DEFUN DRIBVID (lst)
       ((NULL lst) T)
       ((EQL (CDAR lst) SPECIAL) (DRIBVID (CDR lst)))  )
    ) $ (DEFUN MINT (lst)
        ((NULL lst) T)
        ((NULL (CDR lst)) NIL)
        ((NOT (CDAR lst)) ((CDADR lst) (MINT (CDDR lst))))  )
    ) $ (DEFUN VIDPAR (lst)
        ((NULL lst) T)
        ((EVENP (CAR lst))  ((MINUSP (CAR lst)) (VIDPAR (CDR lst))))  )

2. a) $ (DEFUN ON1 (lst)
       ((ATOM (CDR lst)) (CONS (CAR lst) NIL))
       (CONS (CAR lst) (CONS (ON1 (CDR lst)) NIL))  )
   ) $ (DEFUN ON2 (lst)
       ((ATOM (CDR lst)) (CONS (CAR lst) NIL))
       (CONS (ON2 (CDR lst)) (CAR lst))  )
    ) $ (DEFUN ON3 (lst)
        ((ATOM (CDR lst)) (CONS (CONS (CAR lst) NIL) NIL))
        (CONS (CONS (CAR lst) NIL) (ON3 (CDR lst)))  )
    ) $ (DEFUN ON4 (lst)
        ((ATOM (CDDR lst))(CONS (CONS (CAR lst) (CONS (CADR lst) NIL)) NIL))
        (CONS (CONS (CAR lst) (CONS (CADR lst) NIL)) (ON4 (CDDR lst)))  )

3. a) $ (DEFUN RON1 (lst)       
       ((NULL lst) NIL)
       (CONS (CAR lst) (RON! (CADR lst)))  )
    ) $ (DEFUN RON2 (lst)
        ((ATOM (CAR lst)) lst)
        (CONS (CADR lst) (RON2 (CAR lst)))  ) 
     ) $ (DEFUN RON3 (lst)
         ((NULL lst) NIL)
         (CONS (CAAR lst) (RON3 (CDR lst)))  )
     ) $ (DEFUN RON4 (lst)
         ((NULL lst) NIL)
         (CONS (CAAR lst) (CONS (CADAR lst) (RON4 (CDR lst))))  )


᫮i 㭪i.

᫮i 㭪i  ᭮i ⥬i i  i  ஡ 
᫠. 㢠    ஡    i 
䬥⨪.  筮 i쭮 䬥⨪ ஧i i ᥫ, ᥫ쭨i 
 i  ਡ  25000 ⪮ i. 
ਬi⨢ ᫮ 㭪iﬨ  , ii,   i. 
 i ணࠬ㢠 i   n-୨, ⮡ ii i 㬥i 
. ⠪ ᫮ 㭪i 㯭:

1. (+ <num1> <num2> ... <numM>).  3. (* <num1> <num2> ... <numM>)
2. ( - <num1> <num2> ... <numM>)  4. (/ <num1> <num2> ... <numM>)

㭪i    ᢮ 㬥i. 㭪i ii  
i 讣 㬥  㬨 i i 㬥i. 㭪i  
 ⮪ ᢮ 㬥i. 㭪i i   i i 
讣 㬥   i 㬥i.

$ (+ 2 4 6 7)	$ (- 20 3 5 6)	$ (* 2 4 6)	$ (/ 24 2 2 3)
19		6		48		2

㭪i i襭  襭  㯭 ᨭ⠪筨 :
1. (ADD1 <n>).	  祭, 瘟   i  㬥.
2. (SUB1 <n>).    祭, 瘟     㬥.
3. (INCQ <sym><n>)  i 祭 ᨬ <sym>  ᫮ <n>.
4. (DECQ <sym><n>)  祭 ᨬ <sym>  ᫮ <n>.

 㭪i  (ii) i   㬥i,   ਢ  i:  ii 㬥i.   㭪i INCQ  DECQ ।  㬥 - ᨬ,  i襭 (襭) 祭 ᨬ i㤥  . i ⮣,  㭪i INCQ  DECQ  १ 䬥筮 i, 祭 ᨬi, i ।    㬥, i.
$ (ADD1 6)	$ (SUB1 10)	
7		9                   
$ (SETQ S 10)	$ (INCQ S 14)	$ (DECQ S 4)
10		24		30

㭪i MIN  MAX  ᨬ  ii ii쭨 (ᨬ쭨) 祭.
1. (MIN <n1> <n2> ... <nM>).	$ (MIN 12 3  45  67)	$ (MAX 1 2 5 3)
2. (MAX <n1> <n3> ... <nM>).	3			5

᫮i ࠧ  ii   ii i. ࠧ 3*5+5*7  
᫥ ॡ   i (+ (* 3 5) (* 5 7)), ࠧ (3+6)*7 -  
i  (* (+ 3 6) 7). 

㭪i iﭭ   i  n 㬥i.
1. ( < <n1> <n2> ... <nM>)	 i⨭,  <n1> < <n2> <  ... <  <nM>.
2. < ><n1> <n2> ... <nM>)	 i⨭,  <n1> > <n2> >  ... >  <nM>.
3. ( /= <n1> <n2> ... <nM>)	 i⨭,  i    ᫠, i  
				i  .

 㭪i iﭭ ⠪ i <= , =  >=.
$ (< 2 4 6)	$ (>= 5 3 3 2)	$ ( /= 4 4 5)
T		T		T
$ (< 6 6 8 15)	$ (<= 6 6 8 15)	$ ( /= 4 4 4)
NIL		T		NIL


1. 㭪i 㣫
(TRUNCATE m n), (ROUND m n), (CEILING m n) (FLOOR m n)
i 㭪i ⮢  㣫 ஡ ᥫ  i. 
TRUNCATE  㣫  箣 i  שׁ . ROUND 
 㣫  箣 i  祭  m/n. CEILING  
㣫  쮣 i  i i, FLOOR -  i i. 
 -类 㭪i   㬥⠬ (<f> m n) i⭨  
㭪i   㬥⮬: (<f> (/ n m)),  f - -猪   
 㭪i.

$ (TRUNCATE 6/4)  $ (TRUNCATE -6/4)  $ (CEILING 9 4)	$ (CEILING -9 4)
1		  -1		     3			-2

$ (FLOOR 6 4)	$ (FLOOR -6 4)	$ (FLOOR 6/4)	$ (FLOOR -6/4)
1		-2		1		-2

2. 㭪i i
(REM m n), (MOD m n), (DIVIDE m n)
ਬi⨢ 㭪i REM   i i ᫠ m  n. 
㭪i MOD   REM,    i.  (TRUNCATE m n) 
 q,  (REM m n)  r,  m=q*n+r. 㭪i (DIVIDE m n)  
, CAR 类 i i,  CDR - i i i m  n.

$ (REM 6 4)	$ (DIVIDE 7 2)	$ (REM -6 4)	$ (MOD 6 4)
2		(3 . 1)		-2		2

3.  ᫠
(SIGNUM n)
 祭 -1, 0  1  n ii i'󬭥, 0,  .

4.  ᫠
 (ABS n) -  ᫠ n.

5. ᥫ쭨  
(NUMERATOR n), (DENOMINATOR n) - ᥫ쭨   ᫠ n.

$ (signum -5/3)	$ (abs -5/3)	$ (numerator 10/8)	$ (denominator 10/8 )
-1		5/3		5			4


6. i⮢i ii 㭪i
(LOGAND <n1><n2>...<nM>), (LOGIOR <n1><n2>...<nM>), (LOGXOR <n1><n2>...<nM>), 
(LOGNOT n).

$ (LOGAND 5 7 3)	$ (LOGIOR 4 2 1)	$ (LOGXOR 5 2 3)   $ (LOGNOT 6)
1			7			4		    -7

7. 㫥i 㭪i
(NOT <'>), (AND <ଠ1> <ଠ2> ... <ଠN>), (OR  <ଠ1> <ଠ2> ... <ଠN).

$ (AND (EQL 'as 'as) (< 2 4))	$ (OR NIL (< 4 56))	$ (NOT (EQL 'd 'g))
T				T			T

8. . (SHIFT m n) -  ᫠ m  n ii.

$ (SHIFT 3 1)	$ (SHIFT 3 -1)	$ (GCD 24 66 600)	$ (LCM 24 66 600)
6		1		6			6600

9. , . (GCD n1 n2 ... nM), (LCM n1 n2 ... nM).  
i 㭪i 室 ii i訩 i쭨 i쭨 M ᥫ  
 i쭥 ⭥.



 1. ᮪ lst  100 i, i i 0  1.  㭪i 
(CHANGE01 lst), 猪  ᯨ᮪,  类 i  0 ii  1,  1 -  0.
i i ⠭ 㬮  㢠 i X := 1 - X.

(DEFUN CHANGE01 (lst)
        ((NULL lst) NIL)
        (CONS (- 1 (CAR lst)) (CHANGE01 (CDR lst)))  )

 2. i a  b ᢮i ᫠.  㭪i   浪 
(   㭪i),  १i 类 ii i ᢮ 
祭ﬨ. ⮢㢠 ii ii ஭.

$ (SETQ a 2 b 3)				// a = 2, b = 3
$ (SETQ a (+ a b) b (- a b) a (- a b))		// a = 3, b = 2

 3. i,  lst - ᯨ᮪, 直 i ᯠ ii ᥫ. 
㭪i (NUM lst)   ii i ᥫ  쮬.

(DEFUN NUM (lst)
        ((NULL (CDR lst)) 1)
        ((/= (CAR lst) (CADR lst)) (+ 1 (NUM (CDR lst))))
        (NUM (CDR lst))  )

 4. ᪨ lst1  lst2 i ண i ii ᥫ. 
 ii i쭨 i   ᨢ. ᮢ i  
 i O(K+L),  K  L -  ᯨi lst1  lst2 ii.

(DEFUN COMELEMENT (lst1 lst2)
        ((OR (NULL lst1) (NULL lst2)) 0)
        ((< (CAR lst1) (CAR lst2)) (COMELEMENT (CDR lst1) lst2))
        ((> (CAR lst1) (CAR lst2)) (COMELEMENT lst1 (CDR lst2)))
        (+ 1 (COMELEMENT (CDR lst1) (CDR lst2)))  )


 䠩i irratnal.lsp i  i ii쭨  
࠭業⭨ 㭪i. 㬥 ਣ筨 㭪i   
ࠤi.

1. (EXP x)		ᯮ e^x
2. (EXPT x y)           ⥯i x^y
3. (LOG x y)		 logyx.  y  , ᭮  i e.
4. (LN x)		ࠫ쭨 
5. (SQRT x)		⭨ i
6. (ISQRT x)		i ⨭  ⭮ ७
7. (SIN x)  (ASIN x)	i  i
8. (COS x)  (ACOS x)	ᨭ  પᨭ
9. (TAN x)  (ATAN x)	⠭  ⠭
10.(RANDOM n)	         ࠫ쭥 ᫮,   n.


஫i i

MuLisp ⮢   PROGN  ᫥ , i ᪫ 
i 㭪i. i ⮣, i muLisp ஧i  ii 㭪i 
i COND i. i COND- ஡ 祭 㭪i 
⠡쭨, ⪨  䥪⨢. ii ନ  
஫  ᫥   i  ணࠬ. ﭥ i 
஫i ii.

1. QUOTE <'>  ' <obj>   ᫥. QUOTE  
   ⮢㢠  i ᫥ 祭 ⠭, i 
   ।  㬥 㭪i,  .


$ (SETQ a 125)
$ a		$ (QUOTE a)	$ (CAR (CONS 4 7))	$ (CAR '(CONS 4 7))
125		a		4			CONS

2. LOOP <ଠ1> <ଠ2> ... <ଠN> ୮  ନ  i 
   浪 ,   i  COND  ।⮬,  i NIL. 
   ﭥ 㭪i LENGTH ᫥  ᯨ.  讬 ⮢稪 
   ய ४ᨢ,  i - ४ᨢ i ணࠬ.

(DEFUN LENGTHr (lst)		(DEFUN LENGTH (lst)
	((NULL lst) 0)			(SETQ ct 0)
	(+ 1 (LENGTHr (CDR lst)))  	(LOOP
)					((NULL lst) ct)
					(SETQ lst (CDR lst) ct (+ 1 ct))  
					)  )

3. IF <।> [THEN] <ଠ1> [ELSE] <ଠ2>  祭 ।  
   i NIL,   [THEN] ଠ, i  [ELSE] ଠ.

$ (IF (EQL 'r 'r)	(CAR '(q w e r t y)) (CDR '(q w e r t y)))  -  q
$ (IF (EQL 'r 'w)	(CAR '(q w e r t y)) (CDR '(q w e r t y)))  -  (w e r t y)

4. IDENTITY <'>  '   i.  㭪i ᮢ 
    ⠭ i  ।i  㬮 ࠧ.

5. PROGN <ଠ1> <ଠ2> ... <ଠN> i  ନ   
   १ ᫥ ନN.

6. PROG1 <ଠ1> <ଠ2> ... <ଠN> i  ନ   
   १ ᫥ ନ1. 㭪i ⮢  ⮣, 鮡  
   ii ii  ० १i  i ᫥ i ࠧi.

$ (SETQ a '(q w e r t y))		$ a
$ (PROG1 (CAR a) (SETQ a (CDR a)))	(w e r t y)
q

7. COND <cond1> <cond2> ... <condN>  CAR  COND ନ ,  
    i 瘟 祭, ii i NIL,   i ।  
    ᫥i.  讬  COND  CDR  cons - ନ 
    ।⮬, 直  i NIL,  i 㭪i, ⮢  
   㭪i PROGN.  CDR -  COND ନ, 猪  i NIL,  
   ஦i,   祭 ।.  ᫥i i । 
    i  㫨 NIL,  COND  NIL.

8. COMMENT <> I ᢮ 㬥   NIL.  i 
   祭 i ।  祭i 㭪i.

9. RETURN <'> 㯨  㭪i, 猪 i RETURN, i 
   ⥪   '  ஫i ᢮ 祭.

10. RESTART ਢ i ii 䠩, i i 筮 
    ।  iii  ⥬ muLisp. i '離 i i, 
    㭪i 㢠  祭 ⨢⥩ 筮 । 
    .

11. SYSTEM ਢ i ii 䠩,   muLisp  
    㢠 ii ⥬i.

12. EXECUTE <ணࠬ> < 冷> 㯨 ஡ ⥬ muLisp, 
    । 㢠 ணࠬi   浪. EXECUTE   室 
     ணࠬ  NIL,  <ணࠬ>  .

$ (EXECUTE "command.com" "/c dir c:")


᫥ ४ᨢ 㭪i

1. i ᫠ n  ᫮ ( n!), 瘟 ४ᨢ 
 㯭 稭:

0! = 1			$ (DEFUN FACTORIAL (n)		$ (FACTORIAL 10)
N! = N*(N-1)!  N>0.	((ZEROP n) 1)			3628800
			(* n (FACTORIAL (- n 1)))  )

  ४ᨢi ணࠬi 㬥⮬ 㤥  ᫮,    
९ ⥪. ⮢  横 LOOP  㭨 
ᨢ . 㯭 㭪i 㤥 i 䥪⨢:

$ (DEFUN FACTORIAL1 (n rslt)		$ (FACTORIAL1 10)
(SETQ rslt 1)				3628800
(LOOP
         ((ZEROP n) rslt )		$ (FACTORIAL 0 a)
         (SETQ rslt (* n rslt))		1
         (SETQ n (- n 1))  )  )

2. ii ᥫ,   类 i i  ।i,  
i   i 1,  ii ii. N- 
᫮ ii ii F(N)     ४ᨢ 㫮:

F(0)=1, F(1)=1, F(N) = F(N-1) + F(N-2).

$ (DEFUN FIBON (n)				$ (FIBON 20)
((<= n 1) 1)					10946
(+ (FIBON (- n 1)) (FIBON (- n 2)))  )

祭 ⠪ 稭 㭪i   䥪⨢, i쪨  ᫥ N- 
᫠ ii i ᫨ (N-2) ᫮ ii ii, (N-3) - i 
i ⠪ i. 稬 㭪i FIB  쮬 㬥⠬, ⠭i   直  
 㭪i i i ii F(0)  0).

$ (DEFUN FIB (n f1 f2)			$ (FIB 20 1 0)
((ZEROP n) f1)				10946
(FIB (- n 1) (+ f1 f2) f1)  )


 3-2.

1.  㭪i MIN, MAX, INCR, DECR  ᯨi. 
㭪i INCR (DECR)  i⨭,  祭 㬥i 室 
 箬 (ᯠ) 浪.

2.  㭪i, 猪  ᯨ᪮  iᯨ᪠ 室:
a)  i		) ii iᯨi
) ii i		) iਧ ᯨ᮪

3.  㭪i:
a) (DIVIS x y) -     i i x  y.  १   i .  ⮢㢠 㭪i i  i.
) (POW x y)   - x  ⥯i y. ய㢠 ⬨  ᮢ i O(y)  O(log y).
) (SLIST n)   - ஧ ᫠ n  i .  १  㭪i  ᯨ᮪  ᥫ, ⮪ 直 i n.
) (PERLEN n)  -  ࠫ쭨 ᫮ n   i ஡ 1/n.
) (SUMFACT n) - 㬠 1/0! + 1/1! + ... + 1/n!.

4. (UNITE lst1 lst2).   ᯠi ᯨ᪨ lst1  lst2   ᯠ ᯨ᮪.

5.  㭪i:
) (BINARY n) - ii i  i ।⠢i ᫠ n.
)     ᥫ  ⬮ i.
    (a, b) =	(a - b, b),  a>b,
               	(a, b - a),  a<b,
			    a,  a = b.
)   ᥫ  i ⬮ i.
   (a, b) =	(a mod b, b),  a>b,
                (a, b mod a),  a<b,
			a,  b = 0.
			b,  a = 0.
) (INVERTBIT a n) -  n- i ᫠ a.
) (EQ2 a b c)  - ஧'易 ⭥ iﭭ.
) (SQTR a b c) -   ਪ⭨  쮬 ஭ (  ஭).


iii

1. $ (DEFUN LMIN (lst)
   ((ATOM (CDR lst)) (CAR lst))
   ((< (CAR lst) (CADR lst)) (LMIN (CONS (CAR lst) (CDDR lst))))
   (LMIN (CDR lst))  )


$ (DEFUN LMAX (lst)
   ((ATOM (CDR lst)) (CAR lst))
   ((> (CAR lst) (CADR lst)) (LMAX (CONS (CAR lst) (CDDR lst))))
   (LMAX (CDR lst))  )

$ (DEFUN INCR (lst)
   ((ATOM (CDR lst)) T)
   ((< (CAR lst) (CADR lst)) (INCR (CDR lst)))  )

$ (DEFUN DECR (lst)
   ((ATOM (CDR lst)) T)
   ((> (CAR lst) (CADR lst)) (DECR (CDR lst)))  )

2. a) $ (DEFUN FSUM (lst)
       ((NULL lst) 0)
       ((ATOM (CAR lst)) (+ (CAR lst) (FSUM (CDR lst))))
       ( + (FSUM (CAR lst)) (FSUM (CDR lst))) )

   ) $ (DEFUN FLEN (lst)
       ((NULL lst) 0)
       ((ATOM (CAR lst)) (+ 1 (FLEN (CDR lst))))
       ( + (FLEN (CAR lst)) (FLEN (CDR lst))) )

   ) $ (DEFUN FLIST (lst)
       ((NULL lst) 0)
       ((ATOM (CAR lst)) (FLIST (CDR lst)))
       (+ 1 (FLIST (CAR lst)) (FLIST (CDR lst)))  )

   ) $ (DEFUN LINER (lst)
       ((NULL lst) NIL)
       ((ATOM (CAR lst)) (CONS (CAR lst) (LINER (CDR lst))))
       (APPEND (LINER (CAR lst)) (LINER (CDR lst)))  )

3. a) $ (DEFUN DIVIS (x y)		1) $ (DEFUN POW (x y)
       ((ZEROP y) NIL)				((ZEROP y) 1)
       (SETQ ch 0)				(* (POW x (- y 1)) x)  )
       (LOOP
        ((< x y) (CONS ch x))
        (SETQ x (- x y) ch (+ 1 ch)))  )

2)  $(DEFUN POWLOGY (x y)
(SETQ k y b 1 c x)
(LOOP
   ((= k 0) b)
   (if (= 0 (mod k 2)) (SETQ k (/ k 2) c (* c c))
(SETQ k (SUB1 k) b (* b c)) )
)  )

) $ (DEFUN SLIST (n)			) $ (DEFUN PERLEN (n)
      (SETQ k n lst NIL)			      (SETQ r 0 l 1)
      (LOOP					      (LOOP
       ((= k 1) lst)					((= l (+ n 1)))
       (SETQ l 2)					(SETQ r (CDR (divis (* 10 r) n)))
       (LOOP						(INCQ l)
           ((ZEROP (CDR (DIVIS k l))))	      )
           (INCQ l)				      (SETQ c r r (CDR (divis (* 10 r) n)) k 0)
       						      (LOOP
       (PUSH l lst)					((=  r c))
       (SETQ k (/ k l))				((SETQ r (CDR (divis (* 10 r) n))))
    )  )						(INCQ k)
)
(+ k 1)  )

) (DEFUN SUMFACT (n)
       (SETQ k 1 fct 1 s 1)
       (LOOP
((= k n) s)
(SETQ k (INCQ k) fct (* fct k) s (+ s (/ 1 fct)))
       )   )

᭥. ) i ஡ i ii  ii  
(i ; ६, i ,  i    訬). 
i 쮣,  i ii i 童,  i筮 , 
ii,  ।i    i  n.    
(n+1)- 童 ii  i i ii쭥 k,  类 (n+1+k)- 
童	i  (n+1)-.

4. (DEFUN UNITE (lst1 lst2)
        ((NULL lst1) lst2)
        ((NULL lst2) lst1)
        ((<= (CAR lst1) (CAR lst2)) (CONS (CAR lst1) (UNITE (CDR lst1) lst2)))
        ((>  (CAR lst1) (CAR lst2)) (CONS (CAR lst2) (UNITE lst1 (CDR lst2))))  )

5. a) $ (DEFUN BINARY (n) 			) (DEFUN NOD (a b)
 ((= n 0 ) 1)					   ((= a b) a)
 (SETQ c 0)					   (IF (> a b) (NOD (- a b) b)
 (LOOP							(NOD (- b a) a)
   ((= n 0) c) 					     )   )
   (SETQ n (SHIFT n -1)) (INCQ c)	           (DEFUN NOK (a b)
      )   )						   (/ (* a b) (NOD a b))   )

) $ (DEFUN NODM (a b)			) $ (DEFUN INVERTBIT (a n)
       ((ZEROP a) b)				(SETQ s (SHIFT 1 (SUB1 n)))
       ((ZEROP b) a)				(LOGXOR a s)
       (IF (> a b) (NODM (MOD a b) b)	     )
            (NODM (MOD b a) a)
       )   )

) $ (LOAD 'irratnal)		          ) $ (DEFUN sqtr (a b c)
   $ (DEFUN eq2 (a b c)			         (SETQ p (/ (+ a b c) 2))
      (SETQ d (- (* b b) (* 4 a c)))		 (SQRT (* p (- p a) (- p b) (- p c))) )
      ((MINUSP d) NIL)
      ((ZEROP d) (/ (- b) (* 2 a)))
      (LIST (/ (+ (- b) (SQRT d)) (* 2 a)) (/ (- (- b) (SQRT d)) (* 2 a))) )

