Применение объектно-ориентированного языка программирования VBA в учебно-педагогической деятельности преподавателей высших учебных заведений

NovaInfo 34, скачать PDF
Опубликовано
Раздел: Педагогические науки
Просмотров за месяц: 0
CC BY-NC

Аннотация

Рассматривается возможность использования языка программирования VBA для проведения вычислительных экспериментов по дисциплине «Численные методы».

Ключевые слова

НЕЛИНЕЙНЫЕ УРАВНЕНИЯ, ЯЗЫК ПРОГРАММИРОВАНИЯ VBA, ЧИСЛЕННЫЕ МЕТОДЫ

Текст научной работы

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

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

Задачами изучения дисциплины «Численные методы» является:

  1. Формирование фундаментальных понятий о методах решения прикладных задач с помощью ЭВМ;
  2. Умение разрабатывать вычислительные алгоритмы и реализовывать их на ЭВМ;
  3. Развитие навыков реализации вычислительных задач на ЭВМ, интерпретация результатов;
  4. Формирование общего представления о роли вычислительной математики и численных методов, реализуемых на ЭВМ, в современной жизни.

Таким образом, каждая из задач дисциплины предполагает использование информационных технологий. Рассмотрим возможность использования языком программирования Visual Basic for Application (VBA) для автоматизации расчетов по дисциплине «Численные методы»

Visual Basic for Applications (VBA) — это встроенный язык программирования, предназначенный для создания и выполнения программ (макросов) в среде приложений Microsoft Office. VBA использует среду приложения и встроенный редактор Visual Basic [3].

Язык VBA реализуется в виде визуального программирования, т. е. позволяет работать с графической оболочкой разработанной программы.

В рамках изучения темы «Решение нелинейных уравнений» рассматриваются методы половинного деления, метод касательных, метод хорд, и др.

Рассмотрим алгоритм решения нелинейного уравнения методом половинного деления:

  1. Расчет количества итераций по формуле \log_{2}\left|\frac{b-a}{E} \right|, где a,b концы отрезка; E требуемая точность вычислений;
  2. Нахождение значений функции F(x) в точках a и b (функция дана студентам в задании);
  3. Поиск середины текущего интервала неопределенности [a;b] по формуле C_{k}=\frac{a+b}{2} (k — номер итерации);
  4. Нахождение значения функции F(x) в точке Ск;
  5. Выбор следующего интервала неопределенности; из 2 возможных выбирается тот интервал, на концах которого функция имеет разные знаки;
  6. Расчет полученной точности по формуле, где a,b значения интервала неопределенности на k — итерации;
  7. Повторение пунктов 2-6 число раз, рассчитанных в пункте 1 (число итераций).

Реализация рассмотренного алгоритма на языке программирования VBA подразумевает использование встроенных функций табличного процессора MS Excel. Для удобства работы разработан графический интерфейс программы, представленный на рис.1.

Графический интерфейс программы
Рисунок 1. Графический интерфейс программы

В форме в поле «F(x)» вводится нелинейное уравнение, в поле «интервал» указываются концы отрезка и в поле «точность Е=» — точность решения нелинейного уравнения. Результаты решения располагаются на отдельном листе для удобного представления.

Результат применение метода половинного показан на рис. 2:

Результат расчета
Рисунок 2. Результат расчета

Фрагмент кода программы реализующий алгоритм нахождения корня уравнения методом половинного деления, представлен ниже:

Sub полов_деление()Dim i, N As SingleSheets("ПолДел").SelectRange("A1:O20").ClearRange("A1") = "метод половинного деления"Range("A2") = "интервал"Range("B2").FormulaR1C1 = "=Лист1!R[2]C[2]"Range("C2").FormulaR1C1 = "=Лист1!R[2]C[2]"Range("A3") = "Е="Range("B3").FormulaR1C1 = "=Лист1!R[3]C[1]"Range("A4") = "кол-во итераций"Range("C4").FormulaR1C1 = "=ROUNDUP(LOG(ABS(R[-2]C[-1]-R[-2]C)/R[-1]C[-1],2),0)"Range("A6") = "k"Range("B6") = "Ak"Range("C6") = "Bk"Range("D6") = "F(Ak)"Range("E6") = "F(Bk)"Range("F6") = "Ck"Range("G6") = "F(Ck)"Range("H6") = "Bk-Ak"N = Range("C4").ValueFor i = 0 To NCells(i + 7, 1) = iRange("B7").Value = Range("B2").ValueRange("C7").Value = Range("C2").ValueNext iStrText = Worksheets("Лист1").Range("B2")StrText = Replace(StrText, "x", "B7")Cells(7, 4) = "=" + StrTextStrText = Replace(StrText, "B7", "C7")Cells(7, 5) = "=" + StrTextStrText = Replace(StrText, "C7", "F7")Cells(7, 7) = "=" + StrTextRange("F7").Formula = "=(C7+B7)/2"Range("H7").Formula = "=ABS(C7-B7)"Range("B8").FormulaR1C1 = _"=IF(R[-1]C[2]*R[-1]C[5]<0,R[-1]C,IF(R[-1]C[5]*R[-1]C[3]<0,R[-1]C[4]))"Range("C8").FormulaR1C1 = _"=IF(R[-1]C[1]*R[-1]C[4]<0,R[-1]C[3],IF(R[-1]C[4]*R[-1]C[2]<0,R[-1]C))"

Разработка программ с использованием языка программирования VBA в рамках дисциплины «Численные методы» позволяет существенно ускорить вычислительный процесс, особенно при больших входных интервалах и сложных функциях.

Читайте также

Список литературы

  1. . Беликов В.В. Инструментарий анализа содержания обучения дисциплине «Численные методы» [Текст] / В.В. Беликов // Московский городской педагогический ун-т. – М., 2014. – 3 с.
  2. Евсеева О.Н. Объектно-ориентированный подход в программировании. Проектирование и реализация приложений в среде Microsoft Office [Текст] : учеб. пособие. / О.Н. Евсеева // – Ульяновск, УлГТУ, 2000. – 145 с.
  3. Борисова Е. А. Из опыта обучения программированию на занятиях по информатике в экономическом вузе [Текст] / Е. А. Борисова // Проблемы и перспективы развития образования: материалы междунар. науч. конф. (г. Пермь, апрель 2011 г.). Т. II. — Пермь: Меркурий, 2011. — С. 45-47.
  4. Жужжалов В.Е. Интеграционные методы изучения программирования в вузовском курсе информатики // Вестник МГПУ. Серия информатика и информатизация образования. – М., 2003, № 1 (1).

Цитировать

Борзилова, Ю.С. Применение объектно-ориентированного языка программирования VBA в учебно-педагогической деятельности преподавателей высших учебных заведений / Ю.С. Борзилова, О.В. Махныткина. — Текст : электронный // NovaInfo, 2015. — № 34. — URL: https://novainfo.ru/article/3670 (дата обращения: 26.09.2022).

Поделиться