ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Qué es la programación declarativa


Enviado por   •  19 de Febrero de 2013  •  Tesina  •  3.226 Palabras (13 Páginas)  •  470 Visitas

Página 1 de 13

PRIMEROS EJERCICIOS EN PROLOG CON SWI PROLOG

PAGINA DE DESCARGA SWI-PROLOG

http://www.swi-prolog.org/

Ubicación del software

SI DESEA DESINTALARLO BUSCA LA SIGUIENTE UBICACIÓN: C:\Program Files\pl

Qué es la programación declarativa?

Este año vamos a ver aproximaciones distintas a la programación declarativa: programación lógica (en prolog) y programación funcional (en haskell).

Este tipo de programación tiene varias diferencias con la programación imperativa que quizás muchos de ustedes conozcan (C, C++, Visual Basic, Perl).

En el paradigma de la programación declarativa, lo que hace el programador es explicar cómo son las cosas, a diferencia de la programación imperativa, donde uno dice qué cosas hacer, es decir, da órdenes.

Vamos a ver que en prolog o haskell no damos órdenes, sino que describimos las cosas que nos interesan, y luego le pedimos al intérprete que nos responda preguntas sobre la información que le hemos proporcionado.

El interés de la programación declarativa radica en el hecho de que podemos obtener mucha más información de la que hemos declarado inicialmente, ya que los intérpretes son capaces de hacer inferencia de conocimiento mediante reglas, o instanciar reglas generales en casos particulares. Veamos algunos ejemplos, que luego vamos a implementar como ejercicios.

En prolog podemos describir una familia declarando únicamente las relaciones entre padres e hijos y el sexo de cada miembro de la familia, y luego con reglas que describen cada relación familiar (padre, madre, primo, tío) en función de estas dos únicas fuentes de conocimiento.

También podemos describir las conexiones que existen entre ciudades, de a pares únicamente, y ahí determinar si existe algún camino que conecte un par de ciudades cualquiera. Incluso se puede determinar cuál es el camino más corto de todos los posibles, si es que hay más de uno.

Algunas cosas para las que no es razonable usar prolog: para gestión de archivos, tratamiento masivo de datos, manipulación de texto mediante expresiones regulares, entre otros.

Iniciando prolog

Empezamos con la programación lógica (en prolog). Hay varios dialectos de prolog, nosotros vamos a usar SWIProlog.

Lo primero que vamos a hacer es conseguirnos un editor de texto que nos ayude a escribir programas. Si alguien programa habitualmente en un editor o entorno de programación en concreto, que siga usando ese (emacs, vi, eclipse).

Sino, podemos empezar usando editores livianos y no propietarios. En Linux, podemos usar kate, en Windows podemos usar un editor específico para SWIprolog o cualquier otra cosa que os guste (incluyendo NotePad).

El símbolo ?- nos indica que el intérprete de prolog está preparado y esperando nuestras órdenes. En el caso de prolog, las órdenes serán preguntas que le vamos a hacer y el intérprete nos va a responder.

Las preguntas tienen forma de predicados.

El intérprete solamente contesta a cosas que sepa. Si nosotros no le proporcionamos ningún conocimiento extra, el intérprete sólo sabe algunas propiedades sobre números, por ejemplo, le podemos preguntar lo siguiente:

1 ?- 5 is 2+3.

true.

2 ?- 6 is 3*2.

true.

3 ?- 6 is 2*2.

false.

4 ?- 5 is 8-3.

true.

Pero si le queremos preguntar otra para, antes tenemos que proporcionarle el conocimiento que necesita. Para proporcionarle ese conocimiento, lo que hacemos es editar un archivo con el editor que queramos usar (kate, notepad, cualquiera). En ese archivo escribimos el conocimiento que queramos proporcionar al intérprete, en forma de hechos y reglas. Una vez que tenemos el conocimiento escrito, guardamos el archivo mediante el menú de archivo del editor, vamos al intérprete, cargamos el archivo en la memoria, y ahí podemos empezar a preguntar por el conocimiento que cargamos.

CERRAR PROLOG CON EL COMANDO halt

Cuando ya no queremos preguntar nada más al intérprete, cerramos el intérprete diciéndole halt.

AYUDA PROLOG CON EL COMANDO help

El menú Ayuda ofrece varios puntos de partida a los documentos relacionados. Los productos marcados con (en www) abrir el navegador de Internet predeterminado en una página del sitio web de SWI-Prolog.

LA COMUNIDAD SWI-PROLOG Y FUNDAMENTO

1 SITIO WEB Y LISTAS DE CORREO

El sitio web de SWI-Prolog se encuentra en http://www.swi-prolog.org/ .

http://www.swi-prolog.org/pldoc/index.html

http://books.google.nl/books?id=q6R3Q3B-VC4C&printsec=frontcover&hl=es&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false

2 Acerca de condiciones de la licencia

La licencia SWI-Prolog permite que sea utilizado en una amplia variedad de entornos, incluyendo código cerrado aplicaciones comerciales. En la práctica, la redistribución y la inclusión está permitida, siempre y cuando las modificaciones a la fuente de SWI-Prolog se publican siguiendo las reglas de Software Libre.

El núcleo SWI-Prolog y bibliotecas extranjeras están licenciados bajo la Licencia Pública General Menor (LGPL). Los archivos Prolog están registrados bajo la normalidad General Public License GPL con una declaración adicional que permite incrustar en el software propietario:

Como excepción especial, si se vincula esta biblioteca con otros archivos, compilados con el compilador de Software Libre, para producir un ejecutable, esta biblioteca no hace por sí misma causar el ejecutable resultante sea cubierto por la Licencia Pública General GNU. Esta excepción no es, sin embargo, no invalida las razones por las cuales podría ser el archivo ejecutable cubierto por la Licencia Pública General GNU.

Esta excepción es una construcción probada que se utiliza para libgcc , el compilador GNU C-biblioteca de ejecución.

4.3 Apoyar SWI-Prolog

Hay varias maneras para apoyar SWI-Prolog:

• Extender el sistema de contribuciones.

• Mejorar el sistema de presentación de informes de errores y parches.

• Enlace a http://www.swi-prolog.org y se refieren a SWI-Prolog en las publicaciones.

• Para los usuarios comerciales, puede ser rentable para patrocinar proyectos de desarrollo que hacen SWI-Prolog más útil para usted y para los demás. Ejemplos de proyectos de la parte incluyen agregar el recolector de

...

Descargar como (para miembros actualizados) txt (24 Kb)
Leer 12 páginas más »
Disponible sólo en Clubensayos.com