Computing">
Sin Título
Sin Título
Sin Título
TEAM DE EXPOSICION
INTEGRANTES: Christhopper martinez
LISP
Keneth guzman
Wiston areas
Jhonny martinez
● No posee asignaciones
● Su principal estructura de control es la
recursión
● Los programas y los datos son
equivalentes.
● Su principal estructura de datos es la
lista.
● La memoria es asignada por demanda.
Otra característica de Lisp son esos paréntesis que usa para todo. En Clojure, por ejemplo, podríamos
escribir:
Variables globales
Las variables globales tienen valores permanentes en todo el sistema LISP y permanecen
vigentes hasta que se especifica un nuevo valor.
Dado que no existe una declaración de tipo para las variables en LISP, especifica
directamente un valor para un símbolo con la construcción setq .
Por ejemplo
->(setq x 10)
La expresión anterior asigna el valor 10 a la variable x. Puede hacer referencia a la
variable usando el símbolo mismo como una expresión.
ÁTOMOS SIMBÓLICOS (S-ATOMS):
Un átomo simbólico es un átomo que representa algo más, como el nombre
de una función o el valor de una variable. Un átomo simbólico si no tiene
asignado un valor, al evaluarse devolverá una lista vacía. Las funciones como
set, setq y defun permiten asignarle valores a los átomos-S.
Los nombres de símbolos no distinguen entre mayúsculas y minúsculas, y
pueden ser cualquier secuencia de caracteres de notación y alfanuméricos a
excepción de los siguientes: ( ) . ' " ; .
Un nombre de símbolo no puede estar compuesto sólo por caracteres
numéricos ya que un número se representa a sí mismo y es por tanto una
constante. Lo mismo sucede con los nombres entrecomillados.
Operaciones
básicas con
listas
Operaciones básicas con listas
Operaciones básicas de las listas
Concatenar listas
(nconc lista1 lista2) concatena lista poniendo el último apuntador de la lista 1 a la lista 2
(CDR List) Retorna la cola de la lista List. Por ejemplo: > (CAR `(1 2 3)) 1 > (CDR `(1 2 3)) (2 3)
Constructores de listas
Como las listas desempeñan un papel central en LISP, existen múltiples formas de
construir una lista: (APPEND List 1 List 2 … List n ) Esta función concatena las listas
List 1, List 2, …, List n. (CONS Elem List) Retorna una lista cuyo primer elemento es
Elem y cuya cola es List. (LIST Elem 1 Elem 2 … Elem n ) Esta función retorna una
lista formada por los elementos Elem 1, Elem 2, …, Elem n.
Funciones
aritméticas.
+, -, *, / : Son las operaciones para sumar, restar, multiplicar y dividir
read-line: absorbe caracteres hasta donde aparece un retorno de carro o un fin de archivo. Luego produce una
cadena con los caracteres que preceden el retorno de carro o el final del archivo, seguido de NIL, al menos que
read-line encuentre el final del archivos mientras está leyendo una línea, en ese caso es T.
5 CUADRADOS
6 > (cuadradros 2 5)
724
839
9 4 16
10 5 25
11 FINAL
La macro do es el operador fundamental de iteración en Lisp. Como let,
Puede crear variables y su primer argumento es una lista de especificación de variables. Cada elemento de esta lista toma la forma
(variable valor�inicial actualización). En cada iteración el valor de las variables definidas
se incrementará en 1.
El segundo argumento de do debe ser una lista que incluya una o más expresiones. La primera expresión se usa como prueba para
determinar cuando debe parar la iteración. En el ejemplo, esta prueba es (> i fin). El resto de la lista será evaluado en orden cuando la
iteración termine. La última ex�presión evaluada será el valor de do, por lo que cuadrados, regresa siempre
el valor ’final
Funciones
read,quote , y
otras,
Función QUOTE: “ n QUOTE: “ ` ”
Esta función evita que se evalúe su argumento, y lo retorna intacto como resultado.
> (+ 1 2)
3
> (2 3 5)
ERROR: 2 no es una función
(+ 1 2)
> `(2 3 5)
(2 3 5)
Función EVAL
Ejemplo:
Desventajas
Bastante lento Código feo y difícil de comprender
Nos vidrios