Научная статья на тему 'О МЕТОДАХ И ТЕХНОЛОГИЯХ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ГЕНЕРАЦИИ И ПРОВЕРКИ ЗАДАНИЙ ПО МАТЕМАТИЧЕСКИМ ДИСЦИПЛИНАМ'

О МЕТОДАХ И ТЕХНОЛОГИЯХ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ГЕНЕРАЦИИ И ПРОВЕРКИ ЗАДАНИЙ ПО МАТЕМАТИЧЕСКИМ ДИСЦИПЛИНАМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
7
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / БУЛЕВА АЛГЕБРА / ВЕРИФИКАЦИЯ / ГЕНЕРАЦИЯ / КОМПЬЮТЕРНАЯ ПРОГРАММА / МАКРОС / МЕТОДЫ ОПТИМИЗАЦИИ / ПОЛИНОМ / ПРАКТИЧЕСКОЕ ЗАДАНИЕ / ПРОГРАММНЫЙ МОДУЛЬ / ALGORITHM / BOOLEAN ALGEBRA / VERIFICATION / GENERATION / COMPUTER PROGRAM / MACRO / OPTIMIZATION METHODS / POLYNOMIAL / PRACTICAL TASK / SOFTWARE MODULE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аршинов Георгий Александрович, Лаптев Владимир Николаевич, Михайленко Евгений Владимирович

Статья посвящена технологиям подготовки программных комплексов в среде Visual Basic for Application на базе офисных пакетов Microsoft Office, OpenOffice и LibreOffice для автоматизированной подготовки индивидуальных комплектов практических заданий по математическим дисциплинам, а также методам верификации выполненных обучающимися работ. В ней изложены основные принципы разработки представляемых программных продуктов, описаны структура типовых программных разработок и содержание входящих в них программных модулей, исследуются алгоритмы генерирования различных классов задач по разделам высшей математики: теории множеств, теории чисел, матричной алгебры, булевой алгебры и теории вероятностей, приведены фрагменты кодов разработанных процедур. Статья предназначена для профессорско-преподавательского состава, инженеров-программистов образовательных организаций.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Аршинов Георгий Александрович, Лаптев Владимир Николаевич, Михайленко Евгений Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ABOUT METHODS AND TECHNOLOGIES FOR DEVELOPING COMPUTER PROGRAMS FOR GENERATING AND CHECKING TASKS IN MATHEMATICAL DISCIPLINES

The article describes the technologies for preparing software systems in the Visual Basic for Application environment based on the office suites Microsoft Office, OpenOffice and LibreOffice for the automated preparation of individual sets of practical tasks in mathematical disciplines, as well as methods for verifying the work completed by students. It outlines the basic principles of development of the presented software products, describes the structure of typical software developments and the content of the software modules included in them, examines algorithms for generating various classes of problems in the branches of higher mathematics: set theory, number theory, matrix algebra, Boolean algebra and probability theory, provides fragments of codes of developed procedures. This work is aimed at teaching staff, software engineers of educational organizations.

Текст научной работы на тему «О МЕТОДАХ И ТЕХНОЛОГИЯХ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ГЕНЕРАЦИИ И ПРОВЕРКИ ЗАДАНИЙ ПО МАТЕМАТИЧЕСКИМ ДИСЦИПЛИНАМ»

УДК 519.688

1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки)

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

Аршинов Георгий Александрович д.т.н., профессор

ФГБОУ «Кубанский государственный аграрный университет», 350044, Россия, г. Краснодар, ул. Калинина 13

Лаптев Владимир Николаевич к.т.н., доцент

ФГБОУ «Кубанский государственный аграрный университет», 350044, Россия, г. Краснодар, ул. Калинина 13

Михайленко Евгений Владимирович к.ф.-м.н., доцент, заместитель начальника кафедры ФГКОУ ВПО «Краснодарский университет МВД России»,350005, Россия, г. Краснодар, ул. Ярославская, 128,

Статья посвящена технологиям подготовки программных комплексов в среде Visual Basic for Application на базе офисных пакетов Microsoft Office, OpenOffice и LibreOffice для автоматизированной подготовки индивидуальных комплектов практических заданий по математическим дисциплинам, а также методам верификации выполненных обучающимися работ. В ней изложены основные принципы разработки представляемых программных продуктов, описаны структура типовых программных разработок и содержание входящих в них программных модулей, исследуются алгоритмы генерирования различных классов задач по разделам высшей математики: теории множеств, теории чисел, матричной алгебры, булевой алгебры и теории вероятностей, приведены фрагменты кодов разработанных процедур. Статья предназначена для профессорско-преподавательского состава, инженеров-программистов образовательных организаций

Ключевые слова: АЛГОРИТМ, БУЛЕВА АЛГЕБРА, ВЕРИФИКАЦИЯ, ГЕНЕРАЦИЯ, КОМПЬЮТЕРНАЯ ПРОГРАММА, МАКРОС, МЕТОДЫ ОПТИМИЗАЦИИ, ПОЛИНОМ, ПРАКТИЧЕСКОЕ ЗАДАНИЕ, ПРОГРАММНЫЙ МОДУЛЬ

http://dx.doi.org/10.21515/1990-4665-193-008

UDC 519.688

1.2.2. Mathematical modeling, numerical methods and software packages (Physics and Mathematics)

ABOUT METHODS AND TECHNOLOGIES FOR DEVELOPING COMPUTER PROGRAMS FOR GENERATING AND CHECKING TASKS IN MATHEMATICAL DISCIPLINES

Arshinov Georgy Alexandrovich Doctor of Technical Sciences, Professor Kuban State Agricultural university, 350044, Russia, Krasnodar, Kalinina,13

Laptev Vladimir Nikolaevich

Cand.Tech.Sci., associate professor

Kuban State Agricultural university, 350044, Russia,

Krasnodar, Kalinina, 13

Mikhaylenko Evgeny Vladimirovich Cand.Phys.-Math.Sci., associate professor, Deputy Head of a Department Krasnodar University of Ministry of the Interior of Russian Federation, Krasnodar, Russia

The article describes the technologies for preparing software systems in the Visual Basic for Application environment based on the office suites Microsoft Office, OpenOffice and LibreOffice for the automated preparation of individual sets of practical tasks in mathematical disciplines, as well as methods for verifying the work completed by students. It outlines the basic principles of development of the presented software products, describes the structure of typical software developments and the content of the software modules included in them, examines algorithms for generating various classes of problems in the branches of higher mathematics: set theory, number theory, matrix algebra, Boolean algebra and probability theory, provides fragments of codes of developed procedures. This work is aimed at teaching staff, software engineers of educational organizations

Keywords: ALGORITHM, BOOLEAN ALGEBRA, VERIFICATION, GENERATION, COMPUTER PROGRAM, MACRO, OPTIMIZATION METHODS, POLYNOMIAL, PRACTICAL TASK, SOFTWARE MODULE

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

Представляемые комплексы программных продуктов реализованы в среде Microsoft Office, но также при необходимости могут использоваться в офисных приложениях OpenOffice и LibreOffice. Так, при переходе компьютерного центра университета на операционную систему Astra Linux преподаватели продолжали работать на Windows в MS Office, а одновременно с этим обучаемые использовали LibreOffice.

Суть описываемого метода заключается в создании шаблонов типовых расчетных заданий, размещенных на листах книг MS Excel, в которые после выполнения макросов будут добавлены сгенерированные числовые, строковые или графические компоненты заданий [2]. Преподаватель может сгенерировать условия заданий как для одного курсанта, так и одновременно для всей учебной группы. Подготовленные файлы со сгенерированными заданиями помещаются в доступное для

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

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

^ " * Тригонометрическая и показательная формы 2021 [Режим совместимости] - Е... ^ Поиск

Файл Главная Вставка Разметка страницы Формулы Данные Рецензирование Вид Разработчик Справка

Ш

Вставить

ЕЙ

Timet New Roman 12

Ж К Ч

:| А- А* О - А -

Буфер обмена Гу R1C3 V- i

Шрифт fx '0022

ВыраЕНИБаиие

| Общий

] Условное фо 5 Форыатировс \ Стили ячеек ■ Ст

1 2 3 4 5

у К ш 0022 Г

2 к \ / j \ \ 1 Абрикосов Анатолий Леонидович

3 4 Генерация \ 2 Александров Андрей Степанович

3 Барабанов Вадим Юрьевич

5 6 7 8 9 10 11 4 Бойков Андрей Валерьевич

Имя листа. 5 Бровкин Сергей Сергеевич

Комплексные числа 2 6 Горбунов Максим Владимирович

7 Д ени с овРу сл ан ович

Имя файла 6 Ефремова Людмила Александровна

ФМ Т5ГОЗ- 9 Иванов Иван Иванович

10 Иващенко Андрей Дмитриевич

12 13 14 1 5 Метка 11 Красненко Андрей Витальевич

отработка 12 Ломакин Кирилл Сергеевич

13 Мей ер Маргарита Алексеевна

Проверить А 14 Наганов Евгений Викторович

16 17 18 Г Я 15 Островский Александр Никпаевич

работу к 16 Охтов Нуралий Валерьевич

17 Петров Петр Петрович

19 20 18 Петросян Арам Гайкович

19 Прохорова Наталья Ивановна

21 22 20 Сидоров Ярослав Игоревич

21 Хорошевский Артем Витальевич

23 74 Образец I I Г ' I

Рис. 1. Первый лист типового комплекса программ. Рассмотрим структуру описываемых программных продуктов на примере комплекса программ «Тригонометрическая и показательная формы комплексного числа» по теме 5 «Теория множеств».

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

Второй лист является шаблоном практического задания (рис. 2).

W

Ко М плексн ые Ч И ела Дата_

Практическое задание Время_

Тригонометрическая и показательная _

ф Ор М Ы КО МПЛСКСНОГО Ч И С Л а (Фамилия и.о.)

Вариант | ~|

1. Найти значения модулей и аргументов комплексных чисел.

|32 -24г|=Е |2«|=[1 ] 1-14 + 26/1=1

I Агё(-17,)=|

\ig(io - Юг) =

Aig(22) =

Во всех заданиях в ответах дроби сокращаем ! Аргумент расчитывается в радианах с использованием

2. Представить комплексные числа в тригонометрической форме.

5 +12? =1 " 13eiM:

3. Представить комплексные числа в показательной форме.

36 + 27? =| Ю(соб7л75 + 7 зю7зг/5) =[

4. Представить комплексные числа в алгебраической форме.

20(собл/2 + г шш/2) =

5. Найти произведение комплексных чисел.

а) zi = 1 l(cos270° + i sm270°): z2 = 4(cosl80° + i sinl80°) z:z2 =|

б) zi = 1 1(cos7jl'4 + i sm7it4): z2 = 9(cos3n/2 + i sin3 n/2) z:z2 =

v i5niA s- i 1 lnJ6 , , —

в) zj = 12e , z2 = oe zjz2 —

6. Найти частное комплексных чисел.

а) Zj = 7(cos260° + i sm260°): z2 = 3(cos300° + i sin300°) zY!z2 =

б) zi = 3(cos5tc/4 + i sin5il/4)= z2 = 9(cos7ie/4 + i sm7it/4) zj/z2 =

в) zj = 5eiW. z2 = 10e'™ zi/z2 =

7. Возвести комплексное число в указаную степень, а) z = 2 - 9i z3=| 6) z = 2 + 4/

тригонометрическая форма 5(cos(arctg4/3) + ism(arctg-показательная форма

Аргумент комплексного числа должен находиться в инт Знак градусаопределяется надстрочной латинской б

Аргумент комплексного числа должен находиться в iffli

Аргумент комплексного числа должен находиться в инз

в) z = 5(cos80° + i sin80°)

г) z = 2(cos7jl/8 4- j sin7n/8)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

\ j T iX J J

д) z = 5e z =

8. Извлечь квадратные корени из комплексного числа.

а) z = -361

б) z = 529i

4 = 4 =

z2 =

Z-j =

Решение записать в алгебраической форме Решение записать в тригонометрической форме

9. Извлечь корни 3-ой степевн из комплексного числа.

Рис. 2. Верхняя часть шаблона практического задания Тригонометрическая и показательная формы комплексного числа.

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

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

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

Модуль 2. Запуск.

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

If NoRow = 1 Then

а = 1 : Ь = Ы 1 Задания для всей группы

Else

а = NoRow - 1 : b = NoRow - 1 1 Задание для выбранного курсанта

End If

Fer i = а Гс Ь

Sheets(list_name}.Copy t = Name_Kur( i, 1}

If Name_Kur(i, 2} о "" Then t = t + " " + Hid{NameKur<1, 2}, 1, 1} + If Name_Kur(i, 3} <> " Then t = t + Hid{NameKur(i, 3), 1, 1} + Cells(3, 14) = t

