С клавиатуры вводится строка, содержащая целые числа, отделённые друг от друга знаками арифметических операций + - * /. Подсчитать и вывести значение этого выражения. Операции выполняются последовательно (как на калькуляторе) без учёта приоритета операций. Pascal Abc

Вопрос:

С клавиатуры вводится строка, содержащая целые числа, отделённые друг от друга знаками арифметических операций + - * /.
Подсчитать и вывести значение этого выражения. Операции выполняются последовательно (как на калькуляторе) без учёта приоритета операций.
Pascal Abc
Информатика
admin 19.05.2023 28

Ответ учителя:

Var
   A,R:real;
   i,L,z:integer;
   S:string;
Begin
Read(S);
L:=Length(S);
i:=1;
R:=0;
While (S[i]in['0'..'9'])and(i   Begin
   R:=R*10+StrToInt(S[i]);
   i:=i+1
   End;
While i   Begin
   Case S[i] of
      '+':z:=0;
      '-':z:=1;
      '*':z:=2;
      '/':z:=3;
   End;
   i:=i+1;
   A:=0;
   While (S[i]in['0'..'9'])and(i      Begin
      A:=A*10+StrToInt(S[i]);
      i:=i+1
      End;
   if i=L then A:=A*10+StrToInt(S[L]);
   Case z of
      0:R:=R+A;
      1:R:=R-A;
      2:R:=R*A;
      3:R:=R/A;
   End;
   End;
WriteLn('R = ',R);
End.

Другие вопросы
Создать вопрос

Похожие вопросы: