УДК 378.016
МЕТОДОЛОГИЯ ПРЕПОДАВАНИЯ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ В ТЕХНИЧЕСКОМ ВУЗЕ НА БАЗЕ РЕШЕНИЯ ЗАДАЧ МАШИНОСТРОЕНИЯ Тюльпинова Нина Владимировна, к.т.н., доцент (e-mail: ninatulpinova@mail.ru) Бойцов Артём Алексеевич, студент (e-mail: artyom.bojczov.2002@mail.ru)
Брянский государственный технический университет, г.Брянск, Россия
Предложена методология преподавания визуального программирования в прикладном инженерном контексте. Представлена серия задач машиностроительной направленности, на базе которой должен быть организован учебный процесс. Порядок предъявления задач обеспечивает последовательное и практико-ориентированное изучение обучающимися компонентов пользовательского интерфейса одновременно с формированием у них навыков событийного программирования.
Ключевые слова: визуальное программирование, событийное программирование, пользовательский интерфейс, инженерные приложения.
Введение
Среда визуального программирования даёт возможность обучающимся не только создавать программный код, но и наглядно (визуально) показывать системе, как должен выглядеть пользовательский экран. Технология визуального программирования позволяет проектировать интерфейс будущей программы из специальных компонентов, реализующих нужные свойства. Количество таких компонентов в интегрированных средах программирования достаточно велико, поэтому требуется их последовательное и системное изучение в курсе программирования. Кроме того, в процессе визуального программирования обучающиеся должны научиться событийному программированию - достаточно сложному в освоении, поскольку событийные программы не имеют алгоритма в традиционном смысле (к которому обучающиеся привыкают при изучении базовых алгоритмических структур) из-за того, что связь между отдельными частями программы не задана жестко, а зависит от последовательности наступления тех или иных событий. Другими словами, обучающиеся должны научиться определять множество событий для программируемой задачи и писать соответствующие обработчики событий. При этом учебный процесс должен базироваться на разработке не абстрактных (порой не имеющих никакого отношения к инженерной деятельности), а промышленных приложений. В этой связи целью настоящей работы является разработка серии задач прикладного характера, направленных на разработку машиностроительных приложений, позволяющих обучающимся последовательно осво-
ить программирование базовых элементов пользовательского интерфейса и научиться событийному программированию.
Методика исследований
Исследовательскую базу настоящей работы составляет изучение и анализ современных учебников и учебных пособий по визуальному и событийному программированию; экспериментальное преподавание; наблюдение за ходом учебного процесса и деятельностью студентов.
Обзор литературы по исследуемой тематике [1-5] показывает, что содержание подавляющего большинства учебников практически не включает описание разработки приложений для решения задач машиностроения. Как правило, в этих учебниках приводится описание разработки простейших интерфейсов для элементарных программистских задач без привязки к реальной инженерной практике.
Результаты и их обсуждение
Ниже приведена серия из 4 задач машиностроительной направленности для разработки приложений в среде визуального программирования IDE Lazarus, языком программирования которой является язык Паскаль. На базе настоящей серии реализуется последовательное изучение обучающимися визуального событийного программирования компонентов пользовательского интерфейса во взаимосвязи с тематикой вопросов профессиональной инженерной деятельности.
Задача №1 (рис. 1) с точки зрения программирования представляет собой программирование формулы с преобразованием строки в число и числа в строку при вводе и выводе соответственно, а с точки зрения пользовательского интерфейса включает следующие элементы IDE Lazarus: 7 компонентов Label, 7 компонентов Edit, 1 компонент StaticText, 3 компонента Button, 2 компонента GroupBox. При разработке данного приложения обучающиеся должны предусмотреть: 1) контроль заполнения всех полей (недопустимость незаполненных полей при расчете); 2) контроль диапазонов вводимых чисел (указаны в формулировке задачи); 3) контроль вводимых символов (запрет ввода любых символов, кроме цифр и единственной десятичной точки).
Задача №2 (рис. 2) предполагает предварительную подготовку моделей деталей с различными текстурами материалов в CAD-системе с последующим экспортом в формат рисунков - всего 25 рисунков (для каждой детали по 5 различных текстур). С точки зрения программирования данная задача предполагает согласованную обработку двух списков: списка файлов рисунков и списка текстур материалов, а с точки зрения пользовательского интерфейса к ранее изученным компонентам IDE Lazarus добавляются следующие: 1 компонент Image, 2 компонента ListBox, 1 компонент ComboBox, 5 компонентов RadioButton.
ЗАДАЧА №1
В интегрированной среде программирования IDE Lazarus необходимо
разработать приложение для расчёта шероховатости поверхности Ra
при точении сред неуглерод истой стали резцом TI5K6.
(0.31 £0.5^0.4^0.4 м км,
где/ - глубина резания, мм; г G [0.5;1.5 J
5 - подача, мм/об; S ё [0.08:0.18]
<р — главный угол в плане, град.; <Р е [45.0;75.0]
щ - вспомогательный угол в плане, град,; Vi е [25,0;35.0]
V — скорость резания, м/мин; V € [60.0; 140.0]
г - радиус при вершине резца, мм; г е [0.5;2.0]
НВ — твёрдость по Бринеллю. HB G [140.0;210.0]
Шероховатость поверхности Ra
Режимы резания Глубина резания ^ мм
Подача Э. мм/об Скорость резания V. м/мин
1.2
0.12
80
Твердость по Бринеллю. HB 180
Геометрические параметры резца Главный угол в план fi. град Вспомогательный угол в плане fil, град Радиус при вершине резца г. мм
РАСЧЕТ
ОЧИСТКА
60
30
0.8
ВЫХОД
ОТВЕТ: ШЕРОХОВАТОСТЬ ПОВЕРХНОСТИ Ra=3,622520
Рис. J .Интерфейс пользователя и фор мул иро в ка_задачи №1
ЗАДАЧА №2
В интегрированной среде программирования IDE Lazarus необходимо разработать приложение «Каталог деталей редуктора», включающее 5 деталей. Предусмотреть возможность отображения каждой детали с 5 различными текстурами материалов. Организовать выбор материала деталей из списка.
Детали
- Корпус редуктора
Колесо зубчатое ведомое
Корпус подшипника
Фланец вала ведомого
Корпус вала-шестерни
Материал 2 ■ Стала лт
Материал 1 - Стали
ТСФРИРОМНН
материал 3 - стал* полкрраанча» Материал 4 ■ Сталь ржавая Материал - Стал, рифленая
Детали Корпус редуктора
• Колесо зубчатое ведомое
Корпус подшипника
Фланец вала ведомого
Корпус вала-шестерни
Задача №3 (рис. 3) с точки зрения программирования представляет собой чтение из файла одномерного массива и формирование на его основе трех одномерных массивов (согласно формулировке задачи) с последующим выводом их на экран в виде одномерных таблиц и пузырьковой диаграммы, а с точки зрения пользовательского интерфейса к ранее изученным компонентам IDE Lazarus добавляются следующие: 4 компонента StringGrid, 1 компонент Chart c отображением ChartBubbleSeries и ChartLineSeries.
СЧИТАТЬ ИЗ ФАЙЛА
Верхнее отклонение О ООО
Результаты измерений Номинал 60.000
№ Диаметр
1 60,041
2 59,832
3 59,994
4 60,053
5 60,004
6 60,008
7 59,911
8 59,884
9 59.976
10 60.021
11 60,007
12 59,921
13 59,978
■
РАССОРТИРОВАТЬ ДЕТАЛИ
СБРОС
Нижнее отклонение -0.090 ГОДНЫЕ ДЕТАЛИ
ВЫХОД
ИСПРАВИМЫЙ БРАК
НЕИСПРАВИМЫЙ БРАК
№ Диаметр
3 59,994
7 59,911
9 59,976
12 59,921
13 59,978
14 59,977
15 59.919
16 59.927
17 59.930
18 59,939
ИТОГО: 21 шт.
10
23
25
29
33
Диаметр
60.041
60.053
60,004
60.008
60,021
60,007
60.013 60,049
60,028
60,063
26
31
32
37
38
39
Диаметр
59,832
59,884
59,885
59,878
59,893
59.909
59.882
59,908
ИТОГО: 11 шт.
ИТОГО: 8 шт.
-IQI-
.1......!.......i»Ui
10!
Т
I i I I i I !
Q.:~ I _J_
1—*т
-j.......I
.QSl.iQ
о
о
op
о a
oo°o
о
oo
d
О
о
О
rrti
I n ГОДНЫЕ ДЕТАЛИ | | ИСПРАВИМЫЙ БРАК
I НЕИСПРАВИМЫМ БРАК
ЗАДАЧА №3
В интегрированной среде программирования IDE Lazarus необходимо разработать приложение, которое на основе результатов измерения партии деталей рассортирует эти детали на три группы: I) годные детали; 2) исправимый брак; 3) неисправимый брак. Приложение должно выводить результат в табличной и графической форме.
контролируемый диаметр вала ФбО.цт
Результаты измерений партии деталей
Dil 60 041 Hill eo 007 »21 59 938 »31 59 678
»2 59 в 32 »12 59 921 №22 59 943 №32 59 093
№3 59 994 »13 59 91S №23 60 013 №33 60 063
»4 60 053 »14 59 977 №2 4 59 964 №34 59 988
»5 60 004 »15 59 919 »2 5 60 049 №35 59 955
H<G 60 OOS »16 59 927 »2 6 59 665 »36 59 917
»7 59 911 »17 59 930 »>27 59 959 №37 59 909
»'S 59 894 »IS 59 939 59 974 №3в 59 632
59 976 »19 59 934 №29 60 028 №39 59 908
»10 60 021 »20 59 966 №30 59 983 »40 60 005
Задача №4 (рис. 4) точки зрения программирования представляет собой реализацию алгоритмов статистической обработки информации с выводом результата в виде двумерной таблицы и гистограммы, а с точки зрения пользовательского интерфейса к ранее изученным компонентам IDE Lazarus добавляется 1 компонент Chart c отображением ChartBarSeries.
ЗАДАЧА №4
В интегрированной среде программирования IDE Lazarus необходимо разработать приложение, которое на основе результатов измерения партии деталей построит гистограмму и полигон частот размеров. Приложение должно выводить результат в табличной и графической форме.
Результаты измерений партии деталей
mi 53.46505855206731 №21 59 , 153406749496014
№2 59 66255412989851 N>22 59 62590108903393
¡из 5S 72964876057047 №23 59 403890864791734
м 59 827216003554035 №24 59 57151376221972
№5 59 70269063025332 №25 58 67434873075348
59 02933819967612 №26 59 97539543072102
№7 60.09441363820005 №27 59,74127794049256
№3 59 26909623489603 №28 59 7674734929892
59.90815502922174 №2 9 59,801207318393
№10 59 77195782506034 №30 59 30159462357207
№11 59 78307707892663 №31 60 20799848749671
59.5336312884 98576 №32 59 .47835692494852
№13 58 82858607021232 №33 59 562320555952475
№14 59.597173871015976 №34 59,87840775932813
№15 59 28078873464172 №35 59 634878034155435
№16 59 07122709323783 №36 59 333672296344744
»17 60 3325025859273 №37 60 314395175475354
№18 59 08716614229721 №38 59 96815361382143
№19 59 845298690426 №39 59 36777729564925
№20 59 211580529796805 №4 0 59 728161135342916
Заключение
Практическое внедрение представленной серии задач в учебный процесс технического вуза позволяет обучающимся овладеть комплексом знаний, умений и навыков в области визуального программирования в прикладном инженерном контексте.
Список литературы
1. Алексеев, Е.Р. Free Pascal и Lazarus: учебник по программированию / Е.Р. Алексеев, О.В. Чеснокова, Т.В. Кучер. - Саратов: Профобразование, 2019. - 438 с.
2. Ачкасов, В.Ю. Программирование на Lazarus: учебное пособие / В.Ю. Ачкасов. -Москва: Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2021. - 518 с.
3. Гуриков, С.Р. Программирование в среде Lazarus: учебное пособие / С.Р. Гуриков. - Москва: Форум, 2023. - 336 с.
4. Маслобоев, А.Н. Языки и методы программирования. Основы программирования в среде Lazarus: учебное пособие / А.Н. Маслобоев. - Санкт-Петербург: Санкт-Петербургский государственный университет промышленных технологий и дизайна, 2020. - 89 с.
5. Сорокин, А.А. Объектно-ориентированное программирование. LAZARUS (Free Pascal): лабораторный практикум / А.А. Сорокин. - Ставрополь: Северо-Кавказский федеральный университет, 2014. - 216 с.
Tyulpinova Nina Vladimirovna, Cand.Tech.Sci., associate professor
Bryansk State Technical University, Bryansk, Russia
(e-mail: ninatulpinova@mail.ru)
Boytsov Artem Alekseevich, student
(e-mail: artyom.bojczov.2002@mail.ru)
Bryansk State Technical University, Bryansk, Russia
THE METHODOLOGY OF TEACHING VISUAL PROGRAMMING IN A TECHNICAL UNIVERSITY ON THE BASIS OF SOLVING PROBLEMS OF MECHANICAL ENGINEERING
Abstract. The methodology for teaching visual programming in an applied engineering context is proposed. A series of machine-building tasks is presented, on the basis of which the educational process should be organized. The order of presentation of tasks provides a consistent and practice-oriented study of the components of the user interface by students simultaneously with the formation of their event programming skills.
Keywords: visual programming, event programming, user interface, engineering applications.