En Prolog, las tuplas y estructuras son fundamentales para representar datos complejos. Este tema te enseñará cómo definir y manipular estas estructuras, permitiéndote modelar información de manera más efectiva.

Conceptos Clave

  1. Tuplas: En Prolog, las tuplas se representan como términos compuestos. Un término compuesto tiene un functor y un número fijo de argumentos.
  2. Estructuras: Las estructuras en Prolog son similares a las tuplas, pero se utilizan para representar datos más complejos y organizados.

Definiendo Tuplas

Una tupla en Prolog se define utilizando un functor seguido de sus argumentos entre paréntesis. Por ejemplo:

persona(juan, 30).

En este ejemplo, persona es el functor, y juan y 30 son los argumentos.

Ejemplo Práctico

Supongamos que queremos representar una lista de personas con sus nombres y edades:

persona(juan, 30).
persona(maria, 25).
persona(pedro, 40).

Podemos consultar esta base de datos para encontrar personas de una cierta edad:

?- persona(Nombre, 30).

Explicación del Código

  • persona(juan, 30).: Define un hecho donde juan tiene 30 años.
  • persona(Nombre, 30).: Consulta que busca todas las personas con 30 años.

Definiendo Estructuras

Las estructuras en Prolog permiten agrupar datos relacionados bajo un mismo functor. Por ejemplo, para representar una persona con nombre, edad y dirección, podemos usar:

persona(juan, 30, direccion(calle_falsa, 123)).

Ejemplo Práctico

Vamos a definir una base de datos de personas con sus direcciones:

persona(juan, 30, direccion(calle_falsa, 123)).
persona(maria, 25, direccion(calle_verdadera, 456)).
persona(pedro, 40, direccion(calle_alegre, 789)).

Podemos consultar esta base de datos para encontrar la dirección de una persona:

?- persona(juan, _, Direccion).

Explicación del Código

  • persona(juan, 30, direccion(calle_falsa, 123)).: Define un hecho donde juan tiene 30 años y vive en calle_falsa, 123.
  • persona(juan, _, Direccion).: Consulta que busca la dirección de juan.

Ejercicios Prácticos

Ejercicio 1: Definir y Consultar Tuplas

  1. Define una base de datos de libros con su título y autor.
  2. Consulta todos los libros escritos por un autor específico.

Solución

% Definición de la base de datos
libro('El Quijote', 'Miguel de Cervantes').
libro('Cien Años de Soledad', 'Gabriel Garcia Marquez').
libro('Don Juan Tenorio', 'Jose Zorrilla').

% Consulta
?- libro(Titulo, 'Miguel de Cervantes').

Ejercicio 2: Definir y Consultar Estructuras

  1. Define una base de datos de estudiantes con su nombre, edad y curso.
  2. Consulta todos los estudiantes que están en un curso específico.

Solución

% Definición de la base de datos
estudiante(ana, 20, curso(matematicas, 101)).
estudiante(luis, 22, curso(fisica, 102)).
estudiante(carla, 21, curso(quimica, 103)).

% Consulta
?- estudiante(Nombre, _, curso(matematicas, 101)).

Resumen

En esta sección, hemos aprendido a definir y manipular tuplas y estructuras en Prolog. Estos conceptos son esenciales para representar datos complejos de manera organizada. Asegúrate de practicar los ejercicios para reforzar tu comprensión y estar preparado para los temas más avanzados.

En el próximo tema, exploraremos la recursión en Prolog, una herramienta poderosa para resolver problemas complejos de manera elegante y eficiente.

© Copyright 2024. Todos los derechos reservados