Помощь в написании студенческих работ
Антистрессовый сервис

Некоторые аспекты применения среды Visual Basic for Application для создания учебных приложений по математическим дисциплинам

РефератПомощь в написанииУзнать стоимостьмоей работы

В показанном алгоритме в цикле Do … loop until в диапазоне определяется значение числа. Как видно из программы, генерируемое значение задается псевдослучайным образом, используя в качестве параметра функции Rnd номер варианта. Переменная объявлена в начале программы, При использовании данного алгоритма количество целых делителей числа всегда будет не менее шести. Затем в строковой переменной… Читать ещё >

Некоторые аспекты применения среды Visual Basic for Application для создания учебных приложений по математическим дисциплинам (реферат, курсовая, диплом, контрольная)

При подготовке специалистов информационно-технических и экономических направлений для формирования общекультурных, профессиональных и профессионально-специализированных компетенций достаточно большое место уделяется изучению различных математических дисциплин. Особенность изучения таких дисциплин состоит в усвоении обучающимися теоретического материала, получаемого на лекциях, а также в приобретении устойчивых навыков решения типовых задач по каждой из изученных тем.

В статьях [1], [5], [7], [8] уже подняты вопросы оптимизации образовательного процесса с использованием информационных технологий. Настоящая статья является попыткой описать некоторые методические приемы и технологии использования возможностей среды Visual Basic for Application для создания учебных программ.

Прежде всего, поясним, что выбор среды программирования не случаен. Нас как разработчиков привлек мощный математический аппарат VBA, доступность широких возможностей использования различных шрифтов, графических форм и объектов, простота и логичность синтаксиса и семантики языка. Не менее важным является доступность пакета программ Microsoft Office как для преподавателей, создающих исполняемые модули, так и для обучаемых. При написании программы использовались методы и технологии VBA, описанные в работах [2], [3], [4].

Основная идея описываемых технологий заключается в использовании приложения MS Office, где на заранее подготовленную форму автоматически по специальному алгоритму выводятся сгенерированные данные в виде комбинации чисел, символов или графических объектов. Приложением может быть, например, редактор MS Office Word, табличный процессор MS Excel или MS PowerPoint. Заполненную таким образом форму можно теперь довести до обучающегося: поместить файл с задачами на портале учебного заведения во время аудиторных занятий, отправить его по электронной почте или предоставить доступ к заданиям в облаке, организуя самостоятельную работу. Решая представленные задачи, обучаемый заполняет ответами предоставленный документ, сохраняет его, после чего отправляет документ для проверки. Затем работу открывает преподаватель. Используя макрос проверки, доступный только преподавателю, осуществляется компьютерная проверка выполненных заданий: автоматически зачеркиваются неверные ответы, подсчитываются набранные баллы, выставляется оценка за выполненную работу.

На рисунке 1 показан пустой шаблон без заданий на практическое занятие «Делимость чисел» по теме «Теория чисел» дисциплины математика.

макрос алгоритм генерация математический Рис. 1 Лист с пустым шаблоном без заданий.

Для осуществления генерации заданий обучаемому необходимо заполнить поле «Фамилия и инициалы». Введенные им данные, а также дата и время запуска генерации, автоматически выводимые на лист, используются для расчета номера варианта. Ниже представлен алгоритм вычислений номера варианта, реализованный на VBA.

Function codeName (Name).

k1 = 0.

codeName = 0.

For i = 1 To Len (Name).

k = ((Asc (Mid (Name, i, 1)) — 192) Mod 32) * i.

If k > 0 Then.

codeName = (codeName + k) Mod 1000.

Else.

Select Case Mid (Name, i, 1).

Case «.», ««, «-»: k1 = k1.

Case Else: k1 = 1.

End Select.

End If.

Next i.

If k1 = 1 Then codeName = 0.

End Function.

v = timer Mod 31 000 + codeName (Name).

В дальнейшем, при автоматизированной проверке работы, производится верификация соответствия номера варианта указанным в работе времени и фамилии тестируемого. Данная процедура позволяет избежать подлогов выполненных работ, и при нестыковке всех трех компонентов: варианта, времени и записи, идентифицирующей обучаемого, проверка работы не проводится и на листе появляется запись.

«Вариант не соответствует фамилии и инициалам!».

Генерация параметров каждого задания в предлагаемых работах осуществляется по разработанным алгоритмам, обязательно включающим номер варианта. Приведем пример реализации алгоритма для первого задания.

' 1. Найти 6 делителей числа a.

Do.

a = 1.

For i = 1 To 4.

a = a * Rnd (v) * 9 + 3.

Next i.

Loop Until a > 100 And a < 1000.

t = «1. Найти 6 делителей числа «+ st (a) + «.» .

Cells (8, 1) = t.

Cells (8, 1).Characters (13, 1).Font.ColorIndex = 3.

Cells (8, 1).Characters (32, 3).Font.ColorIndex = 3.

В показанном алгоритме в цикле Do … loop until в диапазоне [100, 1000] определяется значение числа. Как видно из программы, генерируемое значение задается псевдослучайным образом, используя в качестве параметра функции Rnd номер варианта. Переменная объявлена в начале программы, При использовании данного алгоритма количество целых делителей числа всегда будет не менее шести. Затем в строковой переменной составляется условие задания, и полученное выражение выводится в ячейку A8 рабочего листа. Две последних строки фрагмента программы определяют цвет шрифта выводимых числовых данных.

Генерация второго задания реализована линейным алгоритмом.

' 2. Найти 6 кратных числа a.

a = Rnd (v) * 70 + 20.

t = «2. Найти 6 кратных числа «+ st (a) + «.» .

Cells (13, 1) = t.

Cells (13, 1).Characters (13, 1).Font.ColorIndex = 3.

Cells (13, 1).Characters (29, 2).Font.ColorIndex = 3.

В данном фрагменте значение переменной определяется в диапазоне [20, 90]. При определении условий заданий 3. а и 3. б «Представить число a через натуральное число b в виде a = bq + r» генерируются одновременно параметры, , и. Покажем алгоритм данной генерации.

Do.

b = Rnd (v) * 40 + 10.

q = Rnd (v) * 20 + 10.

r = Rnd (v) * (b — 2) + 1.

a = b * q + r.

Loop Until a < 1000.

t = «a = «+ st (a) + «; b = «+ st (b): Cells (20, 2) = t.

Необходимо обратить внимание на то, что в данной структуре переменная зависит от значения, а для расчета числа используются значения всех заданные ранее значений.

Четвертое задание «4. Применяя метод Евклида, найти НОД чисел и выписать 5 первых остатков» посвящено использованию алгоритма Евклида для нахождения наибольшего общего делителя двух чисел.

Do.

nod = Rnd (v) * 20 + 15: a = nod: r = 0.

For i = 1 To 6.

b = a.

If i = 1 Then q = Rnd (v) * 3 + 2 Else q = Rnd (v) * 4 + 1.

a = b * q + r.

r = b.

Next i.

Loop Until a > 1000 And b < 1000.

t = «(«+ st (b) + «, «+ st (a) + «) = «: Cells (25, 4) = t.

Следует заметить, что фрагмент программы выполняет преобразования обратные алгоритму Евклида [5]. Представленный алгоритм реализован в виде двух вложенных циклов. Сначала определяется наименьший общий делитель, затем в цикле For … Next на каждом из шести шагов итерационного процесса переменой присваивается значение, генерируются частные, по формуле увеличивается коэффициент, а остаток от деления становится равным. Циклический процесс продолжается до тех пор, пока не выполнится конъюнкция условий. Представленный алгоритм гарантирует ненулевые остатки при делении на. Кроме того, в процессе формирования чисел мы получим и все промежуточное значения, которые могут быть использованы при проверке заполненной обучающимся формы.

При генерации задания «5. Выписать все простые числа из промежутка. «определение значений границ осуществляется достаточно просто и приводить полностью программный код для этого задания мы не будем. Однако отметим, что необходимо провести проверку на то, чтобы такие простые числа нашлись.

n=0.

For i = a To b.

m = 0.

For j = 2 To Sqr (i).

If i Mod j = 0 Then m = m + 1.

Next j.

If m = 0 Then n=n+1.

Next i.

Данный фрагмент программы подсчитывает количество простых чисел. Поэтому целесообразно повторять процесс генерации границ интервала до тех пор, пока в результате очередной итерации количество простых чисел не будет находиться в разумных пределах. Расчет параметров шестого задания «Записать каноническое представление чисел» основан на определении количества простых множителей, входящих в канонические представления получаемых чисел. Для того, чтобы отображаемые значения находились в разумных пределах, можно брать только множители 2, 3, 5, 7, 11, 13, 17 с соответствующими степенями, ,, ,, ,. Однако в отображенном ниже алгоритме процесс подбора степеней повторяется пока не выполнится условие .

Do.

s2 = Rnd (v) * 5.

s3 = Rnd (v) * 4.

s5 = Rnd (v) * 3.

s7 = Rnd (v) * 2.

s11 = Rnd (v) * 2.

s13 = Rnd (v) * 2.

s17 = Rnd (v) * 2.

a = 2 ^ s2 * 3 ^ s3 * 5 ^ s5 * 7 ^ s7 * 11 ^ s11 * 13 ^ s13 * 17 * s17.

Loop Until a <20 000 And a> 20 000.

В задании «7. Используя канонические разложения чисел, найти НОК и НОД» процесс нахождения и начинается с определения наибольшего общего делителя этих двух чисел. Алгоритмическая структура основана на обратном ходе метода Евклида. Она будет повторяться неоднократно до тех пор, пока в результате очередной итерации одновременно не выполнятся условия и .

Do.

nod = Rnd (v) * 20 + 15.

a = nod.

r = 0.

For i = 1 To 6.

b = a.

If i = 1 Then q = Rnd (v) * 3 + 2 Else q = Rnd (v) * 4 + 1.

a = b * q + r.

r = b.

Next i.

Loop Until a > 1000 And b < 1000.

Генерация заданий «8. Найти канонические разложения факториалов» и «9. Найти количество делителей и сумму делителей чисел» не представляет особой сложности. Выводимые числа определяются в заданных промежутках, и особых ограничений для их расчета нет. Например, для генерации числа можно использовать запись.

n = Rnd (v) * (b — a) + a.

Процесс заполнения формы у обучаемых обычно не вызывает трудностей. Ответы вводятся в заранее отведенные поля, доступные только для изменений. Правила ввода ответов решенных задач заранее оговариваются и зависят от сложности алгоритмов обработки данных при проверке заданий. После выполнения всей работы заполненный файл необходимо сохранить.

На рисунке 2 отображен лист со сгенерированными задачами. После вывода на лист всех заданий лист защищается. Каждая работа, сгенерированная подобным образом, является уникальной, так как число вариантов работ достигает 32 000. При необходимости можно изменить алгоритм обработки времени и идентификационных записей и увеличить количество вариантов.

Проверка выполненных работ осуществляется преподавателем либо самим курсантом. Для проверки создается специальный макрос, анализирующий заполненные обучающимся поля. Для проверки работ самими курсантами файл с проверкой временно помещается в специальную защищенную от просмотра и копирования область на сервере кафедры и автоматически удаляется после окончания каждой пары. Определяя вариант работы, программа заново генерирует все исходные данные, на основе их рассчитывает решение задачи. В ряде случаев, таких как приведенный пример, решение некоторых задач уже известно. Значения каждого поля сравниваются решением. Если заполненные поля удовлетворяют запросам программы, за каждое верное решение начисляются баллы, в противном случае поля зачеркиваются. Оценивание работы происходит согласно критерию, описанного в нижней левой части листа.

Рис. 2 Лист после вывода в шаблон сгенерированных заданий.

  • 1. Лаптев В. Н. К алгоритму усвоения знаний, умений и навыков на базе информационных технологий / В. Н. Лаптев, И. А. Василенко. Научный журнал КубГАУ. [Электронный ресурс]. — Краснодар: КубГАУ, 2009. № 43(09). — 16с. http://ej.kubagro/2009/09/pdf/07 pdf.
  • 2. Кузьменко В. Г. VBA. — М.: ООО «Бином-Пресс», 2012. Михайленко Е. В. Информатика: учебное пособие / Е. В. Михайленко, И. Н. Старостенко, Ю. Н. Сопильняк. — Краснодар: Краснодарский университет МВД России, 2010.
  • 3. Михайленко Е. В. Математика и информатика: курс лекций / Е. В. Михайленко, И. Н. Старостенко. — Краснодар: Краснодарский университет МВД России, 2009.
  • 4. Михайленко Е. В. Математические модели рейтинговых методик. / Вестник Краснодарской академии МВД России. — Краснодар: Краснодарская академия МВД России, 2005, № 2, С. 7−10.
  • 5. Михайленко Е. В. Прикладная математика: курс лекций / Е. В. Михайленко, А. А. Хромых. — Краснодар: Краснодарский университет МВД России, 2014.
  • 6. Михайленко Е. В. Создание автоматизированной системы для ведения мониторинга работы профессорско-преподавательского состава. / Математические методы и информационно-технические средства: труды VI Всерос. науч.-практ. конф. — Краснодар: Краснодарский университет МВД России, 2008, С. 147−149.
  • 7. Старостенко И. Н. О некоторых аспектах оптимизации образовательного процесса с использованием информационных технологий. / Математические методы и информационно-технические средства: труды VI Всерос. науч.-практ. конф. — Краснодар: Краснодарский университет МВД России, 2010, С. 183−189.
Показать весь текст
Заполнить форму текущей работой