УДК 004.021

ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ ПРИ ОБУЧЕНИИ ПРОГРАММИРОВАНИЮ

Мартынюк Юлия Михайловна1, Ванькова Валентина Сергеевна2, Ваньков Борис Петрович3
1Тульский государственный педагогический университет им. Л.Н.Толстого, кандидат педагогических наук, доцент кафедры информатики и информационных технологий
2Тульский государственный педагогический университет им. Л.Н.Толстого, кандидат физико-математических наук, доцент кафедры информатики и информационных технологий
3Тульский государственный педагогический университет им. Л.Н.Толстого, кандидат физико-математических наук, доцент кафедры алгебры, математического анализа и геометрии

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

Ключевые слова: математическое моделирование, обучение программированию, построение математических моделей


USING MATHEMATICAL MODELING IN TEACHING PROGRAMMING

Martynuk Julia Mihailvona1, Vankova Valentina Sergeevna2, Vankov Boris Petrovich3
1Tula State Lev Tolstoy Pedagogical University, PhD in Pedagogy, associated professor of computer science and information technology
2Tula State Lev Tolstoy Pedagogical University, Candidate of physico-mathematical sciences, associated professor of computer science and information technology
3Tula State Lev Tolstoy Pedagogical University, Candidate of physico-mathematical sciences, associate professor of algebra, geometry and mathematical analysis

Abstract
This article focuses on the formation of skills of mathematical models in first-year students for future mathematicians programmers. Is a collection of tasks that contribute to the achievement of the goal. Demonstrated with concrete examples based on the courses of computational geometry and number theory.

Библиографическая ссылка на статью:
Мартынюк Ю.М., Ванькова В.С., Ваньков Б.П. Использование математического моделирования при обучении программированию // Современная педагогика. 2014. № 11 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2014/11/2916 (дата обращения: 30.05.2017).

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

1)      Решить уравнение первой степени.

2)      Решить уравнение второй степени.

3)      Определить, является ли заданное натуральное число n>1 простым.

4)      Определить, является ли заданное натуральное число n числом Мерсена.

5)      Определить, являются ли заданные натуральные числа n и m числами-близнецами.

6)      Найти сумму делителей заданного натурального числа n.

7)      Определить, является ли заданное натуральное число n совершенным.

8)      Определить, являются ли заданные натуральные числа n и m дружественными числами.

9)      Определить, какая цифра находится на k-месте (1≤k≤180) в данной последовательности чисел: 10111213141516171819202122…9899

10)  Определить, какая цифра находится на k-месте (k≥1) в данной последовательности чисел: 110100100010000100000…

11)  Определить, какая цифра находится на k-месте (k≥1) в данной последовательности чисел: 14916253649648100121…

12)  Расположить три заданных целых числа в порядке возрастания.

13)  Определить максимальное произведение трех чисел в числовой последовательности n натуральных чисел.

14)  Определить максимальное произведение трех чисел в числовой последовательности n целых чисел.

15)  Установить, принадлежит ли точка с заданными координатами прямой, определенной координатами двух точек.

Рассмотрим последовательность шагов построения математической модели при решении задачи №3.

Постановка задачи:

1. Дано: натуральное число n>1.

2. Требуется: определить, является ли n простым?

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

Разработка модели.

Исследуем все числа из отрезка [1, n] с целью определения тех из них, которые являются делителями исходного числа n. Если количество таких чисел больше двух, то число n не является простым.

Уточнение № 1: отрезок можно уменьшить до [2, n-1] и сравнивать количество найденных делителей не с двойкой, а с нулем.

Уточнение № 2: т.к. на отрезке [n/2+1, n-1] нет ни одного делителя числа n, то отрезок можно еще уменьшить до [2, n/2].

Уточнение № 3: т.к. по условию задачи нам не нужно считать количество найденных делителей исходного числа, то достаточно на полученном отрезке найти хотя бы один делитель, чтобы говорить о том, что число не является простым.

Уточнение № 4: т.к. теперь в задаче речь идет лишь о существовании хотя бы одного делителя числа на заданном отрезке, то отрезок можно еще уменьшить до [2, ].

Уточнение № 5: т.к. среди четных чисел есть только одно простое число – два, то рассматривать нужно только нечетные числа и для них – нечетные делители, начиная с трех.

С учетом всех уточнений модель задачи будет выглядеть так:

Для четного числа n, отличного от двух, задача имеет однозначное решение – число n не простое. Для нечетного числа n нужно попробовать найти хотя бы один из нечетных делителей на отрезке [3, ].

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

Перейдем к решению более общей задачи: пусть a,b,n - натуральные числа, 2≤abn. Верно ли, что n не делится ни на одно целое из [a,b]?

Обозначим функцию, являющуюся решением этой задачи через нет_делителей(a,b,n). Ее можно определить следующим образом:

В качестве делителя n будем рассматривать один из концов отрезка [a,b]. Тогда

Искомая функция простое(n) будет связана с данной функцией следующим образом:

простое(n) = нет_делителей(2, , n).

Имея в распоряжении функцию распознавания простого числа и определения чисел Мерсена и чисел-близнецов, можно легко решить задачи №№4 и 5.

Подобные рассуждения можно провести при решении задачи №6 о сумме делителей заданного натурального числа. А построенная функция (рекурсивная или итерационная) позволит на основе определений совершенного числа и дружественных чисел легко решить задачи №№7 и 8.

При построении математических моделей решения задач №№ 9, 10 и 11 авторы используют метод мозгового штурма [1]. Он представляет собой двухэтапную процедуру решения задачи: на первом этапе выдвигаются идеи, а на втором они конкретизируются, развиваются. При выдвижении идей непреложным правилом является отказ от их критики. Группа студентов разбивается на две подгруппы: первая – это эксперты, «генераторы» идей, а вторая – инженеры по знаниям, т.е. лица, трансформирующие идеи в строгие математические построения. Роль преподавателя сводится к роли наблюдателя за ходом рассуждений при выдвижении идей и к роли «дотошного» рецензента при работе инженеров по знаниям.

Математическая модель оптимального алгоритма решения задачи №12, известного как алгоритм «проталкивания» или «просеивания» является основой решения задач №№13 и 14, которые относятся к задачам повышенной сложности и достаточно часто включаются в школьные и студенческие олимпиады различных уровней. Следует отметить, что эти задачи не предполагают использования массивов, поскольку мы имеем возможность обрабатывать очередной элемент последовательности, после чего надобность в нем отпадает сама по себе.

Решение задачи №15 ярко иллюстрирует наличие и важность осуществления межпредметных связей при подготовке математика-программиста.

Разработка модели.

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

Уточнение № 1: необходимо сразу определиться с размерностью пространства. Как правило,  сначала мы рассматриваем прямую на плоскости.

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

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

Уточнение № 4: для успешного решения данной задачи необходимо осуществить моделирование и программирование функции равенства двух вещественных чисел.

Уточнение № 5: эта задача является хорошим примером для изучения структур данных и возможности перегрузки функций.

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


Библиографический список
  1. Ванькова В.С. Творческие задания в обучении информатике студентов педагогического вуза (статья)/ В.С. Ванькова, Ю.М.Мартынюк // Педагогическая информатика. – 2005.- № 1. – С. 40-46.


Все статьи автора «Ванькова Валентина Сергеевна»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: