Урок 17(Решенная задача номер 7)

Урок 17(Решенная задача номер 7)

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

<целоечисло><произвольное число пробелов> <арифм.операция> <произвольное число пробелов> <целоечисло>

например:

1 +  3

или

2 - 12

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

var s : string;

function ru36(h : string): integer;

var i, c, pervcislo, vtrcislo: integer;
    g, g2, g3 : string;
    d : boolean;
begin
  d := false;
  g3 := '';
  for i := 1 to length(h) do
  begin
    if (s[i] >= '0') and (s[i] <= '9') then
      g := g + s[i];
    if (s[i+1] = ' ') and (d = false) then
    begin
      val(g, pervcislo, c);
      g := '';
      d := true;
    end;
    if (s[i] = '+') or (s[i] = '-') then
       g3 := s[i];
    if (s[i - 1] = ' ') and (s[i] >= '0') and (s[i] <= '9') then
       g2 := g2 + s[i];
    if (i = length(s)) then
      val(g, vtrcislo, c);
  end;
  if (g3 = '+') then
    result := pervcislo + vtrcislo
  else result := pervcislo - vtrcislo;
  writeln(result);
end;

begin
  writeln('vvedite stroky');
  readln(s);
  ru36(s);
end.