; your code goes here
(defrule R1-disco-duro
(equipo pc_laboratorio1)
(sintoma ruido_disco)
=>
(assert (componente-sospechoso disco_duro))
)
(defrule R2-memoria-ram
(equipo pc_laboratorio1)
(sintoma no_inicia)
=>
(assert (componente-sospechoso memoria_ram))
)
(defrule R3-fuente-poder
(equipo pc_laboratorio2)
(sintoma no_enciende)
=>
(assert (componente-sospechoso fuente_poder))
)
(defrule R4-tarjeta-video
(equipo pc_multimedia)
(sintoma pantalla_negra)
=>
(assert (componente-sospechoso tarjeta_video))
)
(defrule R5-bateria
(equipo laptop_juan)
(sintoma se_apaga)
=>
(assert (componente-sospechoso bateria))
)
(defrule R6-cargador
(equipo laptop_docente)
(sintoma no_carga)
=>
(assert (componente-sospechoso cargador))
)
;; --- REGLAS R7 A R12: Generación del diagnóstico ---
(defrule R7-diagnostico-disco
(componente-sospechoso disco_duro)
=>
(assert (diagnostico revisar_disco_duro))
)
(defrule R8-diagnostico-ram
(componente-sospechoso memoria_ram)
=>
(assert (diagnostico revisar_memoria_ram))
)
(defrule R9-diagnostico-fuente
(componente-sospechoso fuente_poder)
=>
(assert (diagnostico revisar_fuente_poder))
)
(defrule R10-diagnostico-video
(componente-sospechoso tarjeta_video)
=>
(assert (diagnostico revisar_tarjeta_video))
)
(defrule R11-diagnostico-bateria
(componente-sospechoso bateria)
=>
(assert (diagnostico revisar_bateria))
)
(defrule R12-diagnostico-cargador
(componente-sospechoso cargador)
=>
(assert (diagnostico revisar_cargador))
)
;; --- Regla para mostrar los diagnósticos en la salida (stdout) ---
(defrule imprimir-diagnostico
(diagnostico ?d)
=>
(printout t "DIAGNOSTICO OBTENIDO: " ?d crlf)
)
(deffacts caso-prueba
(equipo pc_laboratorio1)
(sintoma ruido_disco)
(sintoma no_inicia)
)
(reset)
(run)
(facts)
(exit)
; empty line at the end