Call Формы_комплекс:-10гс_числа 1 вызов генерации задания

t = Name_Kur(i, 1} + Hid{NameKur{i, 2), 1, 1} + Hid{Name_Kur{i, 3), 1, 1} ActiveWorkbook.SaveAs Filename :=HyPatл + file_name + NoGroup + t + " " + _ ir.etka + ".xls", FileFormat:=xlExcel8f Password:=""r WriteResPassword:="" ActiveWindow.Close Next i

Рис.3. Фрагмент кода макроса Запуск.

На рисунке 3 представлен фрагмент макроса Запуск, реализующий создание новых листов, помещения на них формы, вызов модуля генерации, определения имен файлов, сохранение файлов.

Модуль 3. Генерирование заданий.

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

ActiveSheet.Protect Password:=PAROL 1, AllowFormattingCells:=True

ActiveSheet.EnableSelection = xlUnlockedCells

ActiveSheet.Protect AllowFormattingCells:=True, Password:=PAROL 1

Рис. 4. Макрос Формы_комплексного_числа.

Модуль 4. Проверка выполненных работ.

Модуль включает ряд программ для поиска файлов с выполненными заданиями, повторной генерации заданий, проверки ответов и выставления оценок. Основной программой четвертого модуля является макрос Найти_файл (рис. 5). Выбор и открытие проверяемого файла с решениями организовано с помощью метода GetOpenFilename [7], затем вызывается организационный макрос проверки, файл сохраняется под новым именем, к имени добавляется полученная оценка, а проверяемый старый файл удаляется.

■MsgBox "Выбран, файл: 1" [ fn ( "1", vblnformation, "Заголовок, окна"

FileForniat:=xlExcel3, Password:="", WriteResPassword:="", Re a dOnl yRe commie nde d: = Fa 1 s e, Create Ba с kup: = Fa 1 s e

Рис. 5. Код макроса Найти_файл.

Макрос проверки PR_Complex_Number_Forms предназначен для вызова процедур проверки (рис. 6). Здесь производится верификация работы: проверяются на соответствие номер варианта, дата и время генерации работы и идентификатора пользователя. Использование функции Randomize [10] обязательно для получения такой же, как и при генерации, последовательности параметров заданий. Здесь, как и в макросе Формы_комплексного_числа, в том же порядке поочередно используются алгоритмы генерации параметров заданий, далее по ним рассчитываются

решения задач для сравнения с введенными ответами курсантов. В завершении проверки рассчитывается оценка.

5ub FR_Complеn_Nuititoeг_Fo г ms (оценка) FAROL_l = "GJPBNBD"

ActiveSheet.Protect Password:=FAROL 1, AllowFcrmattingCells:=True AjcrtiveSheet. ЕпяЫеЗеlection = xlUnlockedCells AjcrtiveSheet. Unprotect Password:=FAROL 1

V = Cells (6, 9} Name = Cells(3, 14) stiir.e = Cells (2, 15}

NamelOOO = V - (Val (Mid (stiir.e, 2, 2}} * 3 600 + Val (Mid (stiir.e, 5, 2}} * 60

+ Val (Mid (stiir.e, 3, 2} } } Mod 31000 If NainelOOO <> codeNaine (Name) Then

Cells (6, 12} = "НеЕерний код фекилии! ! ! " ActiveSheet.Protect Password:=FAROL_l End End If

Rnd (V * (-1}}: Randomize (V}: mark = 0

Call FR_3aflamie_l (V, mark} Call FR_3aдание_2 (V, mark} Call FR_3aдание_3 (V, mark} Call FR_3aдание_4 (V, mark} Call FR_3aдание_5 (V, mark} Call FR_3aflamie_6 (V, mark} Call FR_3aдание_7 (V, mark} Call FR_3aдание_3 (V, mark} Call FR_3aflamie_& (V, mark} Cells(53, 15} = mark Select Case mark

Case 30 Tc 33: оценка Case 2 4 Tc 29: оценка Case 18 Tc 23: оценка Case Else: оценка = "неудовлетворительно" End Select

Cells(55, 13} = оценка End Sub

Рис. 6. Код макроса PR_Complex_Number_Forms. Рассмотрим технологии генерации и проверки работ на примере задания «9. Извлечь корни 3-ой степени из комплексного числа» рассматриваемого программного комплекса (рис.7).

= "отлично" = "хорошо"

= "удовлетворительно"

1 2 3 4 5 6 ч СО 10 11 12 13 14 15 16 17 18 19

49 9. Извлечь корни 3-он степени иг комплексного числа.

50 а) г = 512 =

52 г7 = =

54 6)2 = б4<«>в2жй + 7 яп2я/3) *1 =

56 = =

58

Рис. 7. Сгенерированное задание «9. Извлечь корни 3-ой степени из

комплексного числа».

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

Рис. 8. Код макроса Задание_9.

Особенность задания 9.б состоит в том, что генерируемое число представляется в тригонометрической форме и для его вывода потребуется рассчитать модуль г, а также параметры аргумента /1 и /2. Кроме того, число I выделяется курсивом.

При проверке задания (рис. 9) не нужно анализировать находящееся на листе задание, это может быть ненадежно и трудоемко. Для получения значений переменных x, r, f1 и f2. достаточно еще раз использовать алгоритмы, используемые при генерации задания. Решения рассматриваемых заданий можно найти при помощи формулы Муавра, а затем сравнить их с ответами на листе, предварительно убрав из них пробелы. Если решение курсанта совпало с расчетным, то количество набранных баллов увеличивается на единицу, в противном случае проверяемая область перечеркивается.

Sub РК_Задание_5(V, mark)

"9. Извлечь ксрни 3-ой степени из комплексного числа. F± = ChrW((960}} ■ ПИ 1 а Проверка

х = Int (Rnd (V) * 6 + 4} trl = st(x}

If trl = No_5pace(Cells(50, 10}} Then mark = mark 4 1 Else Call krest(50, 10} tr 2 = st(x} + pre±2" + Fi + "/3"

If tr2 = Nc_5pace(Cells(52, 7}} Chen mark = mark + 1 Else Call krest(52, 7} tr3 = st (x} + "ei4" + Fi + "/3"

If tr3 = Ыс_5расе(Cells(52, 14}} Chen mark = mark + 1 Else Call krest(52, 14} 1 б Проверка Dc

r = (Int(Rnd(V} < 4 + 2}} Л 3 fl = Int(Rnd(V} <7 + 2}

f2 = Int(Rnd(V} * 4 + 2}: If f2 = 5 Then f2 = 6 Icop Until HOflffl, f2} = 1 And fl / f2 < 2 And НОД(f1, 3} = 1 r = г Л (1/3}

trl = st (r} + "(cos,r + st(fl) + Fi + "/" + st (f2 * 3} +

"+isin" + at(fl) + Fi + "/" + st(f2 * 3} + "}" If trl = Nc_5pace(Cells(54, 10}} Chen mark = mark + 1 Else Call krest(54, 10} tr2 = st(r} + "(cos" + st(fl + 2 * f2} + Fi + "/" + st(f2 * 3} +

"+isin" + atffl + 2 * f2} + Fi + "/" + st(f2 * 3} + "}" If tr2 = Nc_5pace(Cells(56, 7}} Then mark = mark + 1 Else Call krest(5£, 7} tr3 = st(r} + "(cos" + st(fl + 4 * f2} + Fi + "/" + st(f2 * 3} +

"+isin" + atffl + 4 * f2} + Fi + "/" + st(f2 * 3} + "}" If tr3 = Ыс_5расе(Cells(56, 14}} Chen mark = mark 4 1 Else Call krest(56, 14} End Sub

Рис. 9. Код макроса проверки задания.

На рисунке 10 показан результат проверки задания. Пять заданий выполнены верно, за них обучаемый получил 5 баллов, неверное выполненное задание перечеркнуто.

9. Извлечь корни 3-он степени иг комплексного числа.

а) z = 512

г? =

6) z = 64(со&2*й + 1 sin2*/3)

*1 = г s

sei2n/3 , - t, i+n/3 — ae

Zl = 4(cos2n/9+isin27t/9)

4(cosS7*9+isiuS7*9) =

Рис. 10. Результат проверки задания.

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

Рассмотрим такие методы на примере программного комплекса «Операции над многочленами» по теме «Многочлены». На рисунке 11 представлено сгенерированное задание «1. Вычислить сумму многочленов».

Рис. 11. Сгенерированное задание «1. Вычислить сумму многочленов».

Для генерации коэффициентов полиномов P1 и P2 четвертой и третьей степени соответственно (рис. 12) используем циклы, в которых рассчитываемые коэффициенты многочленов принимают значения в интервале от -10 до 10. С использованием нестандартной функции pol многочлены выводятся на лист [6].

1 Выделить сумму ^многочленов

Рис. 12. Программный код задания «Вычислить сумму многочленов».

Вызываемая в программе функция pol формирует строку, включающую коэффициенты многочлена, обозначения переменных, степени переменных и арифметические знаки «+» либо «-». Местоположение переменных в записи фиксируется в массиве ms, и после вывода полинома на лист определяется надстрочный шрифт для степеней переменных.

При проверке решения данного задания процедура генерации коэффициентов многочленов P1 и P2 остается без изменений (рис. 13). С помощью функции polsum осуществляется сумма полиномов PR = P1 + P2. В строковую переменную tz считывается ответ обучаемого и из нее удаляются пробелы. С помощью функций poltext и ubr_prob происходит преобразование найденного решения. Затем происходит сравнение рассчитанного решения t и считанного tz. В случае равенства значений t и tz к количеству набранных баллов mark добавляется балл, в противном случае поле с неверным решением зачеркивается.

■ Вычислить сумму многочленов

If t = tz Then mark = mark + 1 Else Cells(14, 3} = krest(14, 3)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 13. Фрагмент кода проверки задания «Вычислить сумму многочленов.

Часто для подготовки заданий следует идти от обратного: сначала необходимо сгенерировать решение задачи, а затем на основе готового решения формировать условие задачи. Рассмотрим процесс генерации и проверки задания 7. б «Разложить многочлены на множители» (рис. 14). Суть задания заключается в том, чтобы при разложении полинома n-й степени все n множителей-одночленов имели целые коэффициенты. Случайным подбором коэффициентов разлагаемого полинома здесь не обойтись, следовательно, их нужно специальным образом рассчитать [9].

7. Разложить многочлены на множители (знаки умножения не ставить)

Рис. 14. Задание «Разложить многочлены на множители». Для формирования выводимого полинома (рис. 15) после очистки массивов P1, P2, Pr и R в цикле Do .. Loop Until [3] сгенерируем все его корни: x1, x2, x3, а также коэффициент a. Осуществим проверку на то, чтобы кони не повторялись. Воспользуемся теоремой Виета для расчета коэффициентов искомого полинома. В случае многочлена третьей степени

32

ax3 + bx2 + cx + d его коэффициенты можно найти из произведения

одночленов на старший коэффициент: a(x - x1)(x - x2)(x - x3). Результирующий полином Pr выводится на лист формы заданий.

"Задание 7.6. Разлежись на мнежипели

Loop Until xl * х2 * хЗ <> 0 And Abs(xl) о Abs(x2}

Рис. 15. Программный код генерации задания 7. б.

Произведение многочленов производится последовательно с помощью разработанной функции polmult (рис. 16). Функция предназначена для умножения двух многочленов. Степень множителей ограничена числом 15 только из потребностей обучения и ее легко можно увеличить. Итерационный процесс осуществляется в двух вложенных циклах, где параметры внешнего цикла i и внутреннего цикла j являются степенями мономов, входящих в первый и второй многочлены соответственно.

Рис. 16. Функция произведения полиномов polmult.

Алгоритм расчета параметров условия задания во время проверки ничем не отличается от того, что был во время генерации (рис. 17). В вычислении коэффициентов полинома b, c и d нет потребности, однако

зная корни многочлена х7, х2, х3 и коэффициент а, по теореме Виета сформируем строку произведений вида а(х - х{)(х - х2)(х - х3), и сравним ее с решением курсанта.

Рис. 17. Программный код проверки задания «Разложить на множители.

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

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

состояний: прямой, инверсной форме или отсутствует [11]. Причем необходимо, что хотя бы одна из n переменных присутствовала в конъюнкции. Тогда при генерации таких конъюнкций для n-арной

функции мы получим 3n-1 вариантов.

Например, в задании 1.б программного модуля «ДНФ, КНФ булевых функций» (рис. 18) функция трех переменных f2 содержит четыре

компонента: ABC, AC, A, AB. В первом выражении все три переменных A, B и C присутствуют в инверсной форме, во втором -инверсии A и C, а переменная B имеет статус отсутствия, в третьем -только инверсия A , а в четвертом - A , B в прямой форме, а C отсутствует.

1. Нанести булевы функции на карты Вейча и найти СДНФ их инверсий

a) f i (А,В) = (АВ + В) (В+А) в) f3 (A,B,C,D) = АС D + АВ С + В С D

