Tarea 5

Prolog

Prolog representa el lenguaje principal en la categoría de Programación Lógica. A diferencia de otros lenguajes, Prolog no es un lenguaje de programación para usos generales, sino que esta orientado a resolver problemas usando el cálculo de predicados.

Sintaxis

El sistema Prolog reconoce el tipo de un objeto en el programa por medio de su forma sintáctica. Esto es posible porque la sintaxis de Prolog especifica diferentes formas para cada tipo de datos. La forma de distinguir entre átomos y variables es que las variables empiezan con letras mayúsculas, mientras que los átomos con minúsculas. No existe información adicional para comunicarle a Prolog el orden para reconocer el tipo de un objeto.

TIPO SYNTAXIS EJEMPLO
Cadenas de letras, dígitos y el caracter '_', Empezando con minúsculas -pedrox25
-x_25
-procedmiento_uno
-categoria_x
Los números usados en Prolog incluyen números enteros y números reales La sintaxis de los enteros es simple 1
1313
0
-97
Cadenas de caracteres encerradas en apóstrofes. Se utiliza cuando sequiere, por ejemplo, tener un átomo que empiece con una letra mayúscula 'Tom'
'Polo_Norte'
Comentarios los comentarios de mas una linea van entre /*... */ y los comentarios de una linea inician con un %... /* Este
es un comentario */

% Este también

Simbolos

Aritmeticos

+Suma
-resta
*Multiplicación
/División
//División entera
MODModulo
sqrt()raiz cuadrada
log()logaritmo
ln()logaritmo natural
abs()valor absoluto
sin(T)seno de T
cos(A)coseno de A
Tan(C)tangente de C

Relacionales

=Igual que
> Mayor que
>= Mayor igual que
< Menor que
<= Menor igual que
<> Desigual que
=/= Diferente que
is Evaluador de expresión
seed Generador de numeros aleatorios

Estructura basica

Un programa en prolog está compuesto por cláusulas. Las cláusulas son la base del programa, están conformadas por hechos y reglas . El conjunto de hechos y reglas forman el conocimiento base del programa, mediante el cual podremos realizar consultas e inferir datos.

Predicado(sujeto(‘,’||sujeto)*)
Ejemplos:
le_gusta_a(juan,maria).

Aplicación para ejecutar y editar codigo Prolog

SWI-Prolog

El shell es una aplicación más que podemos ejecutar en nuestro sistema operativo. En nuestro caso, la aplicación se denomina SWI-PROLOG. Al ejecutarla aparece un típico mensaje de bienvenida:

machine% pl
Welcome to SWI-Prolog (Version 5.6.0)
Copyright (c) 1990-2005
University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details. For help,
use ?- help(Topic). or ?- apropos(Word).
?-

El símbolo ?- nos indica la zona donde podemos escribir los objetivos a ejecutar.

Paradigma al que pertenece

Prolog se enmarca en el paradigma de los lenguajes lógicos y declarativos

Programa basico en Prolog

Comprobación del resultado de una operación

    1 ?-  X is 2 + 2.
            X = 4   
            yes  
            
2 ?- 5 is 2 + 2. no 3 ?-