Manual Basico del Lenguaje LISP

Páginas: 5 (1214 palabras) Publicado: 25 de febrero de 2014


CONTENIDO


EL LENGUAJE LISP
“LISP is an easy language to learn”
(Henry et.al., 1984)

INTRODUCCIÓN
Origen: 1958
John McCarthy, pionero en la Inteligencia Artificial, empezó a trabajar con la primera implementación de LISP en 1958.
McCarthy, Recursive functions of symbolic expresiones and their computación by machine, Communications of the ACM, Vol 3, No 4, 1960.
Uso habitual enInteligencia Artificial.
LISt Processing.
Características básicas.
Lenguaje interpretado (también posible compilado).
Todas las variables son punteros.
Liberación automática de memoria (automatic gargabe collection).
Eficiencia menor que otros lenguajes (causas: es interpretado, liberación automática de memoria,…).
Adecuado para prototipados y calculo simbólico.
Nuevo paradigma deprogramación: programación funcional.
LISP es un lenguaje diseñado para la manipulación de fórmulas simbólicas. Más adelante, nació su aplicación a la inteligencia artificial. La principal característica de LISP es su habilidad de expresar algoritmos recursivos que manipulan estructuras de datos dinámicos.
En LISP existen dos tipos básicos de palabras, los átomos y las listas. Todas las estructurasdefinidas posteriormente son basadas en estas palabras.
1. EXPRESIONES LISP

1.1. ÁTOMOS
Los átomos pueden ser palabras, tal como FRANKLIN, BRAULIO, MARYORI, ANTHONY, etc. O cualquier conjunto de caracteres o alfanuméricos como AJHDGSNS, ORJN13L4, etc. En general, un átomo en LISP puede ser cualquier combinación de las 26 letras del alfabeto (excluyendo obviamente la “Ñ” o “ñ”) en conjunto con los10 dígitos.
Ejemplos:
Átomos
Cabezas
Nieva
Esquivel123
Cu3v4
9
No átomos
%cueva // No comienza con una letra.
24c4b3z4s // comienza con dígitos.
ABC.( // incluye caracteres que no son letras ni números.
Ni cu ca es // incluye espacios entre cada palabra.

1.2. LISTAS
El segundo tipo de palabras con las que trabaja LISP son las LISTAS. Una lista puede ser una secuencia deátomos separados por un espacio y encerrados entre paréntesis, incluyendo la posibilidad de que una lista contenga una sublista que cumple con las mismas características.
Ejemplos:
(INTELIGENCIA) ; 1 elemento
(INTELIGENCIA ARTIFICIAL) ; 2 elementos
(CABEZAS NIEVA CUEVA ESQUIVEL) ; 4 elementos

2. LOS NÚMEROS Y SUS OPERACIONES

2.1. Los números
Ejemplos:
CL-USER 1 > 15
15
CL-USER 2 >3
3



2.2. Operaciones matemáticas

División
CL-USER 3 > (/ 15 3) ; divide 15 entre 3
5
Multiplicación
CL-USER 4 > (* 15 3) ; multiplica 15 por 3
45

Suma
CL-USER 5 > (+ 15 3) ; suma 15 más 3
18

Resta
CL-USER 6 > (- 15 3) ; resta 15 menos 3
12



Observación: Los números pueden combinarse entre sí mediante operaciones aritméticas usando la notación prefija.Otros ejemplos:
CL-USER 1 > (/ 15 3 5) ; divide 15 entre 3 entre 5
1

CL-USER 2 > (* 7 8 2) ; multiplica 7 por 8 por 2
112

CL-USER 3 > (+ 12 8 5) ; suma 12 más 8 más 5
25

CL-USER 4 > (- 20 6 9) ; resta 20 menos 6 menos 9
5


3. ASIGNACIÓN DE VALORES EN LISP

3.1. SETQ
Asocia de modo global un símbolo a un elemento.
Ejemplos:
CL-USER 1 > (setq F 8) ; F toma el valor de 88

CL-USER 2 > (setq P 3876) ; P toma el valor de 3876
3876

CL-USER 3 > (setq N ‘a) ; N toma el valor de a
A

CL-USER 4 > (setq IA ‘INTELIGENCIA) ; IA toma el valor de INTELIGENCIA
INTELIGENCIA


Otros ejemplos:
CL-USER 1 > setq curso ‘(inteligencia artificial 2014 0)
INTELIGENCIA ARTIFICIAL 2014 0

CL-USER 1 > setq prof ‘(hugo vega huerta)
HUGO VEGA HUERTA



3.2.SETF
Sirve para asignar valores a variables, modificar valores de componentes de listas, variables, etc.
El macro SETF admite como primer argumento.
Ejemplos:
Un símbolo:

CL-USER 1 > setf cursos ‘(ia redes ds modelos)
(IA REDES DS MODELOS)

CL-USER 2 > cursos
(IA REDES DS MODELOS)

Una posición de memoria:

CL-USER 3 > setf (second cursos) ‘(diseno)
(DISENO)

CL-USER 4 > cursos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Manual basico Lisp
  • Manual Basico Del Lenguaje SQL
  • manual basico de lenguaje c
  • Manual De Lenguaje C Basico
  • Lenguaje basic
  • Lenguaje Basico
  • lenguaje basic
  • Lenguaje Basica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS