Показать сообщение отдельно
  #4  
Старый 14.04.2012, 15:25
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

По поводу "write(a+b+c)" - имена переменных после компиляции не существуют, и эта запись будет бессмысленной, нужно сначала распихать нужные числа по переменным. К тому же скобки и другие знаки (кроме +) такой подход не переварит. Так что если планируется использование только +, то достаточно идти по строке и все числа сразу прибавлять к первому.
Если нужен полноценный калькулятор, то либо польская нотация, либо другие подобные методы. Кстати второй предложенный алгоритм уже близок к польской нотации, только без поддержки приоритетов (поэтому опять же не работающий со скобками и часто неверно переваривающий * и /, например в выражении 1+2*3) и с жестоким обращением с HDD.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием