Напишите программу в синтаксисе Free Pascal либо Turbo Pascal, которая вычисляет
Напишите программу в синтаксисе Free Pascal или Turbo Pascal, которая вычисляет выражение, состоящее из чисел и символов (допускаются только знаки + или , количество чисел и символов не ограничено). Выражение вводится как символьная строчка, все числа целые.
ввод:
12+42-44-12-13+1-23
вывод: -37
ввод:
12-53-2+23+0-25
вывод -45
1 ответ
Чернолев Юрий
Var
S, chislo: string;
i,A,B,C,E: integer;
Begin
B := 0;
WriteLn('Введите выражение: ');
ReadLn(S);
i := S.length;
While (i gt; 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 lt;gt; '') then
begin
val(chislo,A,E);
B := B + A;
end;
WriteLn(B);
End.
S, chislo: string;
i,A,B,C,E: integer;
Begin
B := 0;
WriteLn('Введите выражение: ');
ReadLn(S);
i := S.length;
While (i gt; 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 lt;gt; '') then
begin
val(chislo,A,E);
B := B + A;
end;
WriteLn(B);
End.
Ирина Нештак
А не могли бы вы обьяснить принцип работы метода, а то я его не совсем разумею.
Дарина Кульбинова
Начиная с конца строчки, считываем число в строчку chislo , доходим до знака - преобразовываем строку с числом в integer, записываем итог в A и добавляем A к B, (либо отнимаем). После цикла проверка: если 1-ое число в строке не начинается со знака, значить оно положительное - прибавляем его B(это необходимо поэтому, что программка исполняет действия, только когда доходит до знака).
Лидия Ибятуллина
Нормально, либо надобно построчно объяснять?
Запярова
Яна
Спасибо, все сообразил
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов