1 / 15

Programación en LISP

Programación en LISP. Rogelio Dávila Pérez Profesor - Investigador rdav9@hotmail.com. Programación en LISP. Aviso Los apuntes incluidos en esta presentación representan un resumen de algunos de los capítulos del libro: Programming in LISP (3th Edition) Patrick Henry Winston &

nuru
Télécharger la présentation

Programación en LISP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programación en LISP Rogelio Dávila Pérez Profesor - Investigador rdav9@hotmail.com

  2. Programación en LISP Aviso Los apuntes incluidos en esta presentación representan un resumen de algunos de los capítulos del libro: Programming in LISP (3th Edition) Patrick Henry Winston & Berthold Klaus Paul Horn Addison-Wesley Publishers, 1989

  3. Programación LISP • LISP es un lenguaje de programación funcional que significa List Processing. • La versión más estándar de LISP es el COMMON LISP. • LISP es un lenguaje de manipulación simbólica que favorece la realización de aplicaciones en inteligencia artificial. • LISP fue inventado por John McCarthy en la época de los 50´s. • LISP esta basado en un formalismo muy poderoso llamado el cálculo- introducido por Church en los 40´s.

  4. Programación LISP Números: LISP permite los siguientes formatos de números: 45 un entero -8 un entero negativo #¡1.414235623731 representación inexacta de un real Operadores: Todas las operaciones en LISP se escriben en notación prefija: 4 + 8 (+ 4 8) 9/4 (/ 9 4) -4+4 (+ -4 4) 6*5 (* 6 5) 6-3 (- 6 3)

  5. Programación LISP Tipos básicos de expresiones en LISP Número: 4, 7.28, -9 Atomo Símbolo: foo, alpha-beta Expresión Lista: (a b c d), (luis pedro mario)

  6. Programación LISP Expresiones aritméticas: (2+3)*((29-13)/(5+3))  (* (+ 2 3) (/ (- 29 13) (+ 5 3))) Esta expresión se ejecuta evaluando primero los operadores más internos como se muestra a continuación: (* (+ 2 3) (/ (- 29 13) (+ 5 3))) = (* 5 (/ (- 29 13) (+ 5 3))) = (* 5 (/ 16 (+ 5 3))) = (* 5 (/ 16 8)) = (* 5 2) = 10

  7. Programación LISP • Algunas operaciones primitivas raíz cuadrada de A: (sqrt A) exponente Ab : (exp A b) Logaritmo natural de A: (log A) seno de A en radianes: (sin A) resto de A B: (remainder A B) = A –B*(A div B)

  8. Definición de constantes: (setf PI 3.1416) (setf HEIGHT 160) (setf WIDTH 50) El nombre de una variable inicia con una letra seguida de letras o números y acepta el caracter “-”: x, x25, salary, area-of-square, … Programación LISP

  9. Programación LISP Definición de Función Formato general: (defun (<nombre de función> <argumentos>) (<operaciones>)) Ejemplo: Area del Círculo: A =  r2 Función: (defun (area-del-circulo r) (* 3.14 (* r r)))

  10. Programación LISP Programas sencillos La principal función de Lisp es como manipulador simbólico. Lisp es un intérprete que ejecuta las funciones definidas por el programador. Ejemplos: a). * (+ 3.14 2.71) 5.85 b). * (setf friends ´(peter louise mary)) * friends (peter louise mary)

  11. Programación LISP c). * (setf enemies ´(tronch grinch ghost)) * (setf enemies (remove ´ghost enemies)) * (setf friends (cons ´ghost friends)) * enemies (grinch ghost) * friends (ghost peter louise mary)

  12. Programación LISP Definición de funciones a). (defun newfriend (name) (setf enemies (remove name enemies)) (setf friends (cons name friends))) la función se ejecuta: * (newfriend ´ghost)

  13. Programación LISP Ejercicios: a) Area-del-cuadrado: A = L2 b) 2/3 + sin(gamma) c) n/3 + 2 d) ½ n2 + 20 e) 2 – 1/n f) 6x4+x3+5x2+4x+1 g) Grados a radianes h) h=sqrt( x2 + y2 ) i) Volumen de un cilindro con radio r y altura h. j) Evaluar distancia entre dos puntos.

  14. Programación LISP Listas Una lista en Lisp consiste de un paréntesis izquierdo “(”, una secuencia de atomos o listas y un paréntesis derecho “)”. Ejemplos de listas: (verde blanco rojo) (4 3.41 -8.9 +75) ((1 2) (3 4) (5 6) (7 8)) nil % lista vacía

  15. Programación LISP Operaciones con Listas Algunas operaciones primitivas para la manipulación de listas son: first, rest, append, list y cons.

More Related