Pull to refresh

Comments 73

UFO just landed and posted this here
по моему горчица должна была быть на столе а не на соскиске: Р
UFO just landed and posted this here
не боги горшки обжигали =)
UFO just landed and posted this here
ну вот понимаете же о чем я )))
Боги обжигания горшков на вас обижаются. ©
А почему именно постфиксная запись? Чем префиксная хуже? ИМХО она более логична и проста для восприятия.
Потому что на момент получения оператора, операнды уже в стеке. :)
* Хотя насчёт «интуитивной понятности» не могу не согласится)
Ну да, насчёт стека не спорю :) Спасибо за топик, вспомнил хоть, что в унивеситете учил.
Этот алгоритм вроде как преподают в любой нормальном вузе для программистов.
Не все на хабре закончили ВУЗ по специальности программист, но это не значит что им не будет интересно.
Знать сабж по имени и не обязательно — не все же учились на программиста и зубрили названия алгоритмов — но реализовать его на практике сможет любой программист, когда приспичит распарсить строковые выражения.

Хотя я бы предпочёл префиксную запись и рекурсию по дереву, если бы писал калькулятор — интуитивно понятнее, как отметили выше — но я не привык вручную работать со стеком и экономить память, ассемблера лет десять не видел :)
Большинство программистов бинарное дерево реализовать не может…
Значит им повезло с работой, если они могут обходиться без этих знаний :) — мне приходится так или иначе делать эти деревья практически в каждом проекте и по многу раз — вот и сейчас я занимаюсь ни чем иным, как расширяю древнее приложение, прикручиваю возможность неким сущностям в приложении иметь дочерние сущности, и пытаюсь это всё красиво отобразить в рамках старого интерфейса.

Поступить на программера, что-ли… пусть меня научат всему тому, чем я занимаюсь последние годы…
UFO just landed and posted this here
Часть из них даже не знает что это такое :(
Ну начните тогда с объяснения сортировки пузырьком — всё-таки это более «плавное» погружение в среду, чем польская запись.
по моему инеженерам не программистам тоже =)
Не факт — Киевский политехнический институт, физтех — алгоритма не было. Я-то его еще в лицее писала, но это другая история.
У нас его давали на первом курсе, калькулятор был курсовой.
Я лично в школе разбирался с обратной записью. Замечу, что не в столице, не в областном центре и даже не в районном, а В ОБЫЧНОЙ СОВЕТСКОЙ ШКОЛЕ!!! На уроках информатики (или математики?) нас учили работать с программируемыми калькуляторами, типа этого:

У меня такой дома был. Ох как красиво он упал со шкафа.
Мне маленькому, для него лампу не продали в магазине.
Я был безумно обижен на продавца. Так хотел порадовать папу, что я тоже умею паять.
нам в школе давали. в 10ом.
вообщем-то не программистам тоже
не только в вузе, но и в колледже. правда там его, алгоритм, называли венгерской нотацией.
UFO just landed and posted this here
Да ну. Венгерская нотация — это совсем другая штука, соглашение об именовании переменных :) Особенно люто применяется в Microsoft (там, собственно, и зародилась)
Три года использую и только сейчас узнал что это «Венгерская нотация» :)
не, люди, я серьёзно. =) я действительно проходил этот алгоритм в колледже. и там его действительно называли венгерской нотацией.
Зачем исходные коды, если Вы рассказываете об алгоритме?
По опыту знаю, что многим будет просто лень реализовывать алгоритм самим.
UFO just landed and posted this here
Ну… Можно и так сказать. Хотя это не самоцель)
Вы издеваетесь? следующими будут алгоритмы сортировки?
Вы будете удивлены, но я сам недавно столкнулся с программистом, который не знал сабжа. Причём довольно-таки неплохим специалистом. У всех бывают пробелы в образовании… =)
вообще странно это все
у нас например все начинали писать свои калькуляторы именно с конвертера инфикстной записи в постфиксную
ну нереально же всё держать в голове, особенно те знания, которыми долгое время (годами) не пользуешься… сам польскую запись уже забыл. спасибо, мать ученья :)
Ну таким программистам надо не популярные статейки на Хабре читать, а проштудировать хотя бы пару университетских учебников по алгоритмам. Дело нехитрое.
После беглого просмотра Седжвика «Фундаметальные алгоритмы на С», раздел «Сортировка», глава «Быстрая сортировка», где представлены 7 (или 11, точно не помню) вариантов QuickSort, я бы не говорил о сортировке столь пренебрежительно.
А ещё есть Кнут, который этому целый том посвятил…
Кнут — да. Но QuickSort у Седжвика разобран подробнее, с различными оптимизациями и хитростями.
На этом калькуляторе считалось тоже обратной записью.
(2+2)*3 вводить как 3 В 2 В 2 + x

Это мой первый ПК :-)
Памяти в них было мало и ОПЗ позволяла экономить драгоценные байты. Эх, было время, когда боролись за отдельные ячейки памяти :-)
А у меня такого не было и мне приходилось у знакомого правдами и неправдами выманивать (приходить к нему домой, выпрашивать на денек-другой), чтобы немного «покодить» :)
Я первое время ходил в Дворец Пионеров на кружок программируемых калькуляторов :-)
Что ж вы делаете?

Прямо слезы на глаза от его вида наворачиваются… Помню я с ним в крестики-нолики играл…
Одних «лунолётных» программ с десяток было (с мощным для тех времён «бэкстори»), а ещё и стратегии, и экономические симуляторы и много чего ещё :)
А я на нем в авиасим играл. FSX и X-Plane нервно курят в сторонке. :)
Лучше «2 В 2 + B 3 x». Тут ведь стек всего-то на 4 элемента. В этом примере — не вылезет, а вообще — грабли :)
ех, помню лабы по трансляторам. Вроде именно перевод с польскую инверсную запись был самым большим гемороем…
Как я намучался с этим, когда писал скрипты для nncron…
Всегда завидовал тем, кто успел придумать \ изобрести \ запатентовать нечто крайне простое, вроде этой записи )
Ностальгия… Сам использовал ОПЗ при написании дипломной работы на тему «Пакет программ по численным методам». Вводилась формула в строковом виде, преобразовывалась в ОПЗ, ну и далее интегрировалась, дифференцировалась, решались дифуры.
UFO just landed and posted this here
Почему-то вспомнил lisp и его префиксную запись операторов.
Лисп не из той оперы. В Лиспе есть скобки, а RPN как раз позволяет от скобок избавиться.
Форма с оператором между операндами называется инфиксной записью. Форма с оператором после операндов называется постфиксной, или обратной польской записью в честь польского логика Я. Лукасевича (1958), который изучал свойства этой записи.

Не совсем верно. Лукасевич изобрел польскую нотацию (префиксную). На ее основе более чем через 30 лет была разработана обратная польская запись (постфиксная).
Судя по такому восторженному рассказу про RPN, вам наверняка должен понравиться язык Форт.
Хороший язык, красивый, помню даже сам для него «транслятор» (насколько это слово к нему применимо) «портировал» (лет через 10 только узнал, как это называется) с 8086 на 8080, жаль на практике у него применение очень ограниченно :(
У любого языка область применимости очень ограничена. Но знакомство с Фортом пллезно каждому, мозги неплохо прочищает.
Планировщик задач для windows nnCron вроде как даже написан на Форте, и при этом скрипты для него синтаксис форта активно используют.
А мозги прочищает реально здорово.
Это, по-моему, единственный пример его широкого практического использования :(

Насчёт мозгов не скажу, это был мой третий язык после BASIC*MICRON* и ASSM*MICRON*, особенно заср… хм, запачкаться :) не успели
> В таблице показана зависимость ситуации…

Я внимательно прочитал статью. И никак не могу понять, как составлена эта таблица? Вы приводите её как данность, но хотелось бы понимания, откуда она взялась.
возьметесь написать преобразователь в ОПЗ не числового выражения, а строкового? ;-)

Элементами выступают не числа с операторами, а слова.
А что в таблице «зависимости ситуации от того, какой вагон отправился в Техас последним и какой вагон находится у стрелк» значит P?
думаю, там должен быть — (минус)
Sign up to leave a comment.

Articles