Экспертная система



Дата24.08.2020
өлшемі194,48 Kb.
#76759
түріОтчет
Байланысты:
СРСП 1
умкд рус НСС, Zim shkola Kaznau, жолдау, жолдау

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РЕСПУБЛИКИ КАЗАХСТАН

Казахский агротехнический университет имени С. Сейфуллина

Кафедра: Вычислительной Техники и Программного Обеспечения



Отчет

Тема: Экспертная система.




Выполнил: Мунько А. С.

Проверила: Калдарова М. Ж.



Нур-Султан 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.

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет