NED365187NED

163 В данной работе рассмотрены результаты доработки программы AreaI- mage, которые обеспечили ей возможность вычисления различных величин с помощью готовых формул и формул, вводимых пользователем, при использо- вании в них значений посчитанных площадей в качестве переменных. Для этого был создан редактор формул, позволяющий выбирать готовые и создавать новые формулы для вычислений. Была реализована возможность присваивания переменной в формуле значения площади, ввода пользователем значений коэффициентов, а также создания формул с указанием переменных и коэффициентов, их сохранения и удаления. Для реализации вычисления формул были использованы алгоритмы об- ратной польской записи (обратная польская нотация, постфиксная нотация) и сортировочной станции. Обратная польская запись это – предложенная поль- ским математиком Я. Лукашевичем форма записи математических выражений, в которой операнды расположены перед знаками операций записи [3]. Запись набора операций состоит из последовательности операндов и зна- ков операций. Операнды в выражении при письменной записи разделяются пробелами. Выражение читается слева направо. Когда в выражении встречается знак операции, выполняется соответствующая операция над двумя последними встретившимися перед ним операндами в порядке их записи. Результат опера- ции заменяет в выражении последовательность её операндов и её знак, после чего выражение вычисляется дальше по тому же правилу. Результатом вычис- ления выражения становится результат последней вычисленной операции. Но обратная польская запись не удобна для восприятия человеком, так как ее отличительной особенностью является то, что все аргументы (или операнды) расположены перед знаком операции, то есть имеет постфиксную форму записи. Поэтому для создания формул и работы с ними в привычной форме реализован алгоритм сортировочной станции – алгоритм для преобразо- вания выражений из инфиксной нотации в обратную польскую. Таким образом, пользователь сможет вводить выражение в привычном для него инфиксном представлении. Алгоритм сортировочной станции [4] – способ разбора математических выражений, представленных в инфиксной нотации. Он может быть использован для получения вывода в виде обратной польской нотации или в виде абстрактного синтаксического дерева. Алгоритм был изобретен Эдсгером Дейкстрой и получил название в связи с тем, что напоминает действие железнодорожной сортировочной станции. Так же, как и вычисление значений выражений в обратной польской за- писи, алгоритм работает при помощи стека. Для преобразования в обратную польскую запись используется 2 строки (входная и выходная) и стек для хране- ния операторов, еще не добавленных в выходную очередь. При преобразовании алгоритм считывает 1 символ и производит действия, зависящие от данного символа. На рисунке 2 представлен результат построения двух сегментов на изо- бражении. Кнопки, показывающие цвет сегмента и его площадь, отображаются в окне редактора формул, как продемонстрировано на рисунке 3.

RkJQdWJsaXNoZXIy