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

Ответы 1

  • Var   A,R:real;   i,L,z:integer;   S:string;BeginRead(S);L:=Length(S);i:=1;R:=0;While (S[i]in['0'..'9'])and(i<L) do   Begin   R:=R*10+StrToInt(S[i]);   i:=i+1   End;While i<L do   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<L) do      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.
    • Автор:

      mango9
    • 4 года назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years