Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
átomos
constantes
simples números
Tipos de
variables
datos
estructurados
Átomos
Variables:
Todos los objetos estructurados se pueden interpretar como árboles donde el functor
es la raíz del árbol y sus componentes son las hojas del árbol.
(2). Si la lista no esta vacía: aquí la lista puede verse como formada por dos
cosas:
(1). El primer elemento, llamado “cabeza” de la lista.
(2). Los elementos restantes, llamados en conjunto “cola” de la lista.
.(cabeza, cola)
Debido a que la cola es a su vez una lista, se tratará de una lista vacía o una
lista con cabeza y cola. Por lo tanto, para representar listas de cualquier
longitud no se necesita establecer ningún principio adicional. El ejemplo
anterior se representa con el termino:
.
Obsérvese que la lista
vacía aparece en el
ana . término anterior, esto es
porque la ultima cola es
tenis . una lista con un solo
elemento [eski]
tomas .
Esta lista tiene a su vez a
la lista vacía como cola
eski [] [eski] = .(eski, [] )
EJEMPLOS DE TIPOS DE LISTAS:
Prolog es principalmente un lenguaje simbólico donde la necesidad de
cálculos numéricos es modesta.
+ adición
- sustracción
* multiplicación
/ división
mod módulo (residuo de la división entera)
Obsérvese o siguiente: si preguntamos
?- X = 1 + 2.
Prolog contestará:
X=1+2
?- X is 1 + 2.
Prolog contestará:
X=3
Aquí se asume que ‘/’ denota la división real y ‘//’ la división entera:
?- X is 3 / 2.
?- X is 3 // 2
Prolog contestará:
X = 1.5
X=1
X is 5 – 2 – 1 se interpreta como: X is (5 – 2) – 1
-X el negativo de X.
X mod Y el residuo de la división de X entre Y. El resultado tiene el
mismo signo que X.
X^Y X a la potencia Y.
rand(X) calcula un numero aleatorio de punto flotante entre cero y X.
sqrt(X) raíz cuadrada de X.
Las operaciones aritméticas pueden ser incluidas en la comparación de
valores numéricos:
yes
Como otro ejemplo, suponga que se tiene la relación born que relaciona
el nombre de la persona con su año de nacimiento, se puede, entonces,
obtener el nombre de la persona nacida entre 1950y 1960 con a
siguiente pregunta:
?- 1 + 2 =:= 2 +1.
yes
?- 1 + 2 = 2 +1.
no
?- 1 + A = B + 2.
A=2
B=1