Cod sursa(job #211334)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 1 octombrie 2008 20:10:40
Problema Evaluarea unei expresii Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.98 kb
var f,g:text;
    x:char;

function nr:longint; forward;

function g2:longint;
var a,b:longint;
    c:char;
begin
  a:=nr;
  while (x in ['*','/'])do
    begin
      c:=x;
      read(f,x);
      b:=nr;
      if (c='*')then
        a:=a*b else
        a:=a div b;
    end;
  g2:=a;
end;

function g1:longint;
var a,b:longint;
    c:char;
begin
  a:=g2;
  while (x in['-','+'])do
    begin
      c:=x;
      read(f,x);
      b:=g2;
      if (c='+')then
        inc(a,b) else
        dec(a,b);
    end;
  g1:=a;
end;

function nr:longint;
var n:longint;
begin
  if (x='(')then
    begin
      read(f,x);
      n:=g1;
      read(f,x);
    end else
    begin
      n:=0;
      while (x>='0')and(x<='9')do
        begin
          n:=n*10+ord(x-'0');
          read(f,x);
        end;
    end;
  nr:=n;
end;



begin
assign(f,'evaluare.in');
reset(f);
assign(g,'evaluare.out');
rewrite(g);
read(f,x);
write(g,g1);
close(f);
close(g);
end.