Оптимальні програми обчислення виразів, Детальна інформація
Оптимальні програми обчислення виразів
'/' : MakeOperation:=p1/p2;
'^' : MakeOperation:=Exp(Ln(p1)*p2);
End;
End;
Function CalculatePostfix(Ex:String):Real;
Var i,j:Integer;
p1,p2:Real;
b:Boolean;
Begin
For i:=1 To Length(Ex) Do
Begin
b:=IsOperation(Ex[i]);
j:=IsVariable(Ex[i]);
If b Then
Begin
Pop(p1);
Pop(p2);
Push(MakeOperation(p2,p1,Ex[i]));
End
Else
Begin
Push(Tab[IsVariable(Ex[i])].v);
End;
End;
Pop(p1);
CalculatePostfix:=p1;
End;
Function Priority(c:Char):Byte;
Begin
Case c Of
'^' : MakeOperation:=Exp(Ln(p1)*p2);
End;
End;
Function CalculatePostfix(Ex:String):Real;
Var i,j:Integer;
p1,p2:Real;
b:Boolean;
Begin
For i:=1 To Length(Ex) Do
Begin
b:=IsOperation(Ex[i]);
j:=IsVariable(Ex[i]);
If b Then
Begin
Pop(p1);
Pop(p2);
Push(MakeOperation(p2,p1,Ex[i]));
End
Else
Begin
Push(Tab[IsVariable(Ex[i])].v);
End;
End;
Pop(p1);
CalculatePostfix:=p1;
End;
Function Priority(c:Char):Byte;
Begin
Case c Of
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021