Напишите программу в синтаксисе free pascal или turbo pascal, которая вычисляет выражение, состоящее из чисел и знаков (допускаются только знаки «+» или «–», количество чисел и знаков не ограничено). выражение вводится как символьная строка, все числа целые. ввод: 12+42-44-12-13+1-23 вывод: -37 ввод: 12-53-2+23+0-25 вывод -45

superman48 superman48    3   21.09.2019 20:20    0

Ответы
МарияПремудрая1 МарияПремудрая1  08.10.2020 07:54
Var
  S, chislo: string;
  i,A,B,C,E: integer;
Begin
  B := 0;
  WriteLn('Введите выражение: ');
  ReadLn(S);
  i := S.length;
  While (i > 0) do
  begin
    Case S[i] of
      '+':
        begin
          val(chislo,A,E);
          B := B + A;
          chislo := '';
        end;
      '-':
        begin
          val(chislo,A,E);
          B := B - A;
          chislo := '';
        end;
      else
        chislo := S[i] + chislo;
    End;
    i := i - 1;
  end;
  if (chislo <> '') then
  begin
    val(chislo,A,E);
    B := B + A;
  end;
  WriteLn(B);
End.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика