nlothik (nlothik) wrote,
nlothik
nlothik

Categories:

Обратная польская запись

Вот интересно, почему в школах не учат ОПЗ? Я про неё узнал только в университете. И вообще, почему она не применяется шире? Ведь она крайне удобная. В первую очередь тем, что исключает неверное прочтение и неправильный порядок действий.

Для тех, кто не знает, что это такое -- арифметическое выражение записывается как "число число действие". Так, "два помножить на три" (т.н. инфиксная нотация) записывается как 2 3 *.

Или вот например, более сложное выражение 5 - 4 * 2. Ученику надо долго вдалбливать, что сначала надо сделать умножение, и только потом вычитать, чтобы у него вместо 2 получились правильные -3.

А вот то же самое в обратной польской записи:

5 4 2 * -

Неверное прочтение исключено.

А насколько проще жить без этих дурацких скобок, которые не делают ровным счётом НИЧЕГО полезного, кроме показывания, какое действие надо выполнить первым?

Вот обычный инфикс: 2 * (3 - 8)
ОПЗ: 2 3 8 - *

Никаких скобок, и порядок действий кристально ясен.

Кажется неудобным? Только по первости. Внутренне мы тоже "парсим" обычное выражение на составные части и считаем их поочерёдно в зависимости от приоритета действия, а потом соединяем части выражения. Точно так же считают компьютеры. Даже те языки, которые напрямую не используют стек для арифметики -- в конечном счёте ведь на ассемблере сначала подготавливаются переменные (записью в регистры), и только потом производится действие.

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

Даёшь пана Лукасевича (он её придумал) в массы!!
Tags: компьютерное, математика, программирование
Subscribe

  • Mo’ money, mo’ problems

    Потихоньку привыкаю к новым обязанностям. Самое сложное пока — найм новых сотрудников. Приходят граждане, требуют зарплату под шесть цифирь,…

  • Пастор Пиписькин

    Предыдущий жилец пастор периодически передаёт приветы. Ну, я уже показывал обнаруженный мной склад пустых бутылок из-под дешёвого бухла. А вчера я…

  • Из пушки по воробьям

    Типичная задача: Есть список клиентов в файле csv, два столбца: имя клиента и его уникальный идентификатор Есть список проектов в файле csv, три…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 24 comments

  • Mo’ money, mo’ problems

    Потихоньку привыкаю к новым обязанностям. Самое сложное пока — найм новых сотрудников. Приходят граждане, требуют зарплату под шесть цифирь,…

  • Пастор Пиписькин

    Предыдущий жилец пастор периодически передаёт приветы. Ну, я уже показывал обнаруженный мной склад пустых бутылок из-под дешёвого бухла. А вчера я…

  • Из пушки по воробьям

    Типичная задача: Есть список клиентов в файле csv, два столбца: имя клиента и его уникальный идентификатор Есть список проектов в файле csv, три…