Beruflich Dokumente
Kultur Dokumente
CHIMBORAZO
TAREA No. 2
IDENTIFICACION
Facultad: Informática y Electrónica
Semestre: Séptimo
Revisado
Calificación
TEMA: PROLOG
OBJETIVO GENERAL
Realizar una investigación sobre conceptos fundamentales, sintaxis del
lenguaje de programación declarativo Prolog.
OBJETIVOS ESPECÍFICOS
● Analizar los conceptos fundamentales del lenguaje de programación
declarativo Prolog.
● Describir la sintaxis utilizada en el lenguaje de programación Prolog.
MARCO TEÓRICO
PROLOG
La Lógica de Primer Orden analiza las frases sencillas del lenguaje (fórmulas
atómicas o elementales) separándolas en Términos y Predicados. Los términos
hacen referencia a los objetos que intervienen y los predicados a las propiedades
o relaciones entre estos objetos. Además, dichas fórmulas atómicas se pueden
combinar mediante Conectivas permitiéndonos construir fórmulas más
complejas, llamadas fórmulas moleculares (Faraón Llorens Largo, 2001).
PREDICADOS
Los nombres de todos los objetos y relaciones deben comenzar con una
letra minúscula.
Primero se escribe la relación o propiedad: predicado
Y los objetos se escriben separándolos mediante comas y encerrados
entre paréntesis: argumentos.
Al final del hecho debe ir un punto (".").
Simbolo_de_predicado(arg1,arg2,...,argn).
TERMINOS
Los términos pueden ser tanto constantes o variables:
CONECTIVAS LÓGICAS
SINTAXIS
La sintaxis de un lenguaje describe la forma en la que se nos está permitido
juntar palabras entre sí. Los programas en Prolog se construyen a partir de
términos. Un término es una constante, una variable o una estructura. Todo
término se escribe como una secuencia de caracteres. Para escribir un
comentario lo encerraremos entre los signos /* y */ o desde el símbolo % hasta
el final de línea. Así, Prolog pasa por alto los comentarios, pero los debemos
añadir a nuestros programas para aclararlos y que el propio programa quede
documentado
APLICACIÓN PRÁCTICA
Dada la base de datos familiar del ejemplo 1.1, y suponiendo definidas las
siguientes cláusulas:
hombre(X).
mujer(X).
progenitor(X,Y).
dif(X,Y):- X\=Y.
Donde las 3 primeras cláusulas se definirán como hechos (por tanto, no se podrá
poner una variable como argumento, ya que una variable haría que el hecho
fuera cierto para cualquier objeto) y la última como una regla (donde el símbolo
\= significa distinto). Escribir las reglas de PROLOG que expresen las siguientes
relaciones:
a) es_madre(X).
b) es_padre(X).
c) es_hijo(X).
d) hermana_de(X,Y).
e) abuelo_de(X,Y) y abuela_de(X,Y).
predecesor(X,Y):-progenitor(X,Z), progenitor(Z,Y).
predecesor(X,Y):-progenitor(X,Z), progenitor(Z,V),
progenitor(V,Y).
CONCLUSIONES
● El lenguaje de programación Prolog se basa en símbolos por lo que es
capaz de generar respuestas con solo tener una base de conocimientos
ya creada.
● Las conectivas lógicas ayudan a generar bases de conocimiento mucho
más amplias y complejas asegurando asi que la capacidad del lenguaje
Prolog sea más extensa y pueda generar respuestas correctas.
RECOMENDACIONES
● Buscar información lo más detallada posible ya que muchos autores
omiten gran cantidad de información.
● Debido a la gran información que abarca el lenguaje de programación
Prolog no se lo pudo tratar al completo en este documento por ello se
recomiendo ampliar el tema para adquirir más conocimiento del mismo.
BIBLIOGRAFÍA