Генератор задач с комплексными числами для обучения и самоконтроля
Разнообразие вариантов решения вычислительного механизма. Выбор алгоритма генерации выражения. Генерация комплексных чисел, цепочки множителей, слагаемых. Требования к системному окружению. Экспорт серии задач. Эффективное использование переменных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 7.1 - Схема процесса генерации задачи
После того, как задача была сгенерирована предполагается, что обучающийся займется ее решением. Как только задача решена, необходимо проверить правильность ее решения. В вычислительный механизм подается сгенерированная задача, где происходит ее решение. Также во время работы вычислительного механизма записывается подробное решение. Затем результат, который получил обучающийся сравнивается с результатом вычислительного механизма. На основе этого сравнения выводится сообщение об успешном или не успешном решении задачи. Если необходимо вывести подробное решение, то из записей решения вычислительного механизма формируется подробное решение. Для выведения формул также используется библиотека jLaTeXMath. На рисунке 7.2 изображена схема вычисления сгенерированной задачи, проверки результата и формирования подробного решения.
Рис. 7.2 - Схема вычисления сгенерированной задачи, проверки результата и формирования подробного решения
7.2 Графический интерфейс
Графический интерфейс ПО представлен в виде web-страницы и поделен на два поля - меню настроек и рабочую область. Интерфейс, поля и их границы представлены на рисунке 7.3.
Рис. 7.3 - Графический интерфейс с изображением границ полей
Абсолютно вся работа происходит в рамках одной страницы, что добавляет комфорта при использовании.
Графический интерфейс обладает адаптивным дизайном, что позволяет использовать приложение с различных устройств имеющих web-браузер. При загрузке странницы с устройства с малым разрешением экрана (мобильные телефоны и другие мобильные гаджеты) отображение интерфейса несколько меняется (рисунок 7.4). Меню настроек «прячется» и становится доступным при нажатии на специально отведенный элемент в верхнем левом углу. Для устройств, обладающих сенсорным экраном меню настроек можно вызвать «потянув» за левую сторону страницы. Вид интерфейса с вызванным меню настроек изображен на рисунке 7.5.
Рис. 7.4 - Вид графического интерфейса с устройства с малым разрешением экрана
Рис. 7.5 - Вид графического интерфейса с вызванным меню с устройства с малым разрешением экрана
Меню настроек состоит из пяти разделов, которые раскрываются или скрываются при нажатии на заголовок:
· Комплексные числа - в данном разделе (рис. 7.6) настраивается генерация КЧ. Раздел позволяет выбрать количество КЧ (переменных), форму представления, а также максимальные значения составляющих КЧ.
Рис. 7.6 - Меню настроек - комплексные числа
· Выражение - раздел (рис. 7.7) в котором настраивается генерация выражений путем регулирования количества действий и максимальной степени.
Рис. 7.7 - Меню настроек - выражение
· Операции - включение и выключение операций доступных для генерации выражения, раздел изображен на рисунке 7.8. При нажатии на ссылку «Выделить все» выделяются все операции, «Отменить выделенное» снимает флажки с выделенных операций.
Рис. 7.8 - Меню настроек - операции
· Решение - тут настраивается округление при решении задачи. Раздел изображен на рисунке 7.9.
Рис. 7.9 - Меню настроек - решение
· Генератор - позволяет выбрать какую часть задачи нужно изменить при следующей генерации. Возможно генерация полностью новой задачи, сгенерировать только комплексные числа или поменять только выражение. Раздел изображен на рисунке 7.10.
Рис. 7.10 - Меню настроек - генератор
При нажатии на кнопку «Генерация» проверяются введенные пользователем параметры и в случае их корректности вызывается процесс генерации задачи.
Рабочая область состоит из четырех блочных элементов (или просто блоков), которые видимы или являются скрытыми в зависимости от манипуляций интерфейсом обучающимся. Рассмотрим каждый элемент в порядке расположения в рабочей области:
· Оповещения - изначально данный блок скрыт. Он отображается в результате выполнения операций (генерация задачи, проверка результата), при наличии ошибок при вводе данных, также при необходимости подождать выполнения операции. Оповещения можно закрыть, нажав на «крестик» расположенный у правой границы элемента (кроме оповещения о процессе выполнения). Цвет, который имеет оповещение зависит от его типа. Красный - ошибка, голубой - идет процесс выполнения операции, зеленый - оповещение об успешном выполнении операции. На рисунке 7.11 изображены оповещения различного типа.
Рис. 7.11 - Оповещения
· Задание - данный блок отображает сгенерированную задачу. Задачей является изображение, которое можно посмотреть в полном размере при нажатии на него. При этом появится всплывающее окно с изображением оригинального размера. Это может пригодиться при генерации задачи с большим количеством действий в выражении. Блок задание изображен на рисунке 7.12.
Рис. 7.12 - Задание
· Решение - блок отображается при нажатии на кнопку «показать решение» (кнопка находится в разделе ввода результата). Элемент отображает решение сгенерированной задачи. Нажатием на переключатель «Подробно/Кратко» регулируется степень подробности решения. Пример краткого решения изображен на рисунке 7.13, фрагмент подробного решения изображен на рисунке 7.14.
Рис. 7.13 - Краткое решение
Рис. 7.14 - Фрагмент подробного решения
· Ввод результата - в этом блоке происходит ввод результата, а также вызов подробного решения. Блок становится видимым после успешной генерации задачи. В зависимости от формы представления сгенерированных КЧ меняется требуемая пара чисел для ответа (для алгебраической формы это Re и Im (рис. 7.15), для показательной R и угол ? (рис 7.16)). При нажатии на кнопку «Проверить» происходит проверка введенного результата. Кнопка «Показать решение» становится видимой после ввода результата, и вызывает блок «решение».
Рис. 7.15 - Ввод результата при генерации КЧ в алгебраической форме
Рис. 7.16 - Ввод результата при генерации КЧ в показательной форме
7.3 Требования к системному окружению
Генератор задач является клиент-серверным приложением. Поэтому требования к системному окружению разделены на серверные требования и клиентские. Для обеспечения клиент-серверной связи необходим выход в интернет или настроенная ЛВС (локальная вычислительная сеть).
Со стороны сервера необходимо наличие установленного комплекта средств разработки Java Deployment Kit (сокращенно JDK) и web-сервер Apache Tomcat. JDK включает в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему JRE. В остальном, серверная сторона является кроссплатформенной и может работать под руководством ОС Windows или ОС Linux.
Клиентская сторона требует только наличие web-браузера с поддержкой JavaScript.
8. Пути дальнейшего развития ПО
8.1 Разнообразие вариантов решения вычислительного механизма
Часто при вычислении выражения можно использовать более одного способа его решения. К примеру, возвести КЧ в алгебраической форме в квадрат можно двумя способами: с помощью формулы Муавра или расписав как квадрат суммы или разности. Первый способ сложнее, он предполагает преобразование КЧ в показательную форму. Следовательно, выгоднее использовать второй вариант.
В данный момент вычислительный механизм при решении задачи не имеет альтернативных вариантов решения выражения. Было бы полезно добавить разнообразие вариантов при вычислении выражения. При этом при вычислении использовать наиболее простой вариант решения, но и не забывать про другие.
8.2 Экспорт серии задач
Пользователи могут использовать генератор в собственных целях. К примеру преподаватели могут использовать генератор для создания самостоятельных или контрольных работ. Для большего удобства пригодится экспорт серии задач в документ (к примеру, PDF документ). Пользователь настраивает генератор, а также выбирает необходимое количество задач, которое нужно сгенерировать. После генерации появляется возможно загрузить документ со сгенерированными задачами. В документе могут содержаться задачи и их решения как вместе, так и отдельно (сначала идут все задачи, потом решения). Также это будет удобно при отсутствии постоянного выхода в интернет.
8.3 Обучающий материал
На данной момент ПО может помочь проверить и отточить практические навыки правильной работы с КЧ. Но для этого обучающийся должен знать теорию. Поэтому для привлечения желающих обучиться работать с КЧ не имеющих теоретических знаний в этом необходимо добавить обучающий материал, благодаря которому они смогут приобрести теоретические навыки в работе с КЧ.
Также к сгенерированной задаче можно прикреплять обучающий материал необходимый для решения данной задачи. К примеру, если в задаче используется умножение, то прилагается материал, в котором описывается как умножать КЧ.
8.4 Поэтапные курсы обучения
На основе обучающего материала, который описывался в пункте 8.2 можно создать поэтапные курсы обучения. В этих курсах «новичок» в КЧ смог бы поэтапно обучиться работать со всеми операциями над КЧ. Но предварительно изучив теоретический материал.
Пример: Выдается материал на тему сложение КЧ. Изучив его обучающийся переходит к практике - решению примера. После успешного решения ему выдается новый теоретический материал и новая практическая задача.
Пройдя все курсы обучения обучающийся может начать решать задачи, содержащие в себе различные операции, имея за плечами теоретическую и практическую базу знаний.
8.5 Проверка по действиям
На данный момент ПО позволяет проверить только конечный результат задачи. Обучающийся может найти ошибку в своем решении лишь посмотрев решение вычислительного механизма. Удобнее же будет использовать возможность проверять задачу по действиям. В случае, если обучающийся решил действие неправильно, он сможет с этого места попробовать решить задачу дальше.
8.6 Личный кабинет. Тестирование
Очень полезна будет интеграция генератора и личного кабинета. Благодаря этому появится возможность проведения тестов, ведение статистики и сохранение задач.
Заведя аккаунт в личном кабинете, студенты могут проходить тестирование, а преподаватели отслеживать результаты тестов. Но для этого личный кабинет должен обладать разделением аккаунтов на преподавателей и студентов.
Также в процессе обучения может вестись статистика решенных задач на основе которой обучающийся может видеть прогресс своего обучения.
Еще одной особенностью личного кабинета может стать анализ плохо закрепленных тем. В основе анализа будет статистика ошибок, которые совершил обучающийся, решая задачи. Благодаря этому анализу обучающийся сможет отдельно проработать темы, по которым имеет «пробелы».
В личном кабинете легко будет реализовать возможность сохранения задач. Это будет удобно, если обучающийся по каким-то причинам вынужден прервать решение задачи. Сохранив задачу, он позже сможет к ней вернуться.
Также обучающемуся можно предоставить возможность сохранения настроек генератора. Каждой сохранённой настройке будет даваться имя. Это позволит при каждом новом сеансе обращаться к сохранённым настройками, что в свою очередь сэкономит время.
8.7 Решение задач пользователя
Архитектурное устройство ПО позволяет использовать вычислительный механизм отдельно от генератора. Что в свою очередь дает возможность решать задачи с КЧ введенные обучающимся, то есть использовать ПО как калькулятор. Это будет полезно для желающих решить пример из учебного пособия или другого источника.
Заключение
Результатом проделанной работы является ПО способное генерировать, решать и проверять задачи с КЧ. Такой набор функций позволяет студентами и учениками старших классов приобрести практические навыки правильной работы с КЧ и отточить их. Благодаря механизму генерации случайных задач в приложении отсутствует база данных с заранее заготовленными задачами. Это позволяет избавится от поддержки человеком приложения, связанной с наполнением базы данных задачами.
Вычислительный механизм дает возможность не только сразу проверить конечный результат выражения, но и просмотреть его подробное решение.
Стоит отметить, что ПО реализовано в виде web-приложения. Это дает возможность не только избавиться от таких действий как загрузка и установка ПО, но и получить доступ к приложению с различных типов устройств, оснащённых web-браузером.
Также приложение имеет множество путей дальнейшего развития, от добавления теоретического материала, до создания площадки тестирования.
ПО которое генерирует, решает и проверяет задачи может изменить современную систему образования. Произойдут следующие изменения:
· Отсутствие необходимости наполнения баз данных задачами позволит ученикам отказаться от покупки задачников с конечным вариантом задач, поскольку подобное ПО способно генерировать их бесчисленное множество.
· С преподавателей и учителей спадет нагрузка, связанная с проверкой домашних и контрольных работ.
· Государство уменьшит расходы на поддержание баз для таких мероприятий как ЕГЭ и ГИА. Так как необходимо будет один раз разработать ПО генерирующее и проверяющие задачи. При этом утечка информации станет просто невозможной, в виду отсутствия баз данных.
· Полня прозрачность проверки знаний. ПО может иметь полностью открытый код, так как его алгоритмы генерируют задачи, а не хранят в базе данных.
Размещено на Allbest.ur
...Подобные документы
Понятие и функции комплексных чисел. Правила выполнения арифметических операций с комплексными числами. Действия с комплексными числами: сложение, вычитание, произведение, деление. Программная реализация решения задачи. Пример выполнения программы.
курсовая работа [398,8 K], добавлен 01.02.2010Способы получения случайных чисел в программировании и их использование для решения ряда задач. Принцип действия и тестирование работы генератора случайных чисел в Borland C++, его преимущества. Генерация одномерной и двумерной случайной величины.
лабораторная работа [105,4 K], добавлен 06.07.2009Изучение методов и этапов создания класса Complex, позволяющего работать с комплексными числами и производить с ними следующие операции: сложение, вычитание, умножение, деление двух комплексных чисел. Написание кода для ввода и вывода исходных данных.
курсовая работа [628,4 K], добавлен 11.09.2010Написание программы для генерации случайных чисел, в которой реализуются возможности генерации абсолютно случайных чисел. Приложение на языке С/С++. Описание узла, содержащего данные; функций и методов работы; чтения данных из памяти и вывода их на экран.
курсовая работа [172,4 K], добавлен 23.05.2012Анализ математических и алгоритмических значений величин, получающихся в результате решения квадратных уравнений, которые имеют название комплексных чисел. Особенности их сложения, вычитания, деления и произведения. Программная реализация решения задачи.
курсовая работа [443,7 K], добавлен 22.01.2010Теоретическая и практическая реализация комплексной арифметики на языке программирования Си. Разработка программы, производящей арифметические действия с комплексными числами. Автоматизации решения комплексных чисел. Матричная и стандартная модель.
курсовая работа [495,4 K], добавлен 21.01.2012Требования на входные данные. Разработка диаграммы вариантов использования. Генерация учебно-тренировочных задач на основе текста учебного материала. Интерфейс программного средства. Реализация информационного обеспечения и функциональности подсистемы.
курсовая работа [576,6 K], добавлен 28.08.2012Графоаналитический метод решения задач. Получение задачи линейного программирования в основном виде. Вычисление градиента и поиск экстремумов методом множителей Лагранжа. Параболоид вращения функции. Поиск решения на основе условий Куна-Таккера.
контрольная работа [139,3 K], добавлен 13.09.2010Методика решения задачи по выбору подмножества, состоящего из нескольких компонент. Характеристики, порядок записи и листинг программ по генерации множества всех подмножеств из N элементов и генерации последовательности чисел в лексикографическом порядке.
реферат [22,4 K], добавлен 07.03.2010Исследование алгоритма планирования вычислительного процесса мультипроцессорных систем при пакетной обработке задач. Создание программы на языке Turbo Pascal 7.0, реализующей демонстрацию вычислительного процесса систем при обработке пакетов данных.
курсовая работа [388,7 K], добавлен 24.06.2013Выполнение арифметических операций с помощью вспомогательных переменных, которые позволяют вычислить искомую переменную. Использование оператора цикла с предусловием и полной формы условного оператора. Примеры решения задач на работу с двумерным массивом.
курсовая работа [518,8 K], добавлен 07.03.2014Разработка программы для выполнения арифметических операций с комплексными числами. Разработка эскизного проекта. Диаграмма последовательностей и классов. Разработка и описание программы. Разработка программного кода и руководства пользователя.
курсовая работа [1,2 M], добавлен 25.11.2011Способы организации вычислительного процесса в системах с несколькими процессорами. Разработка программы на основе алгоритмов мультипроцессорных систем при пакетной обработке задач. Вычисление основных показателей эффективности для каждого алгоритма.
курсовая работа [102,3 K], добавлен 21.06.2013Общие требования к изображению отрезка с помощью цифрового дифференциального анализатора. Сравнительный анализ обычного и несимметричного алгоритмов и алгоритма Брезенхема для генерации векторов (соединения двух точек изображения отрезком прямой).
презентация [65,3 K], добавлен 14.08.2013Сущность теории матриц, ее основные понятия и определения. Теоремы теории матриц, дающие научную основу для разработки алгоритма генерации. Свойства определителя как основной числовой характеристики квадратных матриц. Проблемы при составлении алгоритма.
курсовая работа [273,7 K], добавлен 16.05.2009Общая характеристика прикладных программ, предназначенных для проведения табличных расчетов. Выделение параметров программного обеспечения, необходимого для решения финансовых задач. Разработка алгоритма решения поставленной задачи средствами MS Excel.
контрольная работа [2,6 M], добавлен 18.01.2016Разработка программы, которая создает в отдельном потоке случайный массив целых чисел в заданном диапазоне и выводит на экран эти числа. Описание общего алгоритма, интерфейс программы. Методы решения и алгоритмы задач, реализуемых каждым потоком.
курсовая работа [372,6 K], добавлен 17.04.2014Обзор области генерации сетевого трафика. Описание выбранных методов, моделей, алгоритмов решения задач. Создание модели поведения пользователя, распределение количества посещённых страниц сайта. Выбор средств реализации программного продукта (проекта).
курсовая работа [1,3 M], добавлен 30.06.2017Обзор существующих подходов в генерации музыкальных произведений. Особенности создания стилизованных аудио произведений на основе современных нейросетевых алгоритмов. Выбор средств и библиотек разработки. Практические результаты работы алгоритма.
дипломная работа [4,0 M], добавлен 13.10.2017Характеристика вероятностного алгоритма и особенности его использования. Принцип работы и назначение генератора случайных чисел, сущность псевдослучайных чисел. Рассмотрение и реализация метода середины квадрата, разработка алгоритма и его кодирование.
курсовая работа [50,3 K], добавлен 18.09.2009