.


:




:

































 

 

 

 


.

1.

: Lisp. . , . .

: Lisp. , , .

 

1. .

2. , .

3. . , .

4. .

5. .

6. .

 

.

 

.

. , - .

, .. , ENTER.

, . QUOTE.

. , .

, . .

.

.

, . , . . , , .. , . , , () NIL.

, , , - , , . , , () . , , - .

NIL : , a NIL .

, . .

, , . , , .

, . , , . . .

RDS

(RDS < >)

. < > - , ( "lsp").

LISP, , ASCII.

 

-, :

https://www.tutorialspoint.com/execute_lisp_online.php.

:

- ;

- .

 

.

CAR :

(CAR ) → S- ( ).

 

CDR , . . , :

(CDR ) →

:

 

(write (car '(a b c d e f)))

(write (cdr '(a b c d e f)))

(write (cons 'a '(b c)))

(write (list 'a '(b c) '(e f)))

(write (append '(b c) '(e f) '(p q) '() '(g)))

(write (last '(a b c d (e f))))

(write (reverse '(a b c d (e f))))

:

A

(B C D E F)

(A B C)

(A (B C) (E F))

(B C E F P Q G)

((E F))

((E F) D C B A)

 

(cadadr '(a (c d) (e f g))) → d

cadadr = car cdr car cdr.

 

 

CONS.

CONS .

(CONS )

CONS , . CONS :

(CONS s- ) →

(write (cons 'a '(b c)))

(write (cons 'ab 'cd))

(write (cons NIL '(a b c)))

(write (cons '(a b c) NIL))

(write (cons 1 nil))

(write (cons 1 (cons 2 nil)))

(write (cons 1 (cons 2 (cons 3 nil))))

(write (cons 'a (cons 'b (cons 'c nil))))

(write (car (cons 'a (cons 'b (cons 'c nil)))))

(write (cdr (cons 'a (cons 'b (cons 'c nil)))))

 

 

:

(A B C)(AB. CD)(NIL A B C)((A B C))(1)(1 2)(1 2 3)(A B C)A(B C)

 

CAR CDR

CAR CDR , . CAR CDR :

(C...R )

D ( CAR CDR ). CAR CDR.

 

LIST - . . .

 

(write (list 1 2))(write (list 'a 'b))(write (list 1 nil))(write (list 1 2 3))(write (list 'a 'b 'c))(write (list 3 4 'a (car '(b. c)) (* 4 -2)))(write (list (list 'a 'b) (list 'c 'd 'e)))

(1 2)(A B)(1 NIL)(1 2 3)(A B C)(3 4 A B -8)((A B) (C D E))

 

 

1. CAR CDR, . C...R.

) (1 2 3 4)

) (1 2 3 4)

) ((1) (2 3) ( 4))

) ((1) ((2 ) (4)))

) ((1) ((2 3 4)))

) (1 (2 ((3 4(5 (6 ))))))

 

2. :

(ATOM (CAR (QUOTE ((1 2) 3 4))));

(NULL (CDDR (QUOTE ((5 6) (7 8)))));

(EQUAL (CAR (QUOTE ((7)))) (CDR (QUOTE (5 7))));

(ZEROP (CADDDR (QUOTE (3 2 1 0))));

3.

4. :

) 3.234*(45.6+2.43)

) 55+21.3+1.54*2.5432-32

) (34-21.5676-43)/(342+32*4.1)

5. :

)(+2 (*3 5))

) (+2(*3 5))

) (+ 2 ( * 3 5))

) (+ 2 (* 3 5))

) (quote quote)

(quote 6)



<== | ==>
| III.
:


: 2017-04-14; !; : 310 |


:

:

- , .
==> ...

1721 - | 1540 -


© 2015-2024 lektsii.org - -

: 0.014 .