Explicación del programa buscapersona

Preview:

Citation preview

Explicación del ProgramaBuscapersona.clips

Programa:

(deftemplate persona

(slot nombre)

(slot ojos))

(deffacts personas

(persona(nombre Miguel) (ojos verdes))

(persona(nombre Ana)(ojos negros))

(persona(nombre Jairo)(ojos cafes))

(persona(nombre Elizabeth)(ojos azules))

(defrule busca-personas

(persona (nombre ?nombre1)

(ojos ?ojos1&azules|verdes))

(persona(nombre ?nombre2&-?nombre1)

(ojos negros))

=>

(printout t ?nombre1

"tiene los ojos" ?ojos1 crlf)

(printout t ?nombre2 "tiene los ojos negros" crlf)

(printout t "--------------" crlf))

Explicación

Constructor deftemplate:

este constructor crea una plantilla parecido a lo que

se conoce como 'clase' en la programación

orientada a objetos., que se usa para acceder

haciendo referencia al nombre con el que se definió

a los campos (SLOTS) de un hecho no ordenado.

Sintaxis:

(deftemplate <nombre> [sentencias] <definicion-

slots*)

Atributo Slots:

Es posible restringir el tipo, valor, rango numérico y la

cordialidad (el numero mínimo y máximo que puede

tomar un slots) todas estas características ayudan en el

desarrollo y el mantenimiento de un sistema.

Constructor Deffacts:

Éste constructor permite especificar un

conjunto de hechos como conocimientos

inicial. Los hechos de las sentencias deffacts son

añadidas a la MT utilizando el comando reset.

El comando reset elimina todos los datos que

hubiera en la lista hechos actual,

y a continuación añade los hechos

correspondientes a sentencias deffects.

Constructor defrule:

el consecuente de una regla es un conjunto de acciones a

ser ejecutadas cuado

la regla es aplicable. estas acciones se ejecutan cuando el

motor de inferencia

de Clips es instruido para que comience la ejecucion de la

reglas aplicables.

una regla Clips es una identidad independiente, no es

posible el paso de datos

entre dos reglas.

Comando printout:

Sirve para imprimir en pantalla los resultados, cuando

se cumple la función lógica se puede poner una 't'

para que sea siempre cierta, se imprime en pantalla el

texto o la variable que se indique.

Programa en ejecución:

Recommended