FAQ Степан Ильин aka Step Xakep, номер #069, стр. 069-146-2 A: Здравствуйте, студент. Опять задание не выполнили? Инфиксная форма записи алгебраических выражений должна быть знакома тебе со школы (если ты в нее ходил, на что я искренне надеюсь). В ее случае знак операции находится между операндами. Ну, например, «2*2+3» или «(24+18)/3». Однако такая форма далеко не идеальна, особенно когда работаешь над транслятором такого рода алгебраических выражений. «Что тут сложного?» - спросишь ты. А ты приглядись внимательнее и обдумай свой вопрос! Ведь вся последовательность зависит от скобочной структуры, поэтому хочешь ты этого или нет, ее приходится анализировать и учитывать. Более того, на одном уровне операции имеют различные приоритеты. И об этом тоже нельзя забывать! Польскому математику Ю. Лукасевичу, видимо, это очень не понравилось, поэтому он, почесав репу, начал работать над изучением другой формы записи формул – постфиксной. Знак операции здесь находится уже не между операндами, а после них. То есть «2 2 * 3 +» или «24 18 + 3 /». И… О чудо! Оказалось, что постфиксная форма с лихвой устраняет все имеющиеся сложности, т.к. выражения в ее случае не имеют скобок. Что еще немаловажно - все входящие в нее операнды выполняются в порядке их записи. Никакие приоритеты учитывать не нужно – их попросту нет. Существует довольно много алгоритмов для перевода формулы из одной формы записи в другую. Наиболее успешные из них – с применением стека или бинарных деревьев. Подробное описание и конкретные реализации на разных языках программирования ты можешь найти на http://alglib.manual.ru/expressions и www.qiksearch.com/articles/cs/infix-postfix. Q: А как можно убрать отображение flash’евой рекламы с сайтов? Ну сил моих больше нет. И на yandex.ru, и на ixbt.ru ее полно. Недавно вообще пришлось ждать 5 минут, пока загружалась нужная мне страница (на диал-апе). Какой-то умник решил украсить ее меговым роликом. Может быть, вообще снести на фиг этот flash-плеер? A: Ууу, да вариантов на самом деле уйма! И удаление flash-плеера – это, пожалуй, худший из них. Потому что всякий раз при заходе на сайт, имеющий flash-ролики, браузер тебе будет скачивать и назойливо предлагать установить этот самый несчастный плеер. Что самое неприятное, в появляющемся окошке имеется кнопка «всегда доверять Macromedia», но наличие кнопки «никогда не доверять» почему-то сочли ненужным. Меня, признаться, такое положение дел всегда убивало наповал, поэтому я всегда предпочитал другие варианты. К примеру, реализацию на уровне файрвола. Тот же Agnitum Outpost имеет специальный плагин для контроля над активным содержанием, с помощью которого можно резать все flash’ки на корню! Если этот способ чем-то тебя не устраивает, то попробуй воспользоваться специализированными прогами. Например, утилитой FlashSwitch (www.flashswitch.com). Это прога помещает в трей свою иконку, с помощью которой и отключается всякое проигрывание flash. В конце концов, можно резать флешки на уровне браузера. Всякие добавки к IE, типа MyIE, имеют так называемые фильтры. Просто скорми им строку "*.swf". |