Вычисление строчных выражений - 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

Объяснение кода листинга программы

  1. В начале программы пользователю предлагается ввести строку в переменную a$.
  2. Затем в цикле с помощью функции LEN(a$) определяется длина строки.
  3. Переменная b$ используется для хранения промежуточных результатов вычислений.
  4. Переменная s используется для хранения окончательного результата вычислений.
  5. Переменная k используется для хранения коэффициента, который будет применяться к значениям в b$.
  6. В цикле проверяется каждый символ в строке a$.
  7. Если символ является числом и следует за знаком - или + то он добавляется в b$.
  8. Если символ является числом и не следует за знаком - или +, то он умножается на k и добавляется к s.
  9. Значение k меняется на -1, если следующий символ в строке a$ равен -, и на 1, если следующий символ равен +.
  10. Значение k меняется на 1, если следующий символ в строке a$ равен -, и на -1, если следующий символ равен +.
  11. Значение k меняется на 1, если в цикле встречается первый не пробельный символ.
  12. Значение k меняется на -1, если в цикле встречается первый не пробельный символ.
  13. Значение b$ сбрасывается в пустую строку после каждого вычисления.
  14. После окончания цикла выводится значение переменной s.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5