Реализация межпредметных связей при обучении студентов математических направлений подготовки компьютерному моделированию с использованием средств программирования

УДК 378

С. М. Комарова

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

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

Ключевые слова: математическое моделирование, компьютерное моделирование, межпредметные связи, программирование, среда программирования Delphi.

Математическое моделирование является одним из методов изучения окружающей действительности, суть которого состоит в замене исходного объекта его «образом» — математической моделью и изучении полученной модели с помощью средств информационных технологий (ИТ). Методы математического моделирования являются одной из форм межпредметной деятельности, позволяют реализовать межпредметные связи (Н. А. Бурмистрова, Л. П. Жагорина, И. П. Лебедева и др.). Использование средств ИТ при реализации математической модели позволяет получить компьютерную модель на основе специфических средств моделирования и методов расчётов значений выходных параметров по значениям входных параметров. К средствам компьютерного моделирования для изучения математических моделей относятся: языки и системы программирования, математические пакеты символьных и аналитических преобразований, специализированные программы для исследования моделей [2, 5]. Универсальным средством ИТ для моделирования является программирование, т. к. позволяет реализовать любую цель моделирования [3].

Раздел, посвящённый алгоритмизации и программированию, входит во многие учебники по информатике для вузов (Соболь Б. В. и др. «Информатика»; «Информатика. Базовый курс» / Под ред. С. В. Симоновича; Могилёв А. В. и др. «Информатика» и другие). В большинстве учебников, а соответственно и в современном вузе, использующем эти учебники, программирование, в основном, является дисциплиной «в себе», т. е. на программировании как учебном предмете рассматриваются модельные задачи, не имеющие приложения к другим учебным предметам [1], что препятствует развитию исследовательской компетенции и практической профессиональной направленности образования. Согласно С. А. Розановой профессионально-практическая направленность образования предполагает отбор содержания образования на основе организации межпредметных связей учебных дисциплин [4]. Для реализации межпредметных связей математики и информатики, на наш взгляд, целе-

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

Многие исследователи (А. И. Газейкина, З. Р. Халитова, Е. В. Баранова и др.) предлагают использовать объектно-ориентированные среды (Delphi, Visual Basic, Visual C) при обучении студентов программированию. В рамках нашего исследования будем использовать среду программирования Delphi, основанную на языке программирования Object Pascal, который представляет собой объектно-ориентированное расширение языка Pascal. Мы будем использовать в своей работе уже имеющиеся, стандартные визуальные компоненты и наиболее распространённые классы, методы и события, т. к. главной нашей задачей является обучение студентов компьютерному моделированию для решения различных классов математических задач, а не углубленное изучение современного программирования, предполагающее умение создавать новые классы или компоненты.

Выбор данного инструмента обусловлен следующим:

• Многие студенты знакомы с языком Pascal, т. к. изучали его в школе.

• Pascal был создан как учебный язык и подходит для обучения основам программирования тех студентов, которые изучали в школе другой язык программирования.

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

Delphi является объектно-ориентированной средой для визуального проектирования Windows-приложений, в Delphi используется графический интерфейс, обеспечивающий взаимодействие компьютера с пользователем. Значительную часть операций в процессе программирования студент выполняет с помощью визуальных компонентов. Многие элементы интерфейса Delphi уже знакомы обучающимся по работе в Windows:

• окна, которые можно закрывать, сворачивать, разворачивать до полноэкранного размера, перемещать и т. д., аналогично тому, как это делается в Windows;

• меню, которые организованы так же, как меню в офисных приложениях Windows;

• диалоговые окна с элементами управления: флажки, радиокнопки, раскрывающиеся списки и т. д.

Готовое приложение, как правило, реализуется в Delphi в виде формы, которая выводится на экран при запуске программы на выполнение. Форма содержит различные элементы: надписи, текстовые поля, экранные кнопки, различные графические объекты, радиокнопки, флажки и т. д. В ходе работы с приложением можно воспользоваться всеми имеющимися в среде компонентами, а можно использовать только их часть, причём студент сам определяет, какие именно элементы он будет использовать в своей работе, задавая тем самым собственный режим и стиль работы. Все объекты, в том числе и сама форма, обладают определённым набором свойств, которые можно настраивать либо с помощью средств графического интерфейса, либо программным образом. К этим свойствам относятся: цвет, размер, видимость и т. д. Свойства объектов могут изменяться в ходе работы приложения при воздействии на объект. Такие действия в отношении объекта называются событиями. Для каждого объекта существует свой перечень событий, на которые он может реагировать. К числу наиболее распространённых событий относится щелчок левой кнопкой мыши на объекте, щелчок правой кнопкой, двойной щелчок, наведение мыши на объект и др. Delphi является системой визуального программирования. Это означает, что в системе программирования имеются готовые библиотеки элементов, которые можно использовать для создания будущего приложения. Такие элементы называются компонентами приложения. Выбор нужного компонента не требует написания специального кода, а производится с помощью мыши, т. е. графическим, визуальным способом. Когда объект уже перенесён посредством перетаскивания на форму, то его дальнейшая настройка производится визуальным способом.

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

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

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

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

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

• созданию формализованного описания задачи на основе математического формализма;

• подбору адекватных структур данных;

• разработке программного кода с использованием встроенных компонентов программной среды и отладке программы;

• выбору и программной реализации наглядного представления результатов моделирования;

• тестированию программы и анализу полученных результатов.

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

