МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РЕСПУБЛИКИ КАЗАХСТАН
|
Казахский агротехнический университет имени С. Сейфуллина
|
Кафедра: Вычислительной Техники и Программного Обеспечения
|
|
Отчет
|
Тема: Экспертная система.
|
|
Выполнил: Мунько А. С.
|
Проверила: Калдарова М. Ж.
|
|
Нур-Султан 2020
|
Для написания работы были выбраны WEB технологии: HTML, CSS и JS. Для написания JS в ООП стиле используется язык TypeScript. Целью работы являлось создание программы, которая, по ключевым словам, должна предоставлять необходимую информацию.
Классы, используемые в программе:
class Region {
public name: string
public population: number
public area: number
}
|
class City {
public name: string
public population: number
}
|
Класс описания районов
|
Класс описания городов
|
Для того, чтобы обрабатывать возможные вариант, был создан особой класс Rule. Данные класс принимает: массив значений, с которыми будет работать; массив ключевых слов и функцию-обработчик. Если в ключевые слова передать: город и площадь, а в виде данные будет выступать список городов – то при написании предложения с участием одного из ключевых слов и название города, данные класс будет находить нужны данные:
run(words: string[]): any {
/* Убираем ключевые слова */
const filtered: string[] = words
.map((word: string) => word.toLowerCase())
.filter((word: string) => (!this.words.includes(word) && word.length > 1));
/* Делаем «карту» значений */
const mapped: Map = map(this.store, 'name');
/* Получаем ключи «карты» */
const keys: string[] = [...mapped.keys()];
/* Находим о чём пишет пользователя */
const key = keys.find((key: string) => filtered.some((word: string) => key.toLowerCase().includes(word)));
if (key !== undefined) {
/* Нашли то, о чём писал пользователь */
const entry = mapped.get(key);
return this.callback(entry);
} else {
return this.callback(null);
}
}
Примеры работы:
Для тестирования использовался браузер Google Chrome. Полный код находится в репозитории: https://github.com/Seasle/IES-2.
Достарыңызбен бөлісу: |