PROLOG
Sintaxis y simbolos
Prolog tiene un solo tipo de dato llamado término. que tiene varios subtipos: átomos, números, variables y términos
compuestos.
- Átomo: Un átomo es un nombre de propósito general, se compone de una secuencia de
caracteres.
- Sintaxis: Estos siempre comienzan en minuscula (Nunca en número) seguido de una
secuencia de caracteres sin ningún tipo de carácter especial. Se debe poner entre comillas sencillas.
Un átomo es siempre una constante
- Números: Los número se usan para representar valores constantes numéricos, estos valores
pueden ser enteros o reales.
- Sintaxis: Se usa la misma notación decimal para escribir valores numéricos, igualmente se pueden escribir los valores en notación
exponencial
- Variables: Las variables son cadenas de letras, dígitos y el signo '_'.
- Sintaxis: Las variables se indican mediante una cadena de caracteres que puede
constar de letras, números y guión bajo, adicionalmente debe comenzar con una letra
mayúscula o con guión bajo, esto las diferencia de los átomos.
Existe una variable especial que solo consta de un guión bajo (_), a esta variable se le
llama variable anónima.
- Estructuras: se compone de un átomo llamado "functor" y cierto número de argumentos. Cada argumento es un término.
- Sintaxis: Las estructuras se escriben ordinariamente como un functor seguido de una
lista de términos(argumentos) separados por comas, que está contenida entre
paréntesis.
- Comentarios: un texto que no es mostrado o utilizado para el algoritmo del programa, sino que es una guía o
comentario para el programador que esté modificando o realizando el programa.
- Sintaxis: Se utiliza el simbolo "%" seguido del texto que se desea comentar
- Operadores: Todas las versiones de Prolog soportan los siguientes operadores aritméticos, listados en el orden de prioridad de ejecución.
- + --> SUMA
- - --> RESTA
- * --> MULTIPLICACIÓN A
- / --> DIVISIÓN
- // --> DIVISION ENTERA
- MOD --> RESIDUO
- ^ --> POTENCIA
Esqueleto
Un programa en prolog está compuesto por cláusulas. Las cláusulas son la base del programa,
están conformadas por hechos y reglas.
- Hechos: relación entre objetos. Una afirmación directa entre uno o varios objetos con el siguiente formato: Predicado (sujeto(‘,’||sujeto)*)
- Reglas: es una sentencia condicional con el formato: Conclusión condicional ParteCondicional ---> *condicional : “:-”