Рассмотрим обучение студентов компьютерному моделированию на примере задач из раздела алгебры «Теория чисел». Этот раздел первоначально знаком студентам из школьного курса математики, затем понятия и алгоритмы уточняются и развиваются в соответствующих вузовских дисциплинах. При обучении программированию из данного раздела предлагаются для решения следующее задачи: проверить, является ли число простым, выбрать простые числа из заданного диапазона, найти НОД двух чисел и др.

На первом этапе изучения данного раздела учащиеся знакомятся (или повторяют) с теоретической составляющей, необходимой для решения задач: определение простого числа, принцип работы «решета Эратосфена», определение НОД, алгоритм Евклида для нахождения НОД, определение НОК и т. д.

Далее студенты знакомятся с простейшей задачей: является ли заданное число простым? Данная задача предоставляется с решением и пояснениями.

Алгоритм решения задачи:

1. Вводим натуральное число х.

2. В цикле производим деление х на целые числа из диапазона от 2 до x div 2.

3. Если данное число х не делится ни на одно число из интервала [2; x div 2], то оно простое, иначе составное.

Студенты переносят готовый текст программы в среду программирования Delphi. На форме должно быть поле Edit для ввода числа х, компонент Label для вывода ответа и кнопка Button, по нажатию на которую выводится ответ (рис. 1).

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

Далее студентам предлагаются следующие задачи:

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

2, 3, ж ж ь А Л * *

11, & Й, & л м 1Ь Л &

а, & Л Иг

и, м & 37* * • V ' *

Рис. 2. Решето Эратосфена

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

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

В итоге после решения всех предложенных задач у студентов по окончании изучения раздела будет проект, содержащий все решённые задачи в среде программирования Delphi (рис. 3).

Рис. 3. Проект в Delphi

Содержание и последовательность задач данного раздела определяется следующими принципами:

• от простого к сложному — постепенное усложнение задач;

• новизна — каждая задача вносит какой-то новый элемент знаний (новое определение, команда, новый приём программирования);

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

После изучения типа задач, связанных с понятием простого числа, студентам предлагается тип задач, связанных с понятием НОД.

Найти НОД двух чисел т и п, используя алгоритм Евклида:

1. найдём остаток р от деления нацело т на п;

2. если р = 0, то п — искомое значение;

3. если р < > 0, то положить т = п, п = р и перейти к шагу 1.

Далее задание усложняется: необходимо найти НОД трёх чисел т, п, к, для этого нужно применить алгоритм Евклида дважды НОД(НОД(т,п),к). Алгоритм Евклида необходимо оформить в виде процедуры.

Следующей задачей является нахождение НОК двух чисел т и п по формуле т*п/НОД(т,п).

Заключительной для данного типа заданий будет задача следующего содержания. Обыкновенная дробь задаётся в виде пары «числитель и знаменатель». Написать программу сложения дробей, в ответе должна быть несократимая дробь. Необходимо написать процедуру сокращения дроби. Для этого воспользуемся алгоритмом Евклида нахождения НОД двух чисел. Данная задача может быть решена с помощью типа данных «запись» (record): первое поле записи является числителем дроби, а второе — знаменателем. Для решения этой задачи используется один из важнейших приёмов алгоритмизации и программирования — декомпозиция задачи, т. е. выделение в исходной задаче некоторых более простых подзадач. Подзадачи оформляются в виде процедур и вызываются несколько раз из основной программы.

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

Многие разделы курса информатики имеют прямое отношение к моделированию, в том числе относящиеся к технологической линии: текстовые и графические редакторы, программное обеспечение телекоммуникаций, СУБД, табличные процессоры рассматриваются как инструменты для работы с информационными моделями. Линия «Алгоритмизация и программирование» также имеет непосредственное отношение к моделированию. Следовательно, линия моделирования является сквозной для целого ряда разделов курса информатики и некоторых других дисциплин, в частности, математики.

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

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

Литература

1. Галимянов А. Ф., Галимянов Ф. А. Объектный подход в преподавании вычислительной математики // Образовательные технологии и общество (Educational Technology & Society). 2013. Т. 16. № 3. С. 725-731.

2. Иванова Т. А. Компьютерные математические системы как средство информационных технологий обучения // Среднее профессиональное образование. 2008. № 8. С. 20-22.

3. Макарова Н. В., Нилова Ю. Н. Моделирование средствами языка программирования как технология системно-деятельностного подхода в обучении // Педагогическое образование в России. 2012. № 5. С. 83-87.

4. Розанова С. А. Математическая культура студентов технических университетов. М.: ФИЗМАТЛИТ, 2003. 176 с.

5. Ядровская М. В. Средства моделирования в обучении // Вестник Якутского государственного университета имени М. К. Аммосова. 2010. Т. 7. № 1. С. 89-95.

S. Komarova

THE IMPLEMENTATION OF INTERDISCIPLINARY CONNECTIONS IN TEACHING COMPUTER SIMULATION TO STUDENTS OF MATHEMATICAL SPECIALIZATION USING PROGRAMMING SOFTWARE

The author offers a new approach to teaching computer modeling to students of mathematical specialization using Delphi programming environment. The technique is based on the principles of competence-based approach, interdisciplinary connections of academic disciplines, such as mathematics and computer science, which contributes to the development of research competence and professional practice-orientated education. The article displays how this method can be applied to studying Number theory, a branch of algebra, using Delphi programming environment.

Key words: mathematical modeling, computer simulation, interdisciplinary connections, programming, Delphi programming environment.