Pagini recente » Cod sursa (job #2313664) | Numere Sprague-Grundy | Cod sursa (job #40947) | Cod sursa (job #228936) | Cod sursa (job #843936)
Cod sursa(job #843936)
program expresie;
var f1,f2:text;
s:array [0..100000] of char;
i:longint;
function factor:longint; forward;
function termen:longint;
var x:longint;
begin
x:=factor;
while (s[i]='*') or (s[i]='/') do
begin
if s[i]='*' then begin inc(i); x:=x*factor; end
else begin inc(i); x:=x div factor; end;
end;
termen:=x;
end;
function expresie:longint;
var x:longint;
begin
x:=termen;
while (s[i]='+') or (s[i]='-') do
begin
if s[i]='+' then begin inc(i); inc(x,termen); end
else begin inc(i); dec(x,termen); end;
end;
expresie:=x;
end;
function factor:longint;
var x:longint;
begin
x:=0;
if s[i]='(' then
begin
inc(i);
x:=expresie;
inc(i);
end
else while s[i] in ['0'..'9'] do
begin
x:=x*10+ord(s[i])-48;
inc(i);
end;
factor:=x;
end;
begin
assign(f1,'evaluare.in');
reset(f1);
assign(f2,'evaluare.out');
rewrite(f2);
readln(f1,s);
writeln(f2,expresie);
close(f1);
close(f2);
end.