Вариант задания номер 1, прикрепил фото.
Всё выполняется в учебной среде https://system-theory.streamlit.app/
Цель работы – построить онтологическую модель траектории движения робота в соответствии с выбранным вариантом.
Возможные типы объектов:
- Состояние, в котором находится робот (инициализация, остановка, движение вправо/влево и т.д.);
- Переход – технический объект, служит для связывания двух состояний, может быть сгенерирован автоматически на основе правила;
- Условие перехода из одного соостояния в другое (как правило, задается через значения координат робота);
- Действие, которое выполняет робот при переходе из одного состояния в другое (перемещение, поворот и т.д.).
Все типы объектов имеют следующие свойства:
- name – название;
- codename – алиас в исходном коде (данное свойство служит для генерации кода).
Возможные типы связей между объектами:
- переходить в (Состояние, Состояние);
- быть условием перехода (Условие, Переход);
- вызывать (Переход, Действие);
- быть переходом из (Переход, Состояние);
- быть переходом в (Переход, Состояние).
Модель ориентирована на генерацию исходного кода на Python, который моделирует траекторию движения робота с использованием библиотеки Turtle. В связи с этим целесообразно учитывать следующие рекомендации при формировании значений свойства codename:
- одно перемещение соответствует операции forward(10);
- разворот в соторону движения вперед – setheading(90), вниз – setheading(270), вправо – setheading(0), влево – setheading(180);
- можно использовать следующие вспомогательные переменные:
- x, y – координаты робота соответствующих осей;
- turn – счетчик циклов работы робота, в начале равен единице (для движения по спирали – номер витка);
- num_turns – количество циклов работы робота (для движения по спирали – целевое число витков).
Этапы работы:
- Формирование модели в учебной среде.
- Тестирование сгенерированного кода в интерпретаторе Turtle (можно использовать онлайн-интерпретаторы, например, этот).
- Подготовка отчета по работе, который должен содержать следующую информацию:
- титульный лист;
- введение (цель работы, описание выбранного варианта);
- описание сформированной модели со скриншотами;
- результат кодогенерации со скриншотами его работы в интерпретаторе, описание ручных изменений кода (если потребовались);
- заключение (выводы относительно возможных улучшений структуры учебной модели, полученные на основе опыта взаимодействия с ней).