Дописать программу в паскаль. ниже. не знаю как сделать ее со скобками. напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/») и круглых скобок. выражение вводится как символьная строка, все числа целые. операция «/» выполняется как целочисленное деление (div). пример: введите выражение: 2*(3+45)+4 ответ: 100 вот что у меня есть: ( я сделала, чтобы вычисляло выражение их 3 чисел и двух знаков, но не получается сделать так, чтобы учитывались круглые скобки ) var s, s1, s2, s3, s4: string; i, a, b, c, d, e, f: integer; begin writeln('введите строку: '); readln(s); for i : = 1 to length(s) do begin if (s[i] = '+') or (s[i] = '-') or (s[i] = '*') or (s[i] = '/') then begin s1 : = copy(s, 1, i-1); s2 : = copy(s, i+1, length(s)); c : = i; end; end; for i : = 1 to length(s1) do begin if (s1[i] = '+') or (s1[i] = '-') or (s1[i] = '*') or (s1[i] = '/') then begin s3 : = copy(s1, 1, i-1); s4 : = copy(s1, i+1, length(s1)); e : = i; end; end; val(s3, a, d); val(s4, b, d); val(s2, f, d); if (s[e] = '/') and (s[c] = '/') then writeln((a div b) div f); if (s[e] = '/') and (s[c] = '*') then writeln((a div b) * f); if (s[e] = '+') and (s[c] = '*') then writeln(a + (b * f)); if (s[e] = '*') and (s[c] = '*') then writeln(a * b * f); if (s[e] = '+') and (s[c] = '/') then writeln(a + (b div f)); if (s[e] = '*') and (s[c] = '+') then writeln((a * b) + f); if (s[e] = '/') and (s[c] = '+') then writeln((a div b) + f); if (s[e] = '*') and (s[c] = '/') then writeln((a * b) div f); if (s[e] = '+') and (s[c] = '+') then writeln(a + b + f); if (s[e] = '-') and (s[c] = '-') then writeln(a - b - f); if (s[e] = '+') and (s[c] = '-') then writeln(a + b - f); if (s[e] = '-') and (s[c] = '+') then writeln(a - b + f); if (s[e] = '*') and (s[c] = '-') then writeln((a * b) - f); if (s[e] = '/') and (s[c] = '-') then writeln((a div b) - f); if (s[e] = '-') and (s[c] = '*') then writeln(a- (b * f)); if (s[e] = '-') and (s[c] = '/') then writeln(a - (b div f)); end.
207
395
Ответы на вопрос:
Var x,y: real; begin read(x,y); if ((x> =3) and (x< =5)) or ((x> =7) and (x< =8)) then writeln(x); if (y> =0) and (y< =15) and (y< > 13) then writeln(y); end. если есть вопросы-пиши
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
madi10119.11.2020 02:33
-
nnnnn77704.01.2020 05:07
-
бэйба12321.08.2021 09:39
-
danil136533421.11.2021 13:37
-
Умники12121225.04.2022 18:08
-
Артем1522789708.02.2020 05:03
-
sashik200526.07.2021 05:09
-
иван115902.02.2021 19:16
-
nastyapuhova125.02.2022 17:35
-
Albina789001.01.2023 19:40
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.