Парсер арифметичних виразів для вивчення основ паралельних обчислень

Анотація

(ua) Нові покоління мов програмування потребують внесення в методику навчання нових ідей та понять, без знання яких студент не зможе проявити на практиці стійких навичок написання реальних комп’ютерних програм. Методика навчання дисциплін, пов’язаних з програмуванням, вимагає ретельного опрацювання дидактичного матеріалу, представлення його у різноманітних формах для кращого усвідомлення та засвоєння студентами. Особливо це стосується методики навчання паралельних обчислень. Якісне засвоєння пов’язаних з ним понять, технологічних та алгоритмічних підходів можна забезпечити, якщо на перших етапах використовувати наочні моделі паралельних процесів. Прикладом такої моделі може бути схема обчислення арифметичного виразу, який містить арифметичні оператори та дужки. Оскільки окремі дії, відповідно до пріоритетів арифметичних операцій, можна виконувати одночасно, то розпаралелювання такого виразу є, з одного боку, задачею досить простою для початкового ознайомлення з паралельними обчисленнями, а з іншого, дозволяє виділити окремі підзадачі, встановити зв’язки між ними, визначити характеристики потенційного паралельного алгоритму, дослідити залежність між кількістю наявних обчислювачів (процесорів) та часом виконання алгоритму тощо. У статті описано програмний засіб TreeBuilder, розроблений в рамках дослідження, для візуалізації дерева формули, побудованої за введеним арифметичним виразом, та обчислення характеристик алгоритму обчислень. Засіб TreeBuilder може бути корисним для формування «паралельного мислення» у студентів молодших курсів та старшокласників. Для побудови дерева формули та обчислення характеристик алгоритму обчислень в рамках дослідження було розроблено алгоритм парсингу арифметичних виразів та здійснено його програмну реалізацію мовою С#. (en) New generations of programming languages need to introduce new ideas and concepts to teaching, without which the student will not be able to show in practice stable skills to write real computer programs. The methodology of teaching programming disciplines requires careful processing of didactic material, presenting it in various forms for better awareness and learning of students. This is especially true of the methods of teaching parallel computing. Qualitative learning, related concepts, technological and algorithmic approaches, can be ensured by using visual models of parallel processes in the first stages. An example of such a model is the scheme of calculating the arithmetic expression that contains arithmetic operators and brackets. Since separate actions, in accordance with the priorities of arithmetic operations, can be computed at the same time, the parallelization of such an expression is, on the one hand, the task is quite simple to familiarize with parallel calculations, and, on the other hand, allows you to identify separate tasks, determine the characteristics of a potential parallel algorithm, investigate the relation between the number of computers (processors) and the time of execution of the algorithm, etc. The article describes the TreeBuilder software designed to visualize the formula tree, built by the entered arithmetic expression, and to calculate the characteristics of the computing algorithm. The Treebuilder can be used for the formation of “parallel thinking” in students and high school pupils. To build a formula tree and to calculate the characteristics of the algorithm of computing within the investigation an algorithm of parsing arithmetic expressions was developed and its software implementation was made in the C#.

Опис

Лупан І. В. Парсер арифметичних виразів для вивчення основ паралельних обчислень / Ірина Володимирівна Лупан, Сергій Володимирович Гацелюк // Наукові записки ЦДУ ім. Володимира Винниченка. Серія : Проблеми природничо-математичної, технологічної та професійної освіти : зб. наук. праць / ред. кол. : Сальник І. В. [та ін.]. – Кропивницький : Видавничий дім «Гельветика», 2023. – Вип. 2. – С. 32-38. DOI https://doi.org/10.32782/cusu-pmtp-2023-2-5

Ключові слова

арифметичний вираз, парсер, паралельний алгоритм, навчання паралельного програмування, arithmetic expression, parser, parallel algorithm, training in parallel programming

Бібліографічний опис

Endorsement

Review

Supplemented By

Referenced By