Основы программирования. Файлы. Рекурсия - 36 стр.

UptoLike

Составители: 

38
Result:=Result+Term;
end;
end;
function Term: string;
begin
Result:=Factor;
while CurSym='*' do
begin
Result:='*'+Result;
MoveNext;
Result:=Result+Factor;
end;
end;
function Factor: string;
begin
if CurSym='(' then
begin
MoveNext;
Result:=Expr;
if CurSym=')' then MoveNext
else error;
end
else if CurSym in ['0'..'9'] then
begin
Result:=CurSym;
MoveNext
end
else error
end;
begin // Prefix
MoveNext;
Result:=Expr;
end;
function Calc(s: string): integer;
var i: integer;
function Calc0: integer;
var o1,o2: integer;
begin
Inc(i);
case s[i] of
'+': begin o1:=Calc0; o2:=Calc0; Result:=o1+o2; end;