Pagini recente » Cod sursa (job #653735) | Cod sursa (job #269060) | Cod sursa (job #1432967) | Cod sursa (job #1846071) | Cod sursa (job #174343)
Cod sursa(job #174343)
program evaluare;
var f,g:text;
c:char;
function termen:longint; forward;
function factor:longint; forward;
function eval:longint;
var r:longint;
begin
r:=termen;
if (c='+')or(c='-') then
if c='+' then begin
read(f,c);
r:=r+termen;
end
else begin
read(f,c);
r:=r-termen;
end;
eval:=r;
end;
function termen:longint;
var r:longint;
begin
r:=factor;
if (c='*') or (c='/') then
if c='*' then begin
read(f,c);
r:=r*factor;
end
else begin
read(f,c);
r:=r div factor;
end;
termen:=r;
end;
function factor:longint;
var r:longint;
begin
r:=0;
if (c='(') then begin
read(f,c);
r:=eval;
read(f,c);
end
else while (c>='0') and(c<='9') do
begin
r:=r*10+ord(c)-ord('0');
read(f,c);
end;
factor:=r;
end;
begin
assign(f,'evaluare.in'); reset(f);
assign(g,'evaluare.out'); rewrite(g);
read(f,c);
writeln(g,eval);
close(g);
close(f);
end.