Pascal Урок 17 Задача 7

Урок 17 задача 7

На вход вашей программы подается строка вида:

например:
1 + 3
или
2 - 12
Напишите программу, которая разбирает вычисляет результат этого приложения (сделайте поддержку операций сложения и вычитания).

program U15Z7;
type
  a=array[1..2] of integer;
var
  l:a;
  i,d,f,n: integer;
  s:string;
  t:char;
function Sieve(s:string):a;
var w:string;
begin
d:=1;
    for i:= 1 to length(s) do
    begin
      if (s[i]>='0')and(s[i]<='9') then
      begin
        w:=w+s[i];
        val(w,f);
        l[d]:=f;
      end
      else if (s[i]<>' ') then
      begin
        t:=s[i];
        d:=d+1;
        w:='';
      end;
    end;
    result:=l
end;
procedure AddSub(l:a);
begin
d:=1;
   if (t='+') then
     n:=l[d]+l[d+1]
   else
     n:=l[d]-l[d+1];
   writeln(n);
end;
begin
   readln(s);
   Sieve(s);
   AddSub(l);
   readln();
end.                     
vedro-compota's picture

Замечания:

  1. Уйти от использования глобальной переменной t

_____________
матфак вгу и остальная классика =)