INSTITUTO TECNOLOGICO DE TUXTLA
GUTIERREZ
CRESUD ACALA
ASESOR:
Ing. Guadalupe Del Rosario Aguilar Lopez
MATERIA
Programacion Logica y funcional
UNIDA 2
TEMA
Investigacion de lenguaje de Prolog
ALUMNA
Vargas Pérez María de los Ángeles 12270303 A
15° Cuatrimestre
ACALA CHIAPAS
OCTUBRE DEL 2015
1. INTRODUCCION
En esta actividad explicáremos los puntos de mayor importancia sobre el lenguaje
de programación Prolog, como son los tipos de datos, sus funciones e intervalos
nos dice que es un lenguaje de programación hecho para representar y utilizar
el conocimiento que se tiene sobre un determinado dominio. De un conjunto de
objetos y el conocimiento se representa por un conjunto de relaciones que
describen las propiedades de los objetos y sus interrelaciones. Un conjunto de
reglas que describa estas propiedades y estas relaciones es un programa Prolog.
2. LENGUAJE DE PROLOG
Lenguaje de programación diseñado para representar y utilizar el conocimiento
que se tiene sobre un determinado dominio. Los programas en ProLog responden
preguntas sobre el tema del cual tienen conocimiento. ProLog es un lenguaje de
programación especialmente indicado para modelar problemas que impliquen
objetos y las relaciones entre ellos. Está basado en los siguientes mecanismos
básicos: unificación, estructuras de datos basadas en árboles
y backtracking automático. La sintaxis del lenguaje incluye la declaración de
hechos, preguntas y reglas. La popularidad de este lenguaje se debe a su
capacidad de deducción y además es un lenguaje fácil de usar por
su semántica y sintaxis. Sólo busca relaciones entre los objetos creados, las
variables y las listas, que son su estructura básica.
ProLog es un lenguaje de programación simple, pero poderoso. Se basa en
nociones matemáticas de relaciones de inferencia. Es un lenguaje declarativo e
interpretado, esto quiere decir que el lenguaje se usa para representar
conocimientos sobre un determinado dominio y las relaciones entre objetos de ese
dominio.
Un programa en ProLog consiste de una base de hechos de relaciones lógicas y
detalles que se cumplen para la aplicación. Dicha base de datos no tiene una
estructura impuesta, ni un procedimiento o clase principal. Escribir un programa en
ProLog consiste en declarar el conocimiento disponible acerca de los objetivos,
además de sus relaciones y sus reglas. En lugar de correr en un programa para
obtener una solución, se hace una pregunta, el programa revisa la base de
datos para encontrar la solución a la pregunta. Si existe más de una solución,
ProLog hace backtracking para encontrar soluciones distintas. El propio sistema
es el que deduce las respuestas a las preguntas que se le plantean, dichas
respuestas las deduce del conocimiento obtenido por el conjunto de reglas dadas.
La ejecución de ProLog consiste en una búsqueda en profundidad de un árbol
conteniendo todas las posibles soluciones. Para cada una de ellas se evaluará su
validez. La estructura de un programa en ProLog es lógica y directa. Se explican
cada una de sus partes y operadores disponibles a continuación.
2.1. CARACTERÍSTICAS DEL LENGUAJE PROLOG
1) Basado en lógica y programación declarativa.
2) No se especifica cómo debe hacerse, sino qué debe lograrse.
3) Una característica importante en ProLog y que lo diferencia de otros
lenguajes de programación, es que una variable sólo puede tener un valor
mientras se cumple el objetivo.
4) El programador se concentra más en el conocimiento que en
los algoritmos. ¿Qué es conocido? (hechos, reglas) ¿Qué preguntar?
(Cómo resolverlo).En ProLog, se llega a una solución infiriéndola desde
algo ya conocido.
2.2. TIPO DE DATOS
Symbol
Hay dos tipos de símbolos:
Un grupo de caracteres consecutivos (letras, números y signos de subrayado) que
comienzan con un carácter en minúscula
Ejemplo: Alto,Alto_edificio,El_alto_edificio_en_la_ciudad
Un grupo de caracteres consecutivos (letras y números) que comienzan y
terminan con dobles comillas("). Este tipo es útil cuando se quiere comenzar el
símbolo con un carácter en mayúscula o si se quieres agregar espacios entre los
caracteres del símbolo.
Ejemplo:"alto", "alto edificio"
String
Cualquier grupo de caracteres consecutivos (letras y números) que comience y
termine con dobles comillas("). Es igual a símbolo pero Prolog los trata de forma
distinta.
Ejemplo:"alto","alto edificio"
Integer
Cualquier número comprendido entre (-32.768 y 32.768). El límite esta
determinado porque los enteros se almacenan como valores de 16 bits, este límite
puede variar según la versión de Prolog.
Ejemplo: 4,-300,3004
Real
Cualquier numero real en el rango +/- 1E-307 a +/-1E+308. El formato incluye
estas opciones: signo, numero, punto decimal, fracción, E(exponente), signo para
el exponente, exponente.
Ejemplo: 3,3.1415
Char
Cualquier carácter de la lista ASCII estándar, posicionado entre dos comillas
sencillas (‘).
Ejemplos: ‘t’, ‘X’, ‘f’
2.3. FUNCIONES
2.4. INTERVALOS
3. CONCLUSION
En esta actividad aprendimos que
4. BIBLIOGRAFIAS
http://computacion.cs.cinvestav.mx/~acaceres/courses/itesm/lp/clases/lp14.pdf
http://www.uhu.es/nieves.pavon/pprogramacion/temario/tema1/tema1.html
http://www.inf.utfsm.cl/~mcloud/iwi-253/apuntes/apunte05-03-6x.pdf
http://www.ecured.cu/index.php/Prolog_(Lenguaje_de_programaci%C3%B3n)
https://es.wikipedia.org/wiki/Lenguaje_ensamblador
http://fcqi.tij.uabc.mx/usuarios/ardiaz/material/manual_lab_prolog.pdf
http://www.monografias.com/trabajos5/prolog/prolog.shtml
http://platea.pntic.mec.es/jdelucas/prolog.htm
http://www.uco.es/~ma1fegan/2013-2014/pd/temas/Tema-9/PD-Tema-9.pdf
http://www.desarrolloweb.com/articulos/1573.php
http://mural.uv.es/mijuanlo/PracticasPROLOG.pdf
http://es.slideshare.net/pedrovera5011/tutorial-de-prolog-19959264
http://www.di-mare.com/adolfo/cursos/2007-2/pp-Prolog.pdf
http://elvex.ugr.es/decsai/intelligent/workbook/ai/PROLOG.pdf
http://www.infor.uva.es/~teodoro/PrologAlicante.pdf
http://www.uhu.es/nieves.pavon/pprogramacion/temario/tema2/tema2.html
https://grupoexabyte.files.wordpress.com/2009/05/programacion-logica.pdf
http://es.slideshare.net/uni_fcys_sistemas/programacion-practica-prolog
http://es.slideshare.net/maxsp5566/practicas-prolog
http://html.rincondelvago.com/lenguajes-de-programacion_12.html
http://labsys.frc.utn.edu.ar/ppr-2011/Unidad%20V%20-%20Paradigma%20L%C3%B3gico/Unidad%20V%20-%20Paradigma%20LOGICO.pdf
http://arantxa.ii.uam.es/~dcamacho/logica/recursos/3848.0.prolog.pdf
Top Related