Está en la página 1de 13

4.

6 Programación lógica con


números, listas y arboles
INTRODUCCION

• La programcion lógica es un paradigma de los lenguajes de


programación en el cual los programas se consideran como una
serie de aserciones lógicas. De esta forma, el conocimiento se
representa mediante reglas, tratándose de sistemas declarativos.
REPRESENTACION DECLARATIVA

• Una representación declarativa es aquella en la que el


conocimiento esta especificado, pero en la que la manera en que
dicho conocimiento debe ser usado no viene dado. El mas popular
de los sistemas de programación lógica es el PROLOG.
SOFTWARE

• SWI-Prolog
• Entorno de programación prolog (Windows/Linux/OSX)
• http://www.swi-prolog.org/
EXPRESIONES

PROLOG cuenta con operadores para la unificación y comparación,


sea con evaluación o sea simbólica, como los siguientes:

1.- X is Y %unificación con evaluación.


2.- X = Y %unificación simbólica.
3.- X =:= Y %Comparación con evaluación.
4.- X == Y % Comparación simbólica.
EJEMPLOS DE LAS EXPRESIONES
NUMERICOS

• En PROLOG los objetos numéricos pueden corresponder a tipos


integer o float de C.
• Para realizar las 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á el verdadero cuando X
unifique con el resultado numérico de evaluar <expresión>.
EJEMPLO
LISTAS

• La representación de hechos simples no es lo común en la


clasificación de elementos, sino que se agrupan los elementos de
un mismo tipo en una lista.
• Las listas son colecciones de elementos en PROLOG y un alista se
divide en dos partes:
1.- Cabeza: Es el primer elemento de la lista.
2.- 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 “|”.
ARBOLES

• Es mas 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
EJEMPLO DE CONCATENAR UNA LISTA
CONCLUSION

• Se puede estableces que el lenguaje PROLOG esta orientado a la


inteligencia Artificial, usando la programación lógica.
• Tambien utiliza pocos comandos en comparación con otros
lenguajes de programación. Soll hemos comenado a explorar el
poder que viene de la modelización de calculo dentro de la lógica
de predicados.

También podría gustarte