Университет XXI века: научное измерение

«Университет XXI века: научное измерение» – 2019 482 Учитывая тот факт, что значительная часть студентов указанного направ- ления подготовки свой первый опыт написания программ получает только в ву- зе, пропедевтическая подготовка к реализации данной функции начинается с первых дней изучения дисциплины «Программирование»[2]. Здесь студенты приобретают опыт разработки тестовыхнаборов данных. Например, для про- граммы решения уравнения второй степени над полем действительных чисел данные тестирования готовятся для метода белого ящика , в котором реализу- ются условия покрытия операторов, решений, условий, маршрутов. И, посколь- ку математическая модель в данном случае прекрасно известна разработчикам, первый приобретенный опыт, как правило,вызывает чувство уверенности и по- зитивного настроя на дальнейшие действия. В этом же курсе при изучении пра- вил и методов разработки функции пользователя средствами языка С++ доста- точно простой на первый взгляд является задача создания функции, которая для трех вещественных чисел решает вопрос о существовании треугольника, для которого эти числа могли бы стать длинами сторон. В случае, если треугольник существует, функция возвращает утвердительный ответ и числовые характери- стики данного треугольника: периметр, площадь, радиусы вписанной и описан- ной окружностей, а в противном случае – сообщает пользователю причину, по которой данные числа не могут быть длинами сторон треугольника. Более того, результаты работы функции для наборов данных 6, 3, 3 и 6, 3, –3 должны отли- чаться. Для тестирования данного задания используется метод черного ящика . Набор правильных и неправильных данных подготавливается либо преподава- телем, либо одним из студентов, являющимся в группе лидером на данный мо- мент, который в свою очередь должен обосновать полноту и неизбыточность предложенного набора. Тексты программ, успешно прошедших тестирование, в группе подвергаются обсуждению и анализу с точки зрения эффективности ал- горитма и параметризации функции. Такого рода действия постоянно выполня- ются во время занятий и при организации самостоятельной работы студентов. При изучении дисциплины «Структуры и алгоритмы компьютерной обра- ботки данных» работа над усовершенствованием указанного трудового дейст- вия перерастает в систему. Например, в ходе изучения рекурсивных алгоритмов приводятся такие примеры, которые для некоторых наборов данных работают правильно, но при их изменении появляются или вычислительные ошибки, или ошибки переполнения рекурсивного стека. Выходы из данной ситуации пред- лагаются как студентами (например, использование более широких диапазонов данных параметров или возвращаемого значения функции пользователя) так и преподавателями (например, использование оптимизированной хвостовой ре- курсии или рекурсии с динамической базой). При этом, никто никому не верит на слово, а доказательством всему служит тест. В этом курсе студенты изучают различные методы сортировки линейного массива: простейшие (простыми включениями, простым выбором, простыми обменами), быструю, бинарную пирамидальную, сортировки слияниямии т. п. В ходе изучения заявленных методов студенты знакомятся со средствами ав- томатизации тестирования посредством написания программ-генераторов наборов тестовых данных. После того как студенты на простом наборе данных,

RkJQdWJsaXNoZXIy ODQ5NTQ=