0% encontró este documento útil (0 votos)
6 vistas

Programacion Logica Modelos 2

Cargado por

Juan David Orduz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas

Programacion Logica Modelos 2

Cargado por

Juan David Orduz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

PROGRAMACION LOGICA

MODELOS DE PROGRAMACION ii
HECHOS Y REGLAS
Reglas Hechos

Siempre son ciertos

“La cabeza es verdad si el


cuerpo es verdad” En la sentencia anterior define que “tom es un gato” y
este valor es verdadero(true)
Se pueden usar operadores lógicos para denotar Es equivalente a la regla
conjunción o disyunción según sea el hecho. AND(,)
– OR (;)
Se puede preguntar directamente a la sentencia
• X is Y %unificación con evaluación
EXPRESIONES
• X = Y %unificación simbólica
• X =:= Y %comparación con evaluación
• X == Y %comparación simbólica
EJEMPLO SIMPLE EN PROLOG
CONSULTAS
EJERCICIO 1
Desarrollar su árbol genealógico en Prolog mediante la siguiente semántica:

padre(nombre_1, nombre_2).
padre(nombre_3, nombre_4).
“”
“”

De igual manera exprese también las siguientes relaciones usando reglas: hermano, hijo, tio, sobrino,
primo, ancestro, etc.
De esta forma existirá información redundante en varios sentidos que deberá ser coherente

Realice consultas sobre la información almacenada con preguntas complejas construidas con los
operadores AND(,), OR(;) y NOT(not).
EJERCICIO 2
Desarrolle un programa en Prolog que resuelva el factorial de un número,

?- factorial(5,S).
S = 120

Desarrolle un programa que calcule la suma de los primeros N cubos.

?- sumancubos(5,S).
S = 225
EJERCICIO 3
Matías es un niño de 5 años que acaba de aprender los números y, después de escuchar
a su primo llamar "anciana" a su hermana, quiere saber a qué edad una persona es bebé,
niño, adolescente, adulto y anciano. Su madre le explicó que una persona es:

• Bebé desde que nace hasta que tiene 2 años inclusive.


• Niño desde los 3 hasta los 9 años inclusive.
• Adolescente desde los 10 hasta los 20 años inclusive.
• Adulto desde los 21 hasta los 69 años inclusive.
• Anciano desde los 70 años en adelante.

Con base en esto, la mamá le pide que le responda en qué categoría se encuentra cada
uno de sus familiares, teniendo en cuenta el siguiente árbol:
EJERCICIO 4
1. Se tienen dos listas con el mismo número de objetos, escriba un programa en prolog
que tome alternativamente elementos de ambas listas para construir una nueva lista
con los elementos de ambas.
2. Desarrolle un programa que invierta el orden de los elementos de una lista dada.
EJERCICIO 5
Defina un predicado producto(X,Y,Z) que sea verdadero si X*Y=Z. Haga dos
implementaciones:
1. Utilice el predicado sucesor presentado anteriormente.
2. Utilice una función suc() y la constante cero para definir todos los números naturales
de la siguiente forma: cero, suc(cero), suc(suc(cero)), etc.
EJERCICIO 6
Se necesita de un sistema que obtenga la densidad de algunos departamentos de nuestra Provincia, para lo cual se
debe representar los hechos y reglas según los siguientes datos:

La Rioja Capital cuenta con 180.219 habitantes y tiene una superficie de 13.638 Km2.
Sanagasta cuenta con 2.330 habitantes y tiene una superficie de 1.711 Km2.
Chilecito cuenta con 42.248 habitantes y tiene una superficie de 4.846 Km2.
Vinchina cuenta con 2.834 habitantes y tiene una superficie de 10.334 Km2.

Para obtener la densidad se debe utilizar la fórmula: población/superficie

Realice preguntas para verificar el ejercicio. Ejemplo: ¿Población de la Capital?, ¿Chilecito tiene una población de
42248?
BIBLIOGRAFÍA

• https://es.wikipedia.org/wiki/Prolog#Ejemplo_simple
• https://www.studocu.com/es-ar/document/universidad-nacional-de-san-luis/sistemas-
inteligentes/ejercicios-prolog-completos/2917441
• https://www.infor.uva.es/~calonso/Ingenieria%20Conocimiento-Grado%20Informatica/
Practicas/Practica%20I%20Prolog.pdf

También podría gustarte