La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Rogelio Dávila Pérez Profesor - Investigador

Presentaciones similares


Presentación del tema: "Rogelio Dávila Pérez Profesor - Investigador"— Transcripción de la presentación:

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

2 Programación en LISP Aviso Programming in LISP (3th Edition)
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: un entero un entero negativo #¡ representación inexacta de un real Operadores: Todas las operaciones en LISP se escriben en notación prefija: (+ 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) (/ ( ) (+ 5 3))) Esta expresión se ejecuta evaluando primero los operadores más internos como se muestra a continuación: (* (+ 2 3) (/ ( ) (+ 5 3))) = (* 5 (/ ( ) (+ 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 Programación LISP Definición de constantes:
(setf PI ) (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, …

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). * ( ) 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) ( ) ((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.


Descargar ppt "Rogelio Dávila Pérez Profesor - Investigador"

Presentaciones similares


Anuncios Google