Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Міністерство освіти і науки України Львівський

національний університет імені Івана Франка


Факультет електроніки та комп’ютерних технологій

Звіт

про виконання лабораторної роботи


№10:

Способи побудови експертних систем з використанням логічних мов


програмування

Виконав:
Студент групи ФеС-32
Федюк Ростислав
Перевірив:
Доц. Франів В. А.

Львів-2024
Завдання:

Побудова експертних систем з використанням логічних


мов програмування (Lisp)

Код програми:

Висновок: Лабораторна робота демонструє застосування


мови програмування Lisp для побудови простої
експертної системи. Код показує, як використовувати
Lisp для визначення кольорів на основі їхніх
характеристик RGB

Код програми:
;; Правила для визначення кольорів за їхніми
характеристиками
(defvar *color-characteristics*
'((red (color "червоний" r g b)
(r 255)
(g 0)
(b 0))
(green (color "зелений" r g b)
(r 0)
(g 255)
(b 0))
(blue (color "синій" r g b)
(r 0)
(g 0)
(b 255))
(yellow (color "жовтий" r g b)
(r 255)
(g 255)
(b 0))
(black (color "чорний" r g b)
(r 0)
(g 0)
(b 0))
(white (color
"білий" r g b)
(r 255)
(g 255)
(b 255))))

;; Правила для визначення кольорів за їхніми


характеристиками
;; Якщо значення властивості відповідає
вказаному, то кольору надається відповідна
характеристика
(defun find-color (r g b)
(loop for (current-color (color name . rest) .
characteristics) in *color-characteristics*
when (and (equal (first (assoc 'r
characteristics)) r) (equal (first (assoc
'g characteristics)) g) (equal (first
(assoc 'b characteristics)) b))
do (return name)))

;; Приклад використання
(let ((r 255) (g 0) (b 0)) ; Червоний колір
(format t "RGB (~A, ~A, ~A) відповідає кольору:
~A~%" r g b (find-color r g b)))

You might also like