Тема: РАЗРАБОТКА ФОРМАЛЬНОГО ЯЗЫКА ДЛЯ ОПИСАНИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ ДИНАМИЧЕСКИХ СИСТЕМ И ГЕНЕРАТОРА ИСХОДНОГО КОДА РАСЧЕТНЫХ МОДУЛЕЙ ДНЯ НИХ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 ФОРМАЛЬНЫЙ ЯЗЫК ПРЕДСТАВЛЕНИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ 6
1.1 АНАЛИЗ СТРУКТУРЫ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ И ВЫБОР МЕТОДОВ РЕШЕНИЯ ЗАДАЧ 6
1.1.1 Классификация моделей 6
1.1.2 Выбор методов решения задач 7
1.2 ФОРМАЛЬНЫЕ ЯЗЫКИ И ГРАММАТИКИ 9
1.2.1 Нотация Бэкуса-Наура 12
1.3 ЯЗЫК ОПИСАНИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ 14
1.3.1 Описание формального языка в расширенной форме Бэкуса - Наура 14
1.3.2 Грамматика языка математических моделей 19
2 РАЗРАБОТКА АЛГОРИТМОВ ТРАНСЛЯТОРА 22
2.1 ЛЕКСИЧЕСКИЙ АНАЛИЗ 22
2.2 СИНТАКСИЧЕСКИЙ АНАЛИЗ 25
2.2.1 Восходящий и нисходящий синтаксический анализ 27
2.2.2 Нисходящий анализ с возвратами 27
2.2.3 Левая факторизация 28
2.2.4 Устранение левой рекурсии 28
2.3 РАЗРАБОТКА И ИСПОЛЬЗОВАНИЕ ТАБЛИЦЫ ИДЕНТИФИКАТОРОВ 32
2.4 СЕМАНТИЧЕСКИЙ АНАЛИЗ 33
2.5 РАЗРАБОТКА МЕХАНИЗМА ГЕНЕРАЦИИ КОДА 39
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И АНАЛИЗ РЕЗУЛЬТАТОВ 42
3.1 СТРУКТУРА КЛАССОВ 42
3.2 ОБРАБОТКА ОШИБОЧНЫХ СИТУАЦИЙ 42
3.3 ЛЕКСИЧЕСКИЙ АНАЛИЗАТОР 44
3.4 СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР 46
3.5 ТАБЛИЦА ИДЕНТИФИКАТОРОВ И СЕМАНТИЧЕСКИЙ АНАЛИЗ 47
3.6 РЕАЛИЗАЦИЯ ГЕНЕРАЦИИ КОДА 49
3.7 ТЕСТИРОВАНИЕ ТРАНСЛЯТОРА 50
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 54
ПРИЛОЖЕНИЕ
📖 Введение
областях для проведения исследований реальных объектов или процессов. Построение математической модели - это центральный этап исследования или проектирования любой системы. От качества модели зависят результаты последующего исследования на ее основе весь последующий. Для проведения исследований на математических моделях необходима их численная реализация на ЭВМ. разработать компьютерную модель на основе математической, необходимы инструментальные программные средства, обеспечивающие быстрое и удобное формирование модели,
проведение численных экспериментов на модели и анализ их результатов.
Существуют несколько типов представления математических моделей. В данной работе рассматриваются математические модели, представленные в аналитическом виде. Аналитическое моделирование основано на описании моделируемого
объекта с помощью набора математических формул. Аналитические модели являются эффективным инструментом для решения задач оптимизации процессов, а
также оптимизации и вычисления характеристик самих систем. Актуальность выбранной темы обусловлена тем, что существует потребность в инструменте, позволяющем формировать на основе математической модели в аналитическом виде компьютерную модель.
Данный инструмент может быть использован в качестве расширения существующих пакетов математических программ.
Для построения компьютерной модели на основе представления математической модели в аналитическом виде, необходимо формальное описание математической модели. Для этого предлагается использовать элементы теории языков программирования и методов трансляции. При разработке предполагаемой программы
необходимо разработать формальный язык для описания структуры математической
модели, на основе которой становится возможным составление промежуточного
представления модели на ЭВМ. Описание на формальном языке должно быть дополнено методами лексического, синтаксического и семантического анализа. На основе анализа модели на ЭВМ производится генерация кода математической модели5
на языке С++. Полученный код может применяться для расчетов в различных приложениях.
Цель дипломной работы: разработка программного компонента для автоматизированной трансляции математических моделей динамических систем, представленных в виде описания на специальном формальном языке, в компилируемый программный код на языке C++.
Для достижения цели дипломной работы необходимо решить следующие задачи:
• разработать формальный язык для описания математических моделей в виде
системы скалярных и векторно-матричных алгебраических и дифференциальных уравнений;
• разработать алгоритм и реализовать лексический и синтаксический анализаторы для языка.
• разработать типовую структуру программной реализации компьютерной модели в виде класса C++ и создать шаблон класса.
• разработать алгоритм генерации программного кода для компьютерных моделей на основе шаблона.
Для реализации приложения использован язык С++ в среде Qt Creator.
✅ Заключение
компонент для автоматизированной трансляции математических моделей динамических систем, представленных в виде описания на специальном формальном языке, в
компилируемый программный код на языке C++.
В ходе выполнения работы были решены все поставленные задачи:
разработан формальный язык для описания математических моделей в
виде системы скалярных и векторно-матричных алгебраических и дифференциальных уравнений;
реализован алгоритм и выполнение лексического и синтаксического
анализаторов для языка.
разработана типовая структура программной реализации компьютерной
модели в виде класса C++ и шаблон класса.
разработано алгоритм генерации программного кода для компьютерных
моделей на основе шаблона.



