Строка символов представляет собой запись арифметического выражения преобразовать подряд стоящие цифры в натуральные числа и произвести необходимые вычисления: выполнить действия по порядку — Pascal(Паскаль)

uses crt;
const m1=['1','2','3','4','5','6','7','8','9'];
      m2=['+','-','/','*'];
var s,a: string; i: byte; c1,c2,c: word; ch: char; rezult: real;
begin
 a:='';
 s:='241 + 19 = ';
 i:=1;
 clrscr;
 while not(s[i] in m1) do
  inc(i);
 while s[i] in m1 do
  begin
   a:=a+s[i];
   inc(i);
  end;
 val(a,c1,c);
 a:='';
 inc(i);
 while not(s[i] in m2) do
  inc(i);
 ch:=s[i];
 while not(s[i] in m1) do
  inc(i);
 while s[i] in m1 do
  begin
   a:=a+s[i];
   inc(i);
  end;
 val(a,c2,c);
 case ch of
  '+': rezult:=c1+c2;
  '-': rezult:=c1-c2;
  '*': rezult:=c1*c2;
  '/': rezult:=c1/c2;
 end;
 writeln(s,round(rezult));
end.

Leave a Comment

+ 36 = 43