Оптимальні програми обчислення виразів, Детальна інформація

Оптимальні програми обчислення виразів
Тип документу: Курсова
Сторінок: 28
Предмет: Математика
Автор: Орос Володимир
Розмір: 46.4
Скачувань: 1276
'e' : Priority:=0;

'(' : Priority:=0;

')' : Priority:=0;

'-' : Priority:=1;

'+' : Priority:=1;

'*' : Priority:=2;

'/' : Priority:=2;

'^' : Priority:=3;

End;

End;

Function ITP(Ex:String):String;

Var i,j:Integer;

Rez:String;

Begin

Rez:='';

Stek[1]:='e'; j:=1;

For i:=1 To Length(Ex) Do

Begin

If Ex[i] in ['A'..'Z','a'..'z'] Then Rez:=Rez+Ex[i];

If Ex[i]='(' Then Begin j:=j+1; Stek[j]:='('; End;

If Ex[i]=')' Then

Begin

While Stek[j]<>'(' Do Begin Rez:=Rez+Stek[j]; Dec(j); End;

Dec(j);

End;

If Ex[i] in ['+','-','*','/','^'] Then

Begin

While Priority(Ex[i])<=Priority(Stek[j]) Do

Begin Rez:=Rez+Stek[j]; Dec(j); End;

Inc(j); Stek[j]:=Ex[i];

The online video editor trusted by teams to make professional video in minutes