3. Архитектура программного кода
На схеме ниже представлена структура классов виртуального стенда (рисунок 4).
Описание классов:
1. Console - интерфейс для реализации лабораторного стенда.
2. Node - класс, описывающий вершину графа:
o int x, y - координаты узла;
o void setCoords(int x, int y) - устанавливает координаты;
o int[] getCoords() - возвращает координаты;
3. Edge - класс, реализующий ребро графа:
o int[] nodes - ID вершин, которые соединяет ребро;
o int[] getNodes - возвращает вершины, соединяемые ребром.
4. Front - класс, интерпретирующий фронт волнового алгоритма:
o int[] nodes - вершины, образующие фронт;
o void add(int index) - добавляет вершину во фронт;
o int findNode(int index) - проверка на наличие во фронте; если вершина найдется, то возвратится ее индекс во фронте, инасе возвратится -1;
o int[] getNodes() - возвращает вершины фронта;
o int getNodesCount() - возвращат размер фронта;
o void remove(int index) - удаляет вершину из фронта.
5. Graph - класс, описывающий граф:
o Edge[] edges - массив рёбер графа
o Node[] nodes - массив вершин графа;
o Frontd[] fronts - масств созданных фронтов волнового алгоритма.
o int edgesCount, nodesCount, frontdCount - число рёбер, узлов и размеченных фронтов в графе;
o int finish, start - концы маршрута;
o void addEdge(int[] nodes)- добавляет в граф ребро;
o void addFront() - создает новый фронт в графе;
o void addToFront(int index) - добавляет узел во фронт;
o void removeEdge(int[] nodes) - удаляет ребро;
o void removeFront() - удаляет текущий фронт;
o boolean isAllNodesMarked() - проверка на полную раскраску графа;
o void removeFromFront(int index) - удаление вершины из фронта.
6. Laboratory - класс апплета виртуального стенда:
o String answer - строка ответа аттестующегося;
o Graph graph - граф, на котором реализуется задание;
o int step - текущий шаг прохождения лабораторной работы;
o void changeMark(Graphics g, int clickedNode) - изменение разметки вершины;
o void initComponents() - инизиализация компонентов интерфейса;
o void paintEdge(Graphics g, int first, int second) - отрисовка ребра;
o void paintNode(Graphics g, int index) - отрисовка вершины;
o void paintGraph(JPanel panel, int nodesCount) - отрисовка графа;
o void setNewStartNode(Graphics g, int node) - установка новой начальной точки на четвертом этапе - вычислении эксцентриситетов;
Рисунок 2 - Схема классов виртуального стенда
4. Описание формата ответа и тестовых наборов
- Введение
- 1. Анализ задания и обзор аналогов
- 1.1 Анализ задания
- 1.2 Обзор аналогов
- 2. Сценарий работы пользователя
- 2.2 Сценарий работы пользователя
- 3. Архитектура программного кода
- 4.1 Формат ответа
- 4.2 Формат тестового набора
- 5. Виртуальный стенд
- 6. Проверяющий сервер
- 7. Задания и тестовые наборы
- Заключение
- Описание виртуальной лаборатории Начало работы в виртуальной лаборатории
- Минимальные маршруты в нагруженных графах
- «Исследование работы счетчиков на триггерах в виртуальной лаборатории»
- Виртуальные экскурсии – эффективный инновационный инструмент совершенствования технологической подготовки обучающихся Каунов а.М., Фетелава т.А.
- Глава 1 обзор виртуальных лабораторий
- 4.1.4 Поиск оптимального маршрута
- Приложение Виртуальная измерительная лаборатория.
- Настройка таблицы маршрутов
- Виртуальная лаборатория пцр Виртуальное определение бактерий
- Выделение маршрутов