![]() |
|
|
#4
|
|||
|
|||
|
А что тебе надо сделать?
Пусть у тебя есть некоторое математическое выражение, состоящее из цифр и знаков + и * Тогда тебе нужен некоторый класс, выглядящий примерно так: Код:
type
TOperation = class
Op1 : TOperation;
Op2 : TOperation;
OpType : Char;
constructor Create(Data : String);
destructor Destroy;
end;Здесь Op1, Op2 - операнды (слева и справа от знака), OpType - сама операция, параметр конструктора - исходная строка. Конструктор должен разобрать строку, выделит текущую операцию, запомнить ее и создать еще 2 класса Op1 и Op2, куда в конструктор передать части исходной строки. Destroy соответственно, уничтожает дерево. Ну и можно добавить процедуру вычисления, которая собственно и вычислит по дереву результат. Может немного путано, но попробуй въехать и понять. |