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

Обзор методов организации автоматизированной подготовки заданий по математическим и естественнонаучным дисциплинам с помощью макросов в среде Visual Basic for Application. Анализ алгоритмов генерации данных для задач, методов проверки выполненных работ.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.05.2017
Размер файла 342,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

УДК 519.688

ФГБОУ «Кубанский государственный аграрный университет»

НЕКОТОРЫЕ АСПЕКТЫ ПРИМЕНЕНИЯ СРЕДЫ VISUAL BASIC FOR APPLICATION ДЛЯ СОЗДАНИЯ УЧЕБНЫХ ПРИЛОЖЕНИЙ ПО МАТЕМАТИЧЕСКИМ ДИСЦИПЛИНАМ

SOME ASPECTS OF USING VISUAL BASIC FOR APPLICATION FOR CREATION EDUCATIONAL APPLICATIONS FOR mathematical disciplines

Лаптев Владимир Николаевич к.т.н., доцент

Михайленко Евгений Владимирович к.ф.-м.н., заместитель начальника кафедры

Аннотация

В статье описываются методы организации автоматизированной подготовки заданий по математическим и естественнонаучным дисциплинам с помощью макросов в среде Visual Basic for Application. Предлагаются алгоритмы генерации данных для задач, методы проверки выполненных работ

Ключевые слова: АВТОМАТИЗАЦИЯ, МАТЕМАТИКА, АЛГОРИТМ, ГЕНЕРАЦИЯ, ВЕРИФИКАЦИЯ, МАКРОС

This article describes the methods of organizing an automated job preparation in mathematics and natural science disciplines with macros among Visual Basic for Application. Showing data generation algorithms for the problems, methods of testing the work performed

Keywords: AUTOMATION, MATHEMATICS, ALGORITHM, GENERATION, VERIFICATION, MACRO

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

В статьях [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 31000 + 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 < 20000 And a > 20000

В задании «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 отображен лист со сгенерированными задачами. После вывода на лист всех заданий лист защищается. Каждая работа, сгенерированная подобным образом, \является уникальной, так как число вариантов работ достигает 32000. При необходимости можно изменить алгоритм обработки времени и идентификационных записей и увеличить количество вариантов.

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

Рис.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.

1. Laptev V.N. K algoritmu usvoenija znanij, umenij i navykov na baze informacion-nyh tehnologij / V.N. Laptev, I.A. Vasilenko.Nauchnyj zhurnal KubGAU. [Jelektron-nyj resurs]. - Krasnodar: KubGAU, 2009. №43(09). - 16s. http://ej.kubagro/2009/09/pdf/07 pdf.

2.Kuz'menko V.G. VBA. - M.: OOO «Binom-Press», 2012.Mihajlenko E.V. Informati-ka: uchebnoe posobie / E.V. Mihajlenko, I.N. Starostenko, Ju.N. Sopil'njak. - Krasno-dar: Krasnodarskij universitet MVD Rossii, 2010.

3.Mihajlenko E.V. Matematika i informatika: kurs lekcij / E.V. Mihajlenko, I.N. Starostenko. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2009.

4.Mihajlenko E.V. Matematicheskie modeli rejtingovyh metodik. / Vestnik Krasno-darskoj akademii MVD Rossii. - Krasnodar: Krasnodarskaja akademija MVD Rossii, 2005, №2, S. 7-10.

5.Mihajlenko E.V. Prikladnaja matematika: kurs lekcij / E.V. Mihajlenko, A.A. Hromyh. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2014.

6.Mihajlenko E.V. Sozdanie avtomatizirovannoj sistemy dlja vedenija monitoringa raboty professorsko-prepodavatel'skogo sostava. / Matematicheskie metody i infor-macionno-tehnicheskie sredstva: trudy VI Vseros. nauch.-prakt. konf. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2008, S. 147-149.

7.Starostenko I.N. O nekotoryh aspektah optimizacii obrazovatel'nogo processa s ispol'zovaniem informacionnyh tehnologij. / Matematicheskie metody i informa-cionno-tehnicheskie sredstva: trudy VI Vseros. nauch.-prakt. konf. - Krasnodar: Kras-nodarskij universitet MVD Rossii, 2010, S. 183-189.

Размещено на Allbest.ru

...

Подобные документы

  • Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.

    курсовая работа [852,0 K], добавлен 24.09.2010

  • Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.

    курсовая работа [2,1 M], добавлен 22.02.2008

  • Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.

    реферат [29,9 K], добавлен 28.06.2011

  • Программа обработки одномерного массива средствами Visual Basic for Application (VBA) на предмет преобразования, печати, удаления, сортировки, поиска сумм, положительных, чётных элементов, их кратности и дополнения другими элементами и значениями данных.

    контрольная работа [12,3 K], добавлен 07.10.2012

  • Формирование матрицы и выполнение заданий: вычисление сумы четных элементов; максимума из нечетных элементов в строке; произведение элементов в нечетных столбцах; количество четных элементов выше главной диагонали. Создание программы в Visual Basic.

    контрольная работа [12,0 K], добавлен 07.10.2012

  • Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.

    контрольная работа [36,4 K], добавлен 23.07.2014

  • Характеристика системы программирования Visual Basic For Application. Автоматизация подписки на газеты и журналы, а так же их учёт. Связь между сходными документами, Базой данных и выходными документами. Встроенные объекты MS Access, методы и свойства.

    курсовая работа [350,8 K], добавлен 22.09.2012

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

    лабораторная работа [1,1 M], добавлен 10.12.2014

  • Напівфункціональна мова програмування, складова частина Access - Visual Basic for Applications (VBA). Створення коду VBA за допомогою майстрів елементів управління. Модулі, створення процедур обробки подій. Редагування у вікні модуля, аргументи процедури.

    реферат [144,8 K], добавлен 31.08.2009

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.

    контрольная работа [25,2 K], добавлен 07.06.2010

  • Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.

    реферат [20,7 K], добавлен 11.03.2010

  • Основные этапы решения задач на ЭВМ. Элементы управления и пользовательская форма VBA. Ввод и вывод информации. Открытие и закрытие файла. Операторы цикла и подпрограммы. Реализация разветвляющихся алгоритмов в VBA. Типы данных, переменные и константы.

    учебное пособие [1,4 M], добавлен 21.05.2009

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

    дипломная работа [1,9 M], добавлен 25.10.2015

  • Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.

    практическая работа [502,5 K], добавлен 26.10.2013

  • Сравнительная характеристика средств обучения программированию в среде Visual Basic. Задачи проектируемых автоматизированных программных систем. Комплекс технических средств. Математическое и программное обеспечение. Язык программирования Visual Basic.

    дипломная работа [64,1 K], добавлен 17.05.2007

  • Структура и основные операции коммерческого банка. Использование языка программирования Visual Basic for Application, математическая формулировка задачи. Разработка модуля программы расчёта кредитов и депозитов. Схема алгоритма выполнения программы.

    курсовая работа [2,9 M], добавлен 09.04.2012

  • История развития Visual Basic, его преимущества и недостатки. Игра "Пятнашки" как классическая задача для моделирования эвристических алгоритмов. Разновидности и вариации игры. Разработка проекта в Visual Basic, который представляет собой игру "Пятнашки".

    курсовая работа [5,7 M], добавлен 15.05.2014

  • Описание Visual Basic Scripting Edition как скриптового языка программирования, интерпретируемого компонентом Windows Script Host. Правила работы языка и применение VBS-сценариев для обработки данных, управления системой, работы с учетными записями.

    доклад [31,3 K], добавлен 11.05.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.