BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
Expo.pptx
1. 4.6 PROGRAMACIÓN LÓGICA CON
NÚMEROS, LISTAS Y ARBOLES
INTEGRAN:
HENRY FABIAN ROBLERO MEZA
PABLO RODRÍGUEZ VELASCO
2. PROLOG cuenta con operadores para la unificación y comparación, sea con evaluación
o sea simbólica, como los siguientes:
• X is Y %unificación con evaluación.
• X = Y %unificación simbólica
• X=:=Y %comparación con evaluación
• X == Y %comparación simbólica.
Ejemplos.
?- X is 3+5.
X = 8
?- X = 3+5.
X = 3+5
?- 3+5 =:= 2+6.
yes
?- 3+5 == 2+6.
no
?- 3+5 == 3+5.
yes
3. Numéricos.
En PROLOG los objetos numéricos pueden corresponder a tipos integer o float de C.
Para realizar operaciones numéricas, se tiene el predicado is, que se comporta como una
asignación en un lenguaje imperativo. Así, el objetivo X is <expresión> será verdadero
cuando X unifique con el resultado numérico de evaluar <expresión>.
Ejemplo
Máximo de dos números.
Si definimos:
máximo(X,Y,X) :-
X >= Y.
máximo(X,Y,Y) :-
X < Y.
4. Listas.
Las listas son colecciones de elementos en PROLOG. Una lista se divide en dos
partes:
• Cabeza. Es el primer elemento de la lista.
• Cola. Es una lista con el resto de los elementos de la lista. La cabeza y la cola de una
lista se separan con el símbolo "|".
Ejemplo.
concatenar([],L,L).
concatenar([X|L1],L2,[X|L3]):-
concatenar(L1,L2,L3).
5. Arboles.
Es más fácil entender la forma de una estructura complicada si la escribimos como un
árbol en el que el nombre es un nodo y los componentes son las ramas.
Ejemplo
padre(daniel, juan).
padre(claudia, juan).
padre(rosa, juan).
padre(alberto, ulises).
hermano(X,Y):- padre(X,Z), padre(Y,Z).