NewList stroka.s()
a$="4-5*6-7+8+9-4000*8-494+999+564-345*7*8*9+568/2"
old_marker=1
marker=old_marker
Repeat
s$=Mid(a$,marker,1)
If s$="+" Or s$="-" Or s$="*" Or s$="/"
AddElement(stroka())
stroka()=Mid(a$,old_marker,marker-old_marker)
AddElement(stroka())
stroka()=s$
old_marker=marker+1
EndIf
marker+1
If marker>Len(a$)
AddElement(stroka())
stroka()=Mid(a$,old_marker,marker-old_marker)
Break
EndIf
ForEver
rez=0
ForEach stroka()
If stroka()="*"
DeleteElement(stroka())
rez=Val(stroka())
NextElement(stroka())
rez*Val(stroka())
DeleteElement(stroka())
stroka()=Str(rez)
EndIf
If stroka()="/"
DeleteElement(stroka())
rez=Val(stroka())
NextElement(stroka())
rez/Val(stroka())
DeleteElement(stroka())
stroka()=Str(rez)
EndIf
Next
ForEach stroka()
If stroka()="+"
DeleteElement(stroka())
rez=Val(stroka())
NextElement(stroka())
rez+Val(stroka())
DeleteElement(stroka())
stroka()=Str(rez)
EndIf
If stroka()="-"
DeleteElement(stroka())
rez=Val(stroka())
NextElement(stroka())
rez-Val(stroka())
DeleteElement(stroka())
stroka()=Str(rez)
EndIf
Next
Debug stroka()
Debug 4-5*6-7+8+9-4000*8-494+999+564-345*7*8*9+568/2
можно ли его еще усовершенствовать?