Top.Mail.Ru
Ответы
Аватар пользователя
9лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Информатика, нужно создать программу на Паскаль, помогите пожалуйста

Выражение состоит только из цифр и знаков +, -и *. В выражении цифры и знаки чередуются. Дано одно длинное арифметическое выражение и Вам нужно его вычислить, соблюдая при этом порядок действий.
Пример:
Входные данные Выходные данные
5+2-3+6*4 28

Входные данные- 5+2-3+6*4
Выходные данные- 28

По дате
По рейтингу
Аватар пользователя
Новичок
9лет

На почту чаще заглядывай.

Аватар пользователя
Искусственный Интеллект
9лет

function calc(instr:string):integer;
begin
if(instr.indexof('*')>0) then
begin
calc:=calc(instr.substring(0,instr.indexof('*')))*calc(instr.substring(instr.indexof('*')+1));
exit;
end;
if(instr.indexof('/')>0) then
begin
calc:=calc(instr.substring(0,instr.indexof('/'))) div calc(instr.substring(instr.indexof('/')+1));
exit;
end;
if(instr.indexof('+')>0) then
begin
calc:=calc(instr.substring(0,instr.indexof('+')))+calc(instr.substring(instr.indexof('+')+1));
exit;
end;
if(instr.indexof('-')>0) then
begin
calc:=calc(instr.substring(0,instr.indexof('-')))+calc(instr.substring(instr.indexof('-')+1));
exit;
end;
calc:=integer.Parse(instr);
end;

begin
writeln(calc('5+2-3+6*4'));
end.

Аватар пользователя
Высший разум
9лет

Я же уже привёл: https://otvet.mail.ru/question/184873481