En Prolog, los hechos son afirmaciones básicas sobre el mundo que estamos modelando. Los hechos son la forma más simple de cláusulas en Prolog y se utilizan para representar información que se considera verdadera. En esta sección, aprenderemos cómo definir hechos en Prolog, cómo se estructuran y cómo se utilizan en consultas.
Conceptos Clave
- Hechos: Afirmaciones simples que se consideran verdaderas.
- Átomos: Nombres constantes que representan objetos o relaciones.
- Predicados: Funciones que representan relaciones entre átomos.
Sintaxis de los Hechos
Un hecho en Prolog se define utilizando un predicado seguido de uno o más átomos entre paréntesis, y termina con un punto. La estructura básica es:
Ejemplos de Hechos
-
Hecho Simple:
hombre(juan).
Este hecho afirma que "Juan es un hombre".
-
Hecho con Múltiples Átomos:
padre(juan, pedro).
Este hecho afirma que "Juan es el padre de Pedro".
Ejemplo Práctico
Supongamos que queremos modelar una pequeña base de datos familiar. Definimos algunos hechos sobre las relaciones familiares:
En este ejemplo:
hombre(juan).
afirma que Juan es un hombre.mujer(maria).
afirma que María es una mujer.padre(juan, pedro).
afirma que Juan es el padre de Pedro.madre(maria, pedro).
afirma que María es la madre de Pedro.
Consultas sobre Hechos
Una vez que hemos definido nuestros hechos, podemos hacer consultas para obtener información de nuestra base de datos. Las consultas se realizan utilizando los mismos predicados y átomos que hemos definido en nuestros hechos.
Ejemplos de Consultas
-
Consulta Simple:
?- hombre(juan).
Esta consulta pregunta si "Juan es un hombre". Prolog responderá
true
si el hecho está en la base de datos. -
Consulta con Variables:
?- padre(juan, X).
Esta consulta pregunta "¿Quién es el hijo de Juan?". Prolog responderá
X = pedro
si el hecho está en la base de datos.
Ejercicio Práctico
Ejercicio 1: Define los siguientes hechos en Prolog:
mujer(ana).
padre(carlos, ana).
madre(luisa, ana).
Solución:
Ejercicio 2: Realiza las siguientes consultas en Prolog:
- ¿Es Ana una mujer?
- ¿Quién es el padre de Ana?
Solución:
-
Consulta:
?- mujer(ana).
Respuesta:
true.
-
Consulta:
?- padre(X, ana).
Respuesta:
X = carlos.
Resumen
En esta sección, hemos aprendido cómo definir hechos en Prolog y cómo utilizarlos para hacer consultas. Los hechos son la base de cualquier programa en Prolog y nos permiten representar información básica sobre el mundo que estamos modelando. En la próxima sección, exploraremos cómo definir reglas para crear relaciones más complejas entre nuestros hechos.
Errores Comunes y Consejos:
- Error: Olvidar el punto al final de un hecho.
- Consejo: Asegúrate de que cada hecho termine con un punto (
.
).
- Consejo: Asegúrate de que cada hecho termine con un punto (
- Error: Usar mayúsculas para átomos.
- Consejo: Los átomos deben comenzar con una letra minúscula. Las mayúsculas se reservan para variables.
Con estos conocimientos, estás listo para avanzar a la siguiente sección, donde aprenderemos a definir reglas en Prolog.
Curso de Programación en Prolog
Módulo 1: Introducción a Prolog
- ¿Qué es Prolog?
- Instalando Prolog
- Primeros Pasos en Prolog
- Sintaxis y Estructura Básica
- Hechos, Reglas y Consultas
Módulo 2: Programación Básica en Prolog
Módulo 3: Estructuras de Datos en Prolog
Módulo 4: Programación Avanzada en Prolog
- Unificación Avanzada
- Corte y Negación
- Meta-Programación
- Gramáticas de Clausulas Definidas (DCGs)
- Programación Lógica con Restricciones
Módulo 5: Prolog en la Práctica
- Entrada/Salida de Archivos
- Depuración de Programas Prolog
- Bibliotecas de Prolog
- Interfaz con Otros Lenguajes
- Construyendo una Aplicación en Prolog