Задать вопрос
27 июня, 20:56

На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка - признак конца и в последовательность не входит). Данная последовательность является правильной записью арифметического выражения, состоящего из целых десятичных чисел и знаков "плюс" и "минус" (могут стоять и перед первым числом). При этом два знака подряд в выражении не допускается. Программа должна вычислить значения данного выражения и вывести его на экран. Гарантируется, что ни на каком этапе вычислений тип longint не переполнится. Пример: введено "234-234+657.", программа должна вывести "657".

+1
Ответы (1)
  1. 28 июня, 00:03
    0
    Var s, s1:string; sum, a, code, i:integer;

    begin

    writeln ('Введите выражение:') ;

    readln (s) ;

    sum:=0;

    s1:='';

    for i:=1 to length (s) do

    case s[i] of

    '0' ... '9' : s1:=s1+s[i];

    '-','+','.' : begin val (s1, a, code) ; sum:=sum+a; s1:=s[i]; end;

    end;

    writeln ('sum = ', sum) ;

    end.

    Пример:

    Введите выражение:

    234-234+657.

    sum = 657
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка - признак конца и в последовательность не входит). ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы