Математическое выражение с произвольными функциями |
|
Обратная польская нотация (RPN) заданного выражения |
Впервые с польской нотацией мне пришлось столкнутся в 80-ые годы , когда мне попал в руки программируемый калькулятор MK-61. Отсутствие бытовых компьютеров в то время, и огромное желание написать какую либо программу было таким, что позволило освоить с помощью "научного тыка", а также журнала "Наука и Жизнь", где писались небольшие статьи на тему программирования на этом калькуляторе, освоить эту нотацию.
Обратная польская нотация - оказалась очень востребованным инструментом в информационных системах.
Самое главная польза этой нотации это то, что полученное выражение не имеет ни одной скобки. Это очень(!!) упрощает расчет произвольных математических выражений и формул с множеством вложенных скобок.
А отличительная особенность обратной польской нотации состоит в том, что сначала идут аргументы, а потом уже сама операция для этих аргументов.
В отличии от прямой польской записи, где сначала идут операнды а потом значения/аргументы.
Например в обратной польской нотации будет иметь вид
Почему именно эта называется польской ? Дело в том, что обратную польскую нотацию придумали на основе обычной польской нотации, которая была предложена в 1920 году польским математиком Яном Лукасевичем.
Этот бот, автоматически конвертирует произвольное выражение в обратную польскую нотацию.
Вы можете использовать этот бот, как для изучения или написания статей и рефератов, так и используя возможность получать ответ в формате RPN через JSON запрос на свои сервисы или сайты.
Что еще рассказать о нём. Некоторые читатели подвергли сомнению правильность предоставления в обратной польской записи, представив пример
и получаем ответ 2 0 3 - ^
На это хотелось бы возразить, тем что отрицательное число представить в обратной польской нотации невозможно в принципе, поэтому в ход идет такая уловка. Правильность этого метода подтверждается правильностью вычисления всех остальных калькуляторов на этом сайте в том числе и Универсальный калькулятор комплексных чисел онлайн
Синтаксис
infixa выражение
Выражение может быть любое(!!) математическое выражение. Здесь не важен язык, на котором пишется выражение. Вы можете написать выражение на Ruby, PHP или Паскале.
В выражении может использоваться неограниченное количество функций.
Примеры
Выражение
после преобразования становится
Выражение записанное в формате RPN выглядит так 4 5 + x * y 2 / 15 + -
Преобразуется в
Выражение записанное в формате RPN выглядит так 1 2 + 4 sin * 3 +
|