А А

fl=

б) f2 (А,В,С)= ABC ( АС + А) +АВ

А ~ __С

Í2 =

f¡ =

с

Рис. 18. Первое задание модуля «ДНФ, КНФ булевых функций». Приведем фрагмент программного кода описываемого процесса (рис.

19).

1 Определение параметров булевых переменных

Рис. 19. Фрагмент кода определения статусов булевых переменных.

Для статусов переменных в программе определены следующие значения: 0 - «инверсия», 1 - «прямая форма», 2 - «отсутствие переменной». Во вложенных циклах с параметрами i и j происходит определение статусов трех булевых переменных, определяемых значениями элементов массива ab(i, j) в каждом из четырех выражений. Здесь же осуществляется проверка на присутствие в конъюнкции хотя бы одной переменной. Затем происходит сравнение полученных конъюнкций. Описанный процесс будет повторяться до тех пор, пока все четыре сгенерированных выражения не будут различными.

При нанесении функций на лист MS Excel возникли проблемы с выводом инверсий булевых переменных. Найти стандартные шрифты с надчеркиванием всех заглавных латинских букв не удалось. Решением проблемы стал вывод булевых выражений не в одной, а одновременно в двух строках: в нижнюю строку заносится выражение без инверсий, а в верхнюю - только символы подчеркивания. Представим программный код вывода на лист первой конъюнкции (рис. 20).

Рис. 20. Вывод первой конъюнкции булевой функции. Сформированные строковые переменные t0 и t заносятся в соответствующие места на листе друг под другом, а затем параллельно преобразуется шрифт в обоих выражениях таким образом, чтобы размер символов на позициях, соответствующих пробелам в строке t, уменьшился до трех единиц (рис. 21).

For 1 = 1 То п - 1 1 Уменьшаем шрифт всавленнш пробелов

Cells(14, 5}.Characters(Start:=i. Length:=1}.Font.Size = 3 Cells (15, 5) . Characters (Start: =i. Length: =1 )■ . Font. Size = 3

Рис. 21. Изменение шрифтов сформированных записей. Перейдем теперь к проверке описанного задания 1.б. Сначала проверим правильность нанесения булевой функции на карту Вейча. Для этого воспользуемся значениями таблицы истинности, рассчитанными при генерации параметров функции.

Строковые переменные tr и tc (рис. 22) определяют координаты

заполнения таблицы минтермами m0 = ABC , m1 = ABC, ..., m7 = ABC.

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

Рис. 22. Фрагмент программного кода проверки заполнения карты Вейча.

Для проверки записи СДНФ инверсии функции (рис. 23.) помещаем в переменную t упорядоченные номера наборов, на которых функция принимает нулевые значения, а затем сравниваем t с ответом w, предварительно вырезав из значений обеих строковых переменных все символы, кроме цифр. Задание считается выполненным, если верно заполнены все девять полей.

If t = w Then ml = ш1+ I Else Call krest^17, Э)

Рис. 23. Проверка записи инверсии булевой функции.

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

Рассмотрим пример генерации задания «2.в. Выполнить действия над матрицами» (рис. 24) из программного комплекса «Обратная матрица. Ранг

матрицы» по теме «Матрицы и определители». При выполнении задания обучаемый сначала должен найти обратную матрицу для второго множителя, а затем умножить первую матрицу на полученный результат. Но генерировать задание в таком порядке не следует, так как в процессе нахождения обратной матрицы могут получаться элементы с дробными значениями, что затруднит выполнение работы курсантами [8].

2. Выполнить д е н с те н я над матрицами

Г Л < Г

а) 3 б -9 0 _ 6)

в)

f "V 6 -1 f -9 0 <*" -s

. 5 V 25

f-7 -1 О -1 с -19 (Г ■к

4 1 4 =

-7 L J J

Г.

%

12 -34

4 45

-16 -24,

-4

4

Г Л

Щ J

Рис. 24. Задание «2. Выполнить действия над матрицами». Формируемое задание 2.в можно представить в матричной форме следующим образом: A ■ Бл = C. В приводимом примере матрицы A и Б выведены на лист, а значения коэффициентов матрицы C нужно внести. Если в матричном выражении перенести второй множитель в правую

C

часть, то получим A = — или A = С ■ Б. Учитывая данный факт

Б

рассчитывать коэффициенты матриц будем в следующем порядке: начнем с матрицы С, затем, генерируя произвольные целочисленные коэффициенты, сформируем матрицу Б, а уж потом рассчитаем матрицу А.

В представленном фрагменте кода программы (рис. 25) мы видим, что во вложенных циклах с параметрами i и j генерируются коэффициенты двумерного массива с, являющегося решением задачи. При формировании матрицы b, для которой обучаемый будет строить обратную, в цикле Do .. Loop Until происходит проверка матрицы на вырожденность. Массив a получим, перемножая уже сформированные элементы массивов с и b. При разработке алгоритма расчета коэффициентов матрицы A необходимо

использовать определение матричного произведения и учитывать некоммутативность данной операции.

■Задание 2.в. Выполнить действия над матрицами. 1 Матрица 4x2 умножается на обратную матрицу 2x2

For i = 1 То 4 For j = 1 То 2

с(i, j} = Rnd(v) * 18 - 9 Next j, i

Do

For i = 1 To 2 For j = 1 To 2

b(i, j) = Rnd(v) * 16 - 3 Cells(i + 24, j + 3) = Ь(i, j} Next j, i

Loop Until [Ь(1, 1) * b(2, 2) - b(l, 2) * Ь(2, 1)) О 0

For i = 1 To 4 For j = 1 To 2 a[±, j} = 0 For к = 1 To 3

a(i, j) = a(i, j) + c(i, k> * b<t, j) Next к

Cells(i + 23, j + 1} = a(1, j} Next j, i

Рис. 25. Генерация задания «Выполнить действия над матрицами».

При проверке выполненного задания выполненного задания следует иметь ввиду, что в ней необходимо осуществить расчет всех параметров задания точно также, как и при генерации задачи обучаемым (рис. 26). В первом блоке представленного программного кода осуществляется вычисление значение элементов массива c и сравнение этих значений с записанным на листе ответом. Расчет значений массива b выполняется только для того, чтобы количество обращений к функции Rnd с параметром v совпадало с генерацией этого задания курсантом. На самом деле, значения массива b можно было и не рассчитывать, а заменить рассматриваемую структуру восьмикратным вызовом инструкции Rnd(v).

■Задание 2.в. Выполнить действия над матрицами.

■ Матрица 4x2 умножается на обратную матрицу 2x2

If Cells(i + 23, j + 7} = с(ir j) And Cells(1 + 23, j + <> -- Then

Рис. 26. Код проверки задания «Выполнить действия над матрицами».

Во многих разделах математики решаются типовые текстовые задачи. Особенность генерирования текстовых заданий заключается в совместной обработке числовых параметров и строчных значений. На рисунке 27 представлено задание «1. Решить задачи (Формула Бернулли)», в котором представлены пять текстовых задач из практической работы «Схемы повторных испытаний» (приложение 1) раздела «Теория вероятности».

а) Какова вероятность того, что из 9 наблюдений событие А произойдет ровно 4 раза, если вероятность наступления события

б) Определить вероятность того, что при 7 бросках игрального

е) Вероятность выигрыша при опускании жетона в игральный автомат равна 0.4. Найти вероятность того, что из 8 попыток

г) Опыт состоит в перемешивании колоды из 36 карт и открывании верхней карты, после чего карта возвращается в колоду. Определить вероятность того, что а) из 9 опытов 7 раз откроются туз. король, дама или валет; 6) из 9 опытов ни разу не откроются ни туз. ни король, ни дама, ни валет.

д) Расчитать вероятность поражения дальнобойным орудием находящейся на предельном расстоянии цели а) не более 7 раз, б) не менее 5 ине более 7 раз, если орудие произвело 9 выстрелов, а вероятность поражения цели при каждом выстеле равна 0,3.

Рис. 27. Задание «Решить задачи (Формула Бернулли)».

Рассмотрим процесс генерации задания 1.д (рис. 28). В представленном линейном алгоритме рассчитываются всего два параметра: в интервале от 7 до 11 целочисленный п, определяющий количество выстрелов дальнобойного орудия, и от 0,1 до 0,4 вещественный р, отвечающий за вероятность поражения цели при каждом выстреле. Затем вычисляются параметры задачи т1, т2, и с использованием п, р, т1, т2 осуществляется формирование значение строковой переменной I. В программе в определенном порядке складываются фрагменты текста задачи и преобразованные функцией 81 числовые значения, а затем значение ? выводится на лист.

1 Расчитать вероятность пораяения находящейся на предельном расстоянии цели 1 а}не более ш2 раз,6) от ш1 до ш2 раз дальнобойным орудием из п выстрелов, 1 если вероятность пораяения цели при каждом выстеле равна р.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

t = "Расчитать вероятность пораяения дальнобойным орудием ■ t = t + "находящейся на предельном расстоянии цели а} не более "

t = t + 31: ¡т2} + " раз, если орудие произвело " + st (п) + ■ выстрелов, " t = t + "а вероятность пораяения цели при каждом выстеле равна " + з1;(р) + "."

Рис. 28. Генерация текстовой задачи.

Для проверки решений текстовых задач не требуется формировать строку условия (рис. 29). Здесь достаточно сгенерировать или рассчитать основные параметры задачи: п, р, т1 и т2. Учитывая полученные значения по теореме Бернулли, с использованием основных свойств вероятностей, получаем решения ра и рЬ и сравниваем их с ответами обучающегося. Так как в поле ответов находятся приближенные числовые значения, то допускаем погрешность 0,0001.

1 Задание 1.д

n = V Mod 5+7 "Проверка

р = (v Mod 3 + 1} / 10 тс2 = п - 2 ml = ic2 -2 " а) не более ш2 раз

pa = 1 - soch(n - 1, II) * р " (п - 1) * (1 - р) " 1 _

- soch (и, п} * р " (11 + 1) * (1 - р) "0 If Cells(19, 16) >= ps - 0.0001 And Cells(19, 16) <= pa + 0.0001

And Cells(19, 16) <> "" Then mark = mark + 1 Else Cells(1Э, 16) " ё) gi ml до ш2 раз

pb = soch (ml, n) * p " ml * (1 - p) " (n - ml)

+ soch(ml + 1, n) * p " (ml + 1) * (1 - p) " (n - ml - 1) + soch(m2, л) * p " m2 * (1 - p) " {n - m2) If Cells(21, 16) >= pb - 0.0001 And Cells (21, 16) <= pb + 0.0001 And Cells(21, 16) <> "" Then mark = mark + 1 Else Cells (21, 16)

Рис. 29. Проверка текстовой задачи. Рассмотрим пример разработки приложения, включающих более сложные алгоритмы. В десятом задании программного комплекса «Графы. Связность и расстояния» по теме «Графы» требуется построить матрицы смежности, сильной связности и достижимости для представленного графа G (рис. 30).

10. Для ори ей тирован ного графа G построить матрицу см ежи ости М, матрицу сильной связности W и матрицу достижимости Т.

G= [fg, h, i J, к}, f(gj), {g,k),(Kgh (hj), 0,g),(¡J), 0, Sh (fjh (к,к),(к, к)}] м= w= т=

Рис. 30. Задание 10 программного комплекса «Графы. Связность и

расстояния».

Для определения графа G достаточно сформировать его матрицу смежности GM (рис. 31). Во вложенных циклах с параметрами i и j каждому элементу матрицы GM присваиваем одно из значений 0, 1 или 2. Здесь же рассчитываем кратность дуг графа.

Тело цикла в инструкции Do .. Loop Until будет выполняться до тех пор, пока количество направленных ребер без учета кратности будет от восьми до двенадцати и появится хотя бы одна дуга кратности более

= krest(19, 16)

= krest(21, 16)

единицы. Затем в полученной матрице обнуляем произвольно выбранный столбец.

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

Рис. 31. Код генерации матрицы смежности. Код построения матрицы достижимости представлен на рисунке 32.

Erase G5S For i = 1 То 5

1 Формируем матрицу достижимости графа GM

G5 (i, i ) = 1 Next i

For i = 1 Tc 5

1 Связаны одним ребром

For j = 11с 5

If (3d (i, j } > 0 Then GS (i, j }

1

Next j Next i

For i = 1 To 5

1 Связаны двумя ребрами

For j = 1 Тс 5 For к = 1 Tc 5

If GM(±, ]} > 0 And GM (j, к} > 0 Then GS (i, k} =1 Next к Next j Next i

For i = I "c 5 1 Связаны тремя ребрами

For j = 1 Тс 5 Fcr к = 1 Тс 5 For L = 1 Тс 5

If GM(if j} > 0 And GM(j, к} > 0 And GM(k, L} > 0 Then GS(i, L} = 1 Next L Next к Next j Next i

For i = I Tc 5 'Связаны четырьмя ребрами

For j = 1 Tc 5 Fcr к = 1 Tc 5 For L = 1 Tc 5

Fcr M = 1 To 5

If GM(i, j} > 0 And GM(j, к) > 0 And GM(k, L) > 0 And GM(L, M> > Q Then GS(i, M> = I

Next M Next L Next к Next j Next i

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

Построим матрицу сильной связности графа G (рис. 33). Алгоритм ее построения сводится к нахождению пар противоположно направленных маршрутов между вершинами.

For 1 = 1 Тс 5 'Рассчитываем матрицу сильней связности GSS

Fcr j = 1 Тс 5

If GS(i, j} = 1 And GS(j, i) =1 Then GSS(i, j} = 1 Else GSS(i, j) = 0

Рис.32. Код формирования матрицы достижимости.

Next j Next i

Рис. 33. Расчет матрицы сильной связности графа G. Верификация выполненного задания заключается в проверке трех заполненных матриц: матрицы смежности, матрицы достижимости и матрицы сильной связности (рис. 34).

Н = 0 1 Проверяем матрицу смежности GM

For i = 1 Гс 5 For j = 1 Гс 5

If Cells(i 4 41, j 4 1} = GM(i, j} And Cells[i 4 41, j 4 1} О "" Then M = M 4 1 Else: Call krest(i 4 41, 5 4 1}

Next j Next i

If H = 2 5 Then mark = mark 4 1

M = 0 "Проверяем матрицу достижимости G5

For i = 1 Гс 5 For j = 1 Гс 5

If Cells(i 4 41, j 4 13} = GS(i, j} And Cells(1 4 41, j 4 13} О " Then H = M 4 1 Else: Call krest(I 4 41, j 4 13} Next j Next i

If M = 25 Then mark = mark 4 1

M = 0 'Проверяем матрицу сильной связности G55

For i = 1 Гс 5 For j = 1 Гс 5

If Cells(1 4 41, j 4 7} = GSS(i, j} And Cells(1 4 41, j 4 7} о "" Then M = К 4 1 Else: Call krest(i 4 41, 5 4 7}

Next j Next 1

If H = 2 5 Then mark = mark 4 1

Рис. 34. Проверка матриц смежности, достижимости и сильной связности.

За каждую правильно заполненную матрицу курсанты получают по одному баллу.

В задании «11. Опишите результат функционирования представленного автомата» программного комплекса «Дискретные автоматы» обучающиеся должны заполнить таблицу (рис. 35), пошагово отображая элементы входных x(t), выходных y(t) слов, а также состояние автомата.

11. Опишите результат функционирования представ леи и ого автомата.

% s0 si* s2 t 0 1 2 1 -1- 5 S 9 10

в 1щ s2/l si 1 s(t)

п s2/l э0/0 5.0/1 Ш

т s0/l 51/0 52/1 m

1= ВТП тпвппвт

Рис. 35. Сгенерированное задание «11. Опишите результат функционирования представленного автомата».

Генерация данных происходит здесь следующим образом. Сначала сформируем и выведем на лист алфавит автомата, состоящий всего из трех букв у1, у2 и у3, для этого определим соответствующие номера этих букв в константе Л1/ауИ.

Рис. 36. Определение алфавита автомата. В представленном фрагменте кода макроса формируется входное слово slovol (рис. 47).

Рис. 37. Формирование входного слова. Затем в программе определяется начальное состояние автомата р и заполняются заголовки таблицы (рис. 38).

Рис. 38. Инициализация автомата. Генерация задания заканчивается заполнением таблицы перехода состояний и расчета значений функции _у(х)автомата Мили (рис. 39).

Рис. 39. Расчет значений автомата-преобразователя.

Проверка задания представлена на рисунке 40. Сначала мы считываем и убираем пробелы из ответа обучаемого. Затем в цикле For .. Next определяются и сравниваются с заполненной таблицей значения аргумента x(t), выходной функции y(t) и состояния автомата s(t) на каждом такте работы автомата, собирается и проверяется выходное слово.

If Nc_5pace(Cells(50, ■; + !}} о Nc_5pace(М(строка, столб}} Then If NoSpace(Cells{51, 8 + 1}} <> Nc_5pace("s" £ L(строка, столб}} Then

Рис. 40. Фрагмент кода проверки задания «11. Опишите результат функционирования представленного автомата». В заключении отметим, что в настоящее время на кафедре информатики и математики Краснодарского университета МВД России разработаны десятки программ по изучаемым разделам математики. Все они внедрены в образовательный процесс на практических занятиях и в часы самоподготовки. Эффективное внедрение описываемых программных комплексов плодотворно влияет на скорость и качество подготовки учебного материала, активизирует процессы мышления, восприятия и усвоения знаний у обучаемых, формирует устойчивые навыки стандартных математических расчетов, побуждает курсантов и слушателей к самостоятельной, творческой работе.

Список использованной литературы

I. Лаптев, В.Н. О технологиях разработки программных приложений для генерирования и проверки практических заданий по математическим дисциплинам / В.Н. Лаптев, Е.В. Михайленко // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета (Научный журнал КубГАУ) [Электронный ресурс]. - Краснодар: КубГАУ, 2020. - №01(155). С. 164 - 177.

- IDA [article ID]: 1552001013. - Режим доступа: http://ej.kubagro.ru/2020/01/pdf/13.pdf, 0,875 у.п.л.

3. Михайленко, Е.В. Введение в программирование: учеб. пособие / Е.В. Михайленко - Краснодар: Краснодарский университет МВД России, 2020. 109 с.

3. Михайленко, Е.В. Введение в программирование: учеб. пособие / Е.В. Михайленко - Краснодар: Краснодарский университет МВД России, 2020. 109 с.

4. Михайленко, Е. В. Математика: учебник / Е. В. Михайленко. - Краснодар: Краснодарский университет МВД России, 2023. - 478 с.

5. Михайленко, Е.В. Методы создания компьютерных программ для автоматизации подготовки и проверки практических заданий на базе офисных приложений. / Е.В. Михайленко // Математические методы и информационно-технические средства [Электронный ресурс]: материалы XVIII Междунар. науч.-практ. конф. (17 июня 2022 г.) - Электрон. дан. - Краснодар: Краснодарский университет МВД России, 2022. - 1 электрон. опт. диск. С. 109 - 116

6. Михайленко, Е.В. О разработке комплекса программ для автоматизированной генерации и проверки заданий практической работы «Операции над многочленами» / Е.В. Михайленко // Проблемы информационного обеспечения деятельности правоохранительных органов: сборник статей IX Всероссийской научно-практической конференции. - Белгород: Белгородский юридический институт Министерства внутренних дел Российской Федерации им. И.Д. Путилина. С. 122 - 130.

7. Михайленко, Е.В. Объектно-ориентированное программирование: учебно-практическое пособие / Е.В. Михайленко, В.А. Епифанцева. - Краснодар: Краснодарский университет МВД России, 2021. -109 С.

8. Михайленко, Е.В. Особенности разработки компьютерных приложений для генерации и верификации практических заданий, включающих обработку матриц / Е.В. Михайленко // Проблемы информационного обеспечения деятельности правоохранительных органов: сборник статей 7-й Всероссийской научно-практической конференции. - Белгород: Белгородский юридический институт МВД России имени И.Д. Путилина, 2020. - С. 3 - 20.

9. Михайленко, Е.В. Принципы автоматизации подбора и проверки практических заданий, включающих обработку полиномов / Е. В. Михайленко // Математические методы и информационно-технические средства: материалы XVI Всерос. науч.-практ. конф.

- Краснодар: Краснодарский университет МВД России, 2020. C. 65 - 70.

10. Михайленко, Е.В. Технологии программирования: учеб. пособие / Е.В. Михайленко, А. К. Назаров - Краснодар: Краснодарский университет МВД России, 2019. 510 с.

II. Старостенко И. Н. Прикладная математика: учебник / И. Н. Старостенко, Е. В. Михайленко, А. А. Хромых. - Краснодар: Краснодарский университет МВД России, 2023. -346 с.

12. Старостенко, И.Н. К вопросу об использовании информационных технологий при организации самостоятельной работы обучающихся / И.Н. Старостенко,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Е.В. Михайленко // Проблемы современного педагогического образования. - Ялта: РИО ГПА, 2019. № 65-1. С. 257 - 262.

References

I. Laptev, V.N. O tehnologijah razrabotki programmnyh prilozhenij dlja generirovanija i proverki prakticheskih zadanij po matematicheskim disciplinam / V.N. Laptev, E.V. Mihajlenko // Politematicheskij setevoj jelektronnyj nauchnyj zhurnal Kubanskogo gosudarstvennogo agrarnogo universiteta (Nauchnyj zhurnal KubGAU) [Jelektronnyj resurs]. - Krasnodar: KubGAU, 2020. - №01(155). S. 164 - 177. - IDA [article ID]: 1552001013. -Rezhim dostupa: http://ej.kubagro.ru/2020/01/pdf/13.pdf, 0,875 u.p.l.

3. Mihajlenko, E.V. Vvedenie v programmirovanie: ucheb. posobie / E.V. Mihajlenko -Krasnodar: Krasnodarskij universitet MVD Rossii, 2020. 109 s.

3. Mihajlenko, E.V. Vvedenie v programmirovanie: ucheb. posobie / E.V. Mihajlenko -Krasnodar: Krasnodarskij universitet MVD Rossii, 2020. 109 s.

4. Mihajlenko, E.V. Matematika: uchebnik / E. V. Mihajlenko. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2023. - 478 s.

5. Mihajlenko, E.V. Metody sozdanija komp'juternyh programm dlja avtomatizacii podgotovki i proverki prakticheskih zadanij na baze ofisnyh prilozhenij. / E.V. Mihajlenko // Matematicheskie metody i informacionno-tehnicheskie sredstva [Jelektronnyj resurs]: materialy XVIII Mezhdunar. nauch.-prakt. konf. (17 ijunja 2022 g.) - Jelektron. dan. -Krasnodar: Krasnodarskij universitet MVD Rossii, 2022. - 1 jelektron. opt. disk. S. 109 -116

6. Mihajlenko, E.V. O razrabotke kompleksa programm dlja avtomatizirovannoj generacii i proverki zadanij prakticheskoj raboty «Operacii nad mnogochlenami» / E.V. Mihajlenko // Problemy informacionnogo obespechenija dejatel'nosti pravoohranitel'nyh organov: sbornik statej IX Vserossijskoj nauchno-prakticheskoj konferencii. - Belgorod: Belgorodskij juridicheskij institut Ministerstva vnutrennih del Rossijskoj Federacii im. I.D. Putilina. S. 122 - 130.

7. Mihajlenko, E.V. Ob#ektno-orientirovannoe programmirovanie: uchebno-prakticheskoe posobie / E.V. Mihajlenko, V.A. Epifanceva. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2021. -109 S.

8. Mihajlenko, E.V. Osobennosti razrabotki komp'juternyh prilozhenij dlja generacii i verifikacii prakticheskih zadanij, vkljuchajushhih obrabotku matric / E.V. Mihajlenko // Problemy informacionnogo obespechenija dejatel'nosti pravoohranitel'nyh organov: sbornik statej 7-j Vserossijskoj nauchno-prakticheskoj konferencii. - Belgorod: Belgorodskij juridicheskij institut MVD Rossii imeni I.D. Putilina, 2020. - S. 3 - 20.

9. Mihajlenko, E.V. Principy avtomatizacii podbora i proverki prakticheskih zadanij, vkljuchajushhih obrabotku polinomov / E.V. Mihajlenko // Matematicheskie metody i informacionno-tehnicheskie sredstva: materialy XVI Vseros. nauch.-prakt. konf. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2020. C. 65 - 70.

10. Mihajlenko, E.V. Tehnologii programmirovanija: ucheb. posobie / E.V. Mihajlenko, A.K. Nazarov - Krasnodar: Krasnodarskij universitet MVD Rossii, 2019. 510 s.

II. Starostenko I. N. Prikladnaja matematika: uchebnik / I. N. Starostenko, E. V. Mihajlenko, A. A. Hromyh. - Krasnodar: Krasnodarskij universitet MVD Rossii, 2023. - 346 s.

12. Starostenko, I.N. K voprosu ob ispol'zovanii informacionnyh tehnologij pri organizacii samostojatel'noj raboty obuchajushhihsja / I.N. Starostenko, E.V. Mihajlenko // Problemy sovremennogo pedagogicheskogo obrazovanija. - Jalta: RIO GPA, 2019. № 65-1. S. 257 - 262.

i Надоели баннеры? Вы всегда можете отключить рекламу.