Есть ответ 👍

Дописать программу в паскаль. ниже. не знаю как сделать ее со скобками. напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/») и круглых скобок. выражение вводится как символьная строка, все числа целые. операция «/» выполняется как целочисленное деление (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
Посмотреть ответы 1

Ответы на вопрос:

grasdas
4,8(56 оценок)

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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS