Закрыть окно

Использование возможностей редактора электронных таблиц
при моделировании и решении математических задач


Журнал "Модернизация образования. Научно-методический журнал" №2/2010.
Махачкала. Редакционно-издательский отдел ДИПКПК. С.48-54
Дибиров М.Д. - ст.преподаватель кафедры МИФ ДИПКПК

Использование редактора электронных таблиц (ЭТ) в школьном курсе информатики рассматривается большей частью в рамках линии информационных технологий [1]. Но практика показывает, что современные редакторы ЭТ (Microsoft Office Excel 2003/2007 [2], OpenOffice.org Calc 3.0 [3]) предоставляют такие широкие возможности, которые могут быть рассмотрены и применены при изучении раздела моделирования в школьном курсе информатики. Реализация практических вопросов моделирования средствами ЭТ рассмотрены, например, в [4], [5], [6], [7]. Интерес к редактору ЭТ объясняется не только их вычислительными способностями, но и наличием и возможностями встроенного в них языка макрокоманд, например, VBA (Visual Basic for Applications) в Microsoft Office Excel [8].

Рассмотрим решение некоторых задач, которые могут продемонстрировать возможности редактора ЭТ, встроенного языка макрокоманд, практические приложения для решения задач моделирования. Для определенности, при рассмотрении заданий будет использовано приложение Microsoft Office Excel 2007.

Использование встроенных функций редактора ЭТ - обычная практика в работе с ними. Перечень и возможности встроенных функций растет с каждой новой версией пакета Office [9, 10 , 11]. Большое количество встроенных функций (математических/статистических/финансовых и т.п.) позволяют создавать практически любые формулы, которые могут использоваться для проведения вычислений (рис. 1).

Лента Формулы редактора ЭТ MS Office Excel 2007

Рисунок 1 Лента Формулы редактора ЭТ MS Office Excel 2007

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

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

Задача 1. [12, №171, стр. 90] Даны две тройки вещественных чисел. В каждой тройке все числа различные. Найти среднее арифметическое средних чисел каждой тройки (средним назовем такое число в тройке, которое больше наименьшего из чисел данной тройки, но меньше наибольшего).

Решение. Предполагается, что для решения данной задачи должна быть составлена программа на языке программирования. Решение данной задачи предусматривает использование условного оператора. В редакторе ЭТ решение данной задачи упрощается в разы за счет использования встроенных функций сумм(), мин(), макс(), срзнач() (см. рис. 2).

Решение задачи 1 в редакторе ЭТ (установлен режим отображения формул)

Рисунок 2 Решение задачи 1 в редакторе ЭТ (установлен режим отображения формул)

В приведенном решении отсутствует использование встроенных функций с проверкой условия. Однако, можно привести более сложное, но в полной мере демонстрирующее возможности использования встроенных функций, решение (рис. 3).

Решение задачи 1 в редакторе ЭТ с использованием функции если()

Рисунок 3 Решение задачи 1 в редакторе ЭТ с использованием функции если()

Второе решение задачи использует встроенную функцию если(), которая возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ. Возможно, синтаксис полученного решения кажется излишне сложным, однако, оно полностью реализует классическое решение данной задачи с использованием конструкции условного оператора.

Задача 2. [13, Вариант 29, №8, стр. 113] Мотоциклист проехал расстояние в 237 км за 7 ч. Часть пути он ехал со скоростью 35 км/ч, а оставшуюся часть пути - со скоростью на 2 км/ч меньшей. Сколько часов он ехал с большей скоростью?

Решение. Классическая текстовая задача. Решается составлением несложного уравнения: Пусть x - количество часов, в течение которых он ехал с большей скоростью. Тогда:

.

Откуда:

,

.

Ответ: x=3 часа.

На примере данной задачи продемонстрируем возможность использования редактора ЭТ для построения математической модели и поиска решения.

Решение задачи 2 в редакторе ЭТ (установлен режим отображения формул)

Рисунок 4 Решение задачи 2 в редакторе ЭТ (установлен режим отображения формул)

На рисунке 4 приведено решение задачи 2. Прокомментируем: В ячейке A2 приведено значение 35 - скорость V1, с которой мотоциклист проехал часть пути. Ячейка B2=$A$2-2 - скорость V2, которая на 2 км/ч меньше первой, и с которой он проехал оставшуюся часть пути. $A$2 - абсолютная форма записи адреса ячейки A2. В ячейках A4-A9 приведены значения 1-6 возможных значений искомого количества времени T1 (числа часов), потраченного на дорогу с большей скоростью V1=35 км/ч. T2 - время, потраченное на оставшуюся часть пути. По условию задачи T1+T2=7.

В ячейках Ci,i=4,…,9 вычисляются выражения вида

.

Если задача имеет целочисленное решение, то полученный набор чисел должен содержать значение 237 - расстояние, которое проехал мотоциклист за 7 часов. Зададим в ячейках диапазона D4:D9 уже знакомую нам по задаче 1 встроенную функцию если() - она выведет выражение "ОК" напротив ячейки со значением 237. Для этого зададим формулы:

.

Математическая модель и решение задачи 2

Рисунок 5 Математическая модель и решение задачи 2

Из рисунка 5 видно, что по итогам проверки значение 237 (ячейка C6) соответствует времени T1=3 ч (ячейка A6) и T2=4 ч (ячейка B6).

Ответ: 3 ч.

При решении задач 1 и 2 были использованы стандартные инструменты редактора ЭТ, изначально заложенные в приложение. Но использование встроенного языка макрокоманд VBA может их намного расширить. Сейчас VBA является полноценной средой разработки, ограниченной лишь возможностью создания библиотек и исполняемых файлов. Процесс создания макроса достаточно прост, а знания синтаксической структуры языка VBA и умение программировать превращает редактор в "мощный" инструмент решения самых разнообразных, прикладных задач.

В качестве примера использования методов программирования на VBA приведем решение задачи на численное интегрирование. Идея численного интегрирования предельно проста и вытекает из геометрического смысла определенного интеграла - значение определенного интеграла численно равно площади криволинейной трапеции, ограниченной графиком функции y=f(x), осью абсцисс и прямыми x=a, x=b (рис. 6). Находя приближенно площадь криволинейной трапеции, мы получаем значение интеграла. Формально процедура численного интегрирования заключается в том, что отрезок [a,b] разбивается на n частичных отрезков, а затем подинтегральная функция заменяется на нем легко интегрируемой функцией, по определенной зависимости интерполирующей значения подинтегральной функции в точках разбиения.

Геометрический смысл определенного интеграла

Рисунок 6 Геометрический смысл определенного интеграла

Итак, функция y=f(x) интегрируема на сегменте [a,b] и требуется вычислить ее интеграл

(1)

По определению интеграла [14] имеем:

.

Череда несложных выкладок [12] дает формулы нахождения приближенного значения интеграла:

(2)

и

. (2')

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

Задача 3. Вычислить методом прямоугольников.

Решение. Приведем точное, математическое решение задачи:

.

Исходные данные задачи оформим на рабочем листе книги редактора ЭТ; исполняемый код программы будет оформлен в редакторе Microsoft Visual Basic 6.5 (рис. 7).

Окно редактора ЭТ (слева) и окно редактора VBA (справа)

Рисунок 7 Окно редактора ЭТ (слева) и окно редактора VBA (справа)

В ячейке B1 - нижний предел интегрирования a, в ячейке B2 - верхний предел интегрирования b, в ячейке B3 - число отрезков n. Для записи кода программы создадим новый модуль (меню Insert>Module). Вычисление подынтегральной функции оформим в виде подпрограммы типа Function:

Function f(xx As Variant)
f = (xx - 3) ^ 2 + 1
End Function

Решение задачи оформим в виде подпрограммы типа Sub:

Sub integral()
Dim a, b, s, x, dx As Single
Dim k, n As Long
a = Range("B1").Value
b = Range("B2").Value
n = Range("B3").Value
dx = (b - a) / n
s = 0
x = a
For k = 1 To n
s = s + f(x) * dx
x = x + dx
Next k
Range("B4").Value = s
End Sub

Данные для переменных a,b,n считываются с рабочего листа с помощью метода Range(Cells).Value. Результат выполнения программы возвращается в ячейку B4 с помощью того же метода Range(Cells).Value. В коде подпрограммы integral() осуществляется вызов описанной ранее функции Function f(xx As Variant). Для запуска созданного макроса можно воспользоваться кнопками Run Sub (Запустить), Break (Приостановить), Reset (Сбросить) (рис. 8).

Кнопки Run|Break|Reset

Рисунок 8 Кнопки Run|Break|Reset

На практике не удобно каждый раз запускать редактор VBA для вызова макроса. В редакторе MS Office Excel 2007 просмотреть доступный перечень макросов и запустить макрос на выполнение можно через ленту Вид>Макросы. Упрощение процедуры выполнения макроса доступно если разместить на рабочем листе графический объект, например, автофигуру Скругленный прямоугольник. В контекстном меню такой фигуры выбрать подпункт Назначить макрос… и соответствующий макрос из списка макросов.

Для случая, рассмотренного в задаче 3, приведенный код подпрограммы при n=1000000 дает результат S=7,33333582070965.


  1. Методика преподавания информатики: Учеб. пособие для студ. пед. вузов / М.П. Лапчик, И.Г. Семакин, Е.К. Хеннер; Под общей ред. М.П. Лапчика. - М.: Издательский центр "Академия", 2001. - 624 с.

  2. Экономическое моделирование в Microsoft Excel, 6-е изд.: Пер. с англ. - М.: Издательский дом "Вильямс", 2004. - 1024 с.: ил.

  3. Ковригина Е.В. Создание и редактирование электронных таблиц в среде OpenOffice.org: Учебное пособие. - Москва: 2008. - 85 с.

  4. Информатика. 11 класс / И.Г. Семакин, Е.К. Хеннер. - 2-е изд. - М.: Бином. Лаборатория знаний, 2005. - 139 с.: ил.

  5. Информатика и информационно-коммуникационные технологии. Базовый курс: Учебник для 9 класса / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. - М.: Бином. Лаборатория знаний, 2005. - 371 с.: ил.

  6. Информатика и информационные технологии. Учебник для 10-11 классов / Н.Д. Угринович. - 4-е изд. - М.: Бином. Лаборатория знаний, 2007. - 511 с.: ил.

  7. Информатика и ИКТ. Профильный уровень: учебник для 11 класса / Н.Д. Угринович. - 2-е изд. - М.: Бином. Лаборатория знаний, 2009. - 308 с.: ил.

  8. Демидова Л.А., Пылькин А.Н. Программирование в среде Visual Basic for Applications: Практикум. - М.: Горячая линия. - Телеком, 2004. - 175 с.: ил.

  9. Энциклопедия Microsoft Office 2003 / И.М. Фролов. - М.: Бук-пресс, 2006. - 912 с.

  10. Тихомиров А.Н., Прокди А.К., Колосков П.В., Клеандрова И.А. и др. Microsoft Office 2007. Все программы пакета: Word, Excel, Access, PowerPoint, Publisher, Outlook, Onenote, Infopath, Groove. Самоучитель. - СПб.: Наука и Техника, 2008. - 608 с.: ил. + цв. вклейки.

  11. Кэтрин Мюррей. Первый взгляд на Microsoft Office 2010. Microsoft Press. Подразделение корпорации Майкрософт. One Microsoft Way. Redmond, Washington 98052-6399 © Корпорация Майкрософт (Microsoft Corporation), 2010. - 186 с.

  12. Сборник задач по программированию / Д.А. Гуденко, Д.В Петроченко. - СПб.: Питер, 2003. - 475 с.: ил. - (Серия "Компас").

  13. Контроль знаний по математике и применением ЭВМ: Метод. пособие. М.М. Мирошникова, В.Б. Ожегов, Л.А. Черкас; /Под ред. М.М. Мирошниковой. - М.: Высшая школа, 1990. - 192 с.: ил.

  14. Гусев В.А., Мордкович А.Г. Математика: Справ. материалы: Кн. для учащихся. - 2-е изд. - М.: Просвещение, 1990. - 416 с.: ил.


Закрыть окно

Сайт управляется системой uCoz