Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» находится символ «+» или «–» (например, «4+7–2–8»). Вывести значение данного выражения (целое число) — Pascal(Паскаль)

uses crt;
const cf=['0'..'9'];
var s:string;
    sm:integer;
    i:byte;
begin
clrscr;
writeln('Введите строку из цифр, чередующихся со знаками + и - ');
readln(s);
sm:=0;
for i:=1 to length(s) do
 begin
  if(s[i] in cf)and((s[i-1]='+')or(i=1))then sm:=sm+(ord(s[i])-48);
  if(s[i] in cf)and(s[i-1]='-') then sm:=sm-(ord(s[i])-48);
 end;
write('Значение=',sm);
readln
end.

Leave a Comment

18 − = 8