|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.09.2009, 19:27 | #11 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Ну будет у нас такое выражение:
1 + sqr_sum(4*2,6-3)+5 В записи этой польской, если я не ошибаюсь, будет так: 1 4 2 * 6 3 - 2 sqr_sum + 5 + Читаем это сначала и считаем: 1 4 2 * // Умножаем 4 на 2 1 8 6 3 * // Находим разность 6 и 3 1 8 3 2 sqr_sum // Считаем функцию, она пусть 2 вернёт, ибо тут оно не важно 1 2 + // складываем 3 5 + // снова складываем 8 Вроде бы всё правильно. |
30.09.2009, 19:33 | #12 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
||
02.10.2009, 10:16 | #13 | |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
Цитата:
Вот что получилось: ссылка надо бы ещё не верные выражения браковать, однако пока проверять буду, что уже есть. //В принципе там одна ошибка сразу видна //пробел после скобки. //Просто хотел показать к какому виду пока пришёл.
Don't worry be happy
Последний раз редактировалось Izhic; 02.10.2009 в 10:27. |
|
02.10.2009, 17:45 | #14 | |||||
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
Цитата:
так что когда уже построено выражение ОПН мы не обязаны проверять его на правильность. Цитата:
Код:
в выражении x=1+Abc(1+7*2,2.3); получаем x 1 2.3 1 7 2 * + Abc2 + = решаем:
Цитата:
Цитата:
Цитата:
а синус вызван будет тогда когда и потребуется: х+sin(x+y)*2 = x x y + sin 2 * +(RPN) |
|||||
02.10.2009, 18:03 | #15 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ты пробовал когда-нибудь написать парсер ? С учетом вызовов функций и переменных?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
02.10.2009, 18:18 | #16 | |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
Цитата:
http://programmersforum.ru/showthread.php?t=34927 |
|
02.10.2009, 18:44 | #17 | |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
Цитата:
Abc(x,x) это вообще не Abc а чтото типа указателя [35475453] Abc(x) это также указатель сов-но на другую функцию[1233]. Нам же лично это просто для наглядности человеческой. А если машине делать, то там всё будет различные указатели и ни каких тебе аля-алиасовых проблем. Роман Райдер спасибо. Натолкнули на мысль про указатели А то из-за одинаковых имен Нотация не укладывалась в голове. Вопрос думаю можно считать закрытым.
Don't worry be happy
Последний раз редактировалось Izhic; 02.10.2009 в 18:49. |
|
02.10.2009, 23:43 | #18 | |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
Цитата:
и вызывались уже не по именам а по номерам. у вас некими адресами. а у какого-то васи пупкина будут отличатся хешом md5 отсортированых в алфавитном порядке) это я к тому что важно понять суть, а реализация, хоть я и не преуменьшаю важность этой части, это уже дело техники Последний раз редактировалось Роман Радер; 02.10.2009 в 23:47. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обратная польская нотация | Sexy Fox | Помощь студентам | 9 | 22.09.2011 14:57 |
Польская запись | azl-8 | Помощь студентам | 0 | 06.05.2009 20:19 |
Обратная польская запись | Катуха | Помощь студентам | 6 | 27.12.2008 10:23 |
Обратная польская запись | Роман Радер | Общие вопросы Delphi | 0 | 09.12.2008 18:18 |
Обратная польская нотация | Sexy Fox | Помощь студентам | 2 | 22.06.2007 13:27 |