Sie sind auf Seite 1von 4

UNIVERSIDAD DEL CONO SUR DE LAS AMERICAS

Tipos de Contratos y
Adquisiciones
PROYECTO FINAL
MAURICIO MELGAREJO
/06/2016

Ingeniera Informtica Profesor Francisco Fleitas

;Autor: Francisco Fleitas


;Cuando se coloca enfrente el punto y coma, se considera comentario
;El comando assert permite guardar en la memoria de trabajo MT, los
hechos (Seria la Base de Conocimiento)
;Las reglas se definen con el comando defrule <nombre-regla>
;Dentro de la herramienta CLIPS en el Menu "Browse" se puede encontrar
las definiones iniciales y reglas cargadas, una vez hecha la carga.
;Para realizar la carga de un programa .cpl y posterior ejecucin, vease
en la pagina 38 del material
(defrule que-forma
(initial-fact)
=>
(printout t "Que forma tiene la fruta (larga/redonda/ensanchada)? ")
(assert (forma(read))
)
)
(defrule como-forma-color
(forma larga | redonda | ensanchada )
=>
(printout t "Que color tiene la fruta
(rojo/verde/amarillo/naranja/morado)? ")
(assert (color(read))
)
)
(defrule como-forma-diametro
(forma redonda )
(color rojo | verde | amarillo | tostado | naranja | morado)
=>
(printout t "Que diametro en cm. aproximado tiene la fruta ? ")
(assert (diametro(read))
)
)
(defrule como-forma-superficie
(forma ensanchada)
(color rojo | verde | amarillo | tostado | naranja | morado)
=>
(printout t "Como es la superficie (lisa/aspera)? ")
(assert (superficie(read))
)
)
(defrule como-tipo-semilla
(forma redonda | larga)
(color rojo | verde | amarillo | tostado | naranja | morado)
=>
(printout t "Que cantidad de semillas tiene:? ")
(assert (nro-semillas(read))
)
)
(defrule regla-1
(forma larga)

(color verde | amarillo)


=>
)

(assert (fruta BANANA))


(printout t "La fruta es BANANA." crlf)

(defrule regla-2
(forma redonda | ensanchada)
(diametro ?d&:(>= ?d 10))
=>
(assert (frutal enterrado))
)
(defrule regla-3
(forma redonda | ensanchada)
(diametro ?d&:(< ?d 10))
=>
(assert (frutal arbol))
)
(defrule regla-4
(nro-semillas ?s&:(< ?s 1))
=>
(assert (tipo-semilla unico))
)
(defrule regla-5
(nro-semillas ?s&:(> ?s 1))
=>
(assert (tipo-semilla multiple))
)
(defrule regla-6
(frutal enterrado)
(color verde)
(forma ensanchada)
(tipo-semilla multiple)
=>
(assert (fruta SANDIA))
(printout t "Es una Sandia." crlf)
)
(defrule regla-7
(frutal enterrado)
(color amarillo)
(superficie lisa)
=>
(assert (fruta MELON))
(printout t "Es un Meln." crlf)
)
(defrule regla-8
(frutal arbol)
(color rojo)
(tipo-semilla unico)
=>
(assert (fruta CEREZA))

(printout t "Es un Cereza." crlf)


)
(defrule regla-9
(frutal arbol)
(color morado)
(tipo-semilla unico)
=>
(assert (fruta CIRUELA))
(printout t "Es un Ciruela." crlf)
)

Das könnte Ihnen auch gefallen