¿Quien soy?

Soy Daniel Alejandro Bulnes Reyna, mi número de matricula es 1441186 y estoy inscrito en la materia de Lenguajes de programación en el horario de Martes M1 y Lab. Lenguajes de programación los Jueves a V1, las dos con la Dra. Elisa Schaeffer.



Espero que mi blog les agrade y puedan comentar en el, ya sea positiva o negativamente, y que cada dia mejoren mas los posts.



martes, 16 de noviembre de 2010

PROLOG - LABORATORIO DE LENGUAJES DE PROGRAMACIÓN

El Prolog (o PROLOG), proveniente del francés PROgrammation en LOGique, es un lenguaje de programación lógico e interpretado, bastante conocido en el medio de investigación en Inteligencia Artificial.


Un poco de su historia nos cuenta que fueron Alain Colmerauer y Philippe Roussel los creadores, ademas de que su primera version fue programada en ALGOL W. y este estaba diseñado para el procesamiento de lenguajes naturales.

Las primeras versiones del lenguaje diferían, en sus diferentes implementaciones, en muchos aspectos de sus sintaxis, empleándose mayormente como forma normalizada el dialecto propuesto por la Universidad de Edimburgo[6] , hasta que en 1995 se estableció un estándar ISO (ISO/IEC 13211-1), llamado ISO-Prolog.
Prolog se enmarca en el paradigma de los lenguajes lógicos y declarativos, lo que lo diferencia enormemente de otros lenguajes más populares tales como Fortran, Pascal, C o Java.

Ahora les hablare un poco sobre su programación:

Hay dos tipos de clausulas que son los HECHOS Y LAS REGLAS.

LAS REGLAS son del tipo  ALGO :- ALGO.

Esto quiere decir que la primer cosa que pongamos va a ser cierta siempre y cuando la segunda cosa exista o sea verdad.

LOS HECHOS nos explican cosas que siempre son ciertas por ejemplo :

animal (gato).  

que este nosotros sabemos que es cierto. Y este se lee el gato es un animal? a lo cual el sistema nos contestaria TRUE (verdad).

Cuando cambiamos el nombre de la variable, es decir, al preguntar ponemos animal (X).

esto se leeria que cosas son animales?

por lo cual el sistema nos daria gato.


Prolog cuenta con operadores para la unificación y comparación, sea con evaluación o sea simbólica, como los siguientes:


X is Y %unificación con evaluación.
X = Y %unificación simbólica
X=:=Y %comparación con evaluación
X == Y %comparación simbólica.

Que en el sistema lo veriamos algo asi:

?- X is 3+5.
X = 8

?- X = 3+5.
X = 3+5

?- 3+5 =:= 2+6.
yes

?- 3+5 == 2+6.
no

?- 3+5 == 3+5.
yes

1 comentario: