Está en la página 1de 6

Significado declarativo y procedural de los programas

En un lenguaje declarativo puro, sería de esperar que el orden en el que aparecenlos hechos y las
reglas en la base fuera independiente de los datos, sin embargoen PROLOG no es así.El significado
declarativo tiene que ver sólo con las relaciones definidas por elprograma. De esta manera, el
significado declarativo determina cuál será la salidadel programa. Por otro lado, el significado
procedural determina cómo se haobtenido esta salida; es decir, como evalúa las relaciones
PROLOG.Si tenemos un conjunto de hechos y reglas con el mismo nombre de relación y lamisma
aridad, puede ser conveniente que los hechos estén situados en la base dedatos antes que las
reglas, (sobre todo, si los hechos son excepciones de lasreglas). Además también suele ser
aconsejable poner la regla para salirse de larecursividad antes que la regla recursiva.La habilidad
de PROLOG para calcular de forma procedural es una de lasventajas específicas que tiene el
lenguaje. Como consecuencia esto anima alprogramador a considerar el significado declarativo de
los programas de formarelativamente independiente de su significado procedural.Es decir, las
ventajas de la forma declarativa de este lenguaje son claras (es másfácil pensar las soluciones y
muchos detalles procedurales son resueltosautomáticamente por el propio lenguaje) y podemos
aprovecharlas.Los aspectos declarativos de los programas son, habitualmente, más fáciles
deentender que los procedurales. Esta es la principal razón por la que elprogramador debe
concentrarse en el significado declarativo y evitar distraerse porlos detalles de cómo se ejecutan
los programas.

Programación Lógica y Funcional

2015

ING. ROSA IMELDA GARCIA CHI,MTI

46

Práctica no. 22

Nombre de la práctica:Primer elemento

Objetivo

Definir la relación primero (?L, ?X) que se verifique siX es el primer elemento de la lista L.

Introducción

Para definir programas en ProLog es necesarioidentificar y escribir los hechos, luego las reglas.
EnProlog existen símbolos como las constantes, lasrelaciones binarias y las variables.En el SWI
Prolog se realizan las consultas de loshechos y reglas definidas. Se puede elaborar un árbolde
deducción para conocer la unificación, el cálculo derespuestas o las respuestas múltiples.

Material y Equipo

Libreta u hojas blancas de papel bond

Lápiz, Sacapuntas y Borrador

Computadora con Acceso a Internet

Dispositivo de almacenamiento

Plataforma Moodle del IT Valles

Procesador de Textos p.e. Word

Metodología

1. Declarar hechos sobre objetos y sus relaciones2. Hacer preguntas sobre objetos y sus
relaciones3. Definir reglas sobre objetos y sus relaciones4. Escribir en un editor de texto los
programas5. Grabarlos con extensión .pl6. Usar SWI-PROLOG y compilar el programa .pl7. Realizar
las consultas

Programación Lógica y Funcional

2015

ING. ROSA IMELDA GARCIA CHI,MTI

53

Práctica no. 28

Nombre de la práctica:Factorial

Objetivo

Definir la relación
factorial(+X, ?Y)

que se verifique si

es el factorial de

Introducción

La definición de factorial está dada por una recursión,la cual hay que considerar para realizar esta
práctica.

Material y Equipo

Libreta u hojas blancas de papel bond

Lápiz, Sacapuntas y Borrador

Computadora con Acceso a Internet

Dispositivo de almacenamiento

Plataforma Moodle del IT Valles

Procesador de Textos p.e. Word

Metodología

1. Declarar hechos sobre objetos y sus relaciones2. Hacer preguntas sobre objetos y sus
relaciones3. Definir reglas sobre objetos y sus relaciones4. Escribir en un editor de texto los
programas5. Grabarlos con extensión .pl6. Usar SWI-PROLOG y compilar el programa .pl7. Realizar
las consultas

Sugerencias

Puede empezar utilizando la función:Factorial(1,1).Factorial (X;Y):- x>1, factorial (X1,Y1), Y is X*Y1.


Programación Lógica y Funcional

2015

ING. ROSA IMELDA GARCIA CHI,MTI

54

Práctica no. 29

Nombre de la práctica:Sucesion de Fibonacci

Objetivo

Definir la relación

Fibonacci(+N,-X)

que se verifique

si

es el N

ésimo término de la sucesión deFibonacci.

Introducción

La sucesión de Fibonacci es 0,1,1,2,3,5,8,13,21,. . . nla que cada término, salvo los dos primeros, es
lasuma de los dos anteriores.

Material y Equipo

Libreta u hojas blancas de papel bond

Lápiz, Sacapuntas y Borrador

Computadora con Acceso a Internet


Dispositivo de almacenamiento

Plataforma Moodle del IT Valles

Procesador de Textos p.e. Word

Metodología

1. Declarar hechos sobre objetos y sus relaciones2. Hacer preguntas sobre objetos y sus
relaciones3. Definir reglas sobre objetos y sus relaciones4. Escribir en un editor de texto los
programas5. Grabarlos con extensión .pl6. Usar SWI-PROLOG y compilar el programa .pl7. Realizar
las consultas

Sugerencias

Se recomienda el uso de inducción en N pararesolver esta práctica.

Programación Lógica y Funcional

2015

ING. ROSA IMELDA GARCIA CHI,MTI

55

Práctica no. 30

Nombre de la práctica:Construir el Árbol Genealógico

Objetivo

Construir con prolog el árbol genealógico de la familiaque se muestra en la sugerencia.

Introducción

En prolog es necesario definir hechos y reglas.Los hechos son certezas, las reglas son
proposicionesque contienen conectores para deducir una consulta yllegar a construir la decisión
deseada.

Material y Equipo
Libreta u hojas blancas de papel bond

Lápiz, Sacapuntas y Borrador

Computadora con Acceso a Internet

Dispositivo de almacenamiento

Plataforma Moodle del IT Valles

Procesador de Textos p.e. Word

Metodología

1. Declarar hechos sobre objetos y sus relaciones2. Hacer preguntas sobre objetos y sus
relaciones3. Definir reglas sobre objetos y sus relaciones4. Escribir en un editor de texto los
programas5. Grabarlos con extensión .pl6. Usar SWI-PROLOG y compilar el programa .p

También podría gustarte