Вычисление строчных выражений - QBasic
Формулировка задачи:
Пожалуйста напишите программу,которая по введенной строке (напримаер 3+7-1 или 7+4-2 и тд)
выдает результат,использую команды строковых переменных
(Вводиться может сколько угодно чисел(от одно- до многозначных) и действий может быть сколько угодно,но только сложение и вычитание)
заранее спасибо!
Решение задачи: «Вычисление строчных выражений»
textual
Листинг программы
INPUT a$ a$ = a$ + " " k = 1 FOR i = 1 TO LEN(a$) IF MID$(a$, i, 1) <> "-" AND MID$(a$, i, 1) <> "+" AND MID$(a$, i, 1) <> " " THEN b$ = b$ + MID$(a$, i, 1) ELSE s = s + VAL(b$) * k IF MID$(a$, i, 1) = "-" THEN k = -1 ELSE k = 1 b$ = "" END IF NEXT PRINT s
Объяснение кода листинга программы
- В начале программы пользователю предлагается ввести строку в переменную a$.
- Затем в цикле с помощью функции LEN(a$) определяется длина строки.
- Переменная b$ используется для хранения промежуточных результатов вычислений.
- Переменная s используется для хранения окончательного результата вычислений.
- Переменная k используется для хранения коэффициента, который будет применяться к значениям в b$.
- В цикле проверяется каждый символ в строке a$.
- Если символ является числом и следует за знаком
-
или+
то он добавляется в b$. - Если символ является числом и не следует за знаком
-
или+
, то он умножается на k и добавляется к s. - Значение k меняется на -1, если следующий символ в строке a$ равен
-
, и на 1, если следующий символ равен+
. - Значение k меняется на 1, если следующий символ в строке a$ равен
-
, и на -1, если следующий символ равен+
. - Значение k меняется на 1, если в цикле встречается первый не пробельный символ.
- Значение k меняется на -1, если в цикле встречается первый не пробельный символ.
- Значение b$ сбрасывается в пустую строку после каждого вычисления.
- После окончания цикла выводится значение переменной s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д