Está en la página 1de 4

INTELIGENCIA ARTIFICIAL

PRIMER TUTORIAL DE LISP

INDICE 1. TIPOS DE DATOS 1.1 tomos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Listas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. LOS NMEROS Y SUS OPERACIONES. . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3. ASIGNACIN DE VALORES EN LISP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Setq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Setf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4. FUNCIONES PRIMITIVAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .. 3

4.1 Constructores de listas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.2 Asignacin de listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 4

1. TIPOS DE DATOS

1.1 ATOMOS Los tomos pueden ser palabras, tal como LIBRO, LISTA,ATOMO, etc. Un tomo en LISP puede ser cualquier combinacin de las 26 letras delAlfabeto en conjunto con los 10 dgitos. Ejemplos de tomos: 9, p, T, nil, hola-mundo

CL-USER 1 > 6 6 CL-USER 2 > p p

INGENIERIA DE SISTEMAS

INTELIGENCIA ARTIFICIAL

1.2 LISTAS

Una lista es puede ser una secuencia de tomos separadospor un espacio y encerrados por parntesis redondos. Una lista puede incluir sub-litas. Ejemplo (HOLA) (ESTA ES UNA LISTA) ; 1 ELEMENTO ; 4 ELEMENTOS

2. LOS NMEROS Y SUS OPERACIONES


Los nmeros CL-USER 1 > 5 5 CL-USER 2 > 9 9

Operaciones matemticas CL-USER 3 > (/ 8 2) 4 CL-USER 4 > (* 7 6) 42 CL-USER 5 > (+ 9 3) 12 CL-USER 6 > (* 6 5 4) 120 CL-USER 7 > (+ 8 7 3) 18 ;divide 8 entre 2

;multiplica 7 por 6

;suma 9 ms 3

;multiplica 6 por 5 por 4

; suma 8 ms 7 ms 3

Observacin: Los nmeros pueden combinarse entre s mediante operaciones aritmticas usando la notacin prefija.

INGENIERIA DE SISTEMAS

INTELIGENCIA ARTIFICIAL

3. ASIGNACIN DE VALORES EN LISP.


3.1 SETQ asocia de modo global un smbolo a un elemento. ;a toma el valor de 5

CL-USER 1> (setq a 5) 5 CL-USER 2> (setq g 'h) H

; g toma el valor de h

CL-USER 3> (setq lista '(pera manzana uva)) (PERA MANZANA UVA)

3.2 SETF

asocia de modo global un smbolo a un elemento.

CL-USER 1 > (setf j 3) 3 CL-USER 2 > (setf k 'y) Y

4. FUNCIONES PRIMITIVAS
4.1 Constructores de listas (CONS X Y) construye una lista de datos y un tallo. CL-USER 1 > (cons 'a 'b) (A . B) CL-USER 2 > (cons 'a '(b c)) (A B C) CL-USER 3 > (cons 'a (cons 'b (cons 'c '()))) (A B C) (LIST X-1 ... X-N) Construye una lista de la forma (e1 e2 .. en.) CL-USER 1 > (list 'a 'b 'c) (A B C) CL-USER 2 > (list '(a b) '(c d)) ((A B) (C D)) CL-USER 3 > (list) NIL (APPEND L-1 ... L-N) Construye una lista de la forma (f1 f2 ..fn), donde cada f es el resultado de quitar los parntesis exteriores de cada e. Aqu los trminos no pueden ser
tomos.

CL-USER 1 > (append '(a) '(b) '(c) '(x y)) (A B C X Y)

INGENIERIA DE SISTEMAS

INTELIGENCIA ARTIFICIAL

4.2 Asignacin de listas (CAR L) / (FIRST)devuelve el primer elemento de L, si L es una lista no vaca y NIL, en otro caso.

CL-USER 1 > (car '(uno dos tres)) UNO CL-USER 2 > (car '((alexruiz) lozano espinoza)) (ALEX RUIZ) CL-USER 3> (first '(cuatro cinco ocho)) CUATRO
CL-USER 4 > (car '((esta) es una prueba)) (ESTA)

(CDR L) / (REST) devuelve la lista formada por los elementos de L, excepto el primero, si L es una lista no vaca y NIL, en otro caso.

CL-USER 1> (rest '(a b c)) (B C) CL-USER 2> (cdr '((a) g j t f)) (G J T F) CL-USER 3> (CDR '((D ((E F))) G (H I))) (G (H I))

INGENIERIA DE SISTEMAS

También podría gustarte