Download - Clips parte2x
![Page 1: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/1.jpg)
Parte 2Parte 2
![Page 2: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/2.jpg)
Las Variables�Nos permiten guardar valores
�Son dinámicas y sus valores cambian según las necesidades.necesidades.
�Las variables no pueden ser el primer campo de un hecho.
�La sintaxis es:
�?<nombre>
![Page 3: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/3.jpg)
Variables en el antecedente
de una regla.� Ejemplos:
�(defrule colorcoche(coche ?color)(coche ?color)
=>(assert (coche ?color))
![Page 4: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/4.jpg)
Dos variables
�(defrule quienesquien(cazador ?cazador ?cazado)
=>=>(printout t ?cazador "dispara al"
?cazado crlf))
![Page 5: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/5.jpg)
Almacenando direcciones� También pueden almacenar la dirección de un hecho.
� A veces no conocemos la posición que ocupa en la memoria.
� De esta forma usamos el operador <-
(defrule quienesquien2(?asesinato <- (cazador ?cazador ?cazado)
=>(printout t "Hecho numero " ?asesinato ":" crlf
?cazador "ha matado a" ?cazado crlf)
![Page 6: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/6.jpg)
Variables tipo COMODINES
� En ese caso es factible que el hecho tenga 1 o más partes además de lo que buscamos, para eso:
� CLIPS> (defrule agencia-matrimonial(nombre Pedro ?)=>=>(assert (encontrado-Pedro-apellido si)))CLIPS> (assert (Pedro Gonzalez Lopez))CLIPS> fact-0CLIPS> (assert (Pedro))CLIPS> fact-1CLIPS> (assert (Pedro Lopez))CLIPS> fact-2CLIPS>
![Page 7: Clips parte2x](https://reader037.vdocumento.com/reader037/viewer/2022100606/55a0b6b01a28ab124f8b4591/html5/thumbnails/7.jpg)
El orden de activación de las reglas
�Según están escritos se analizan para ver si están bien según la sintáxis y la lógicaestán bien según la sintáxis y la lógica
�Una vez analizada cada regla, la pone en la cola de modo que la última regla activada es la última en ejecutarse.