Вычислите произведение двух чисел: x и y, в десятичной системе счисления - QBasic

Узнай цену своей работы

Формулировка задачи:

Возможны ли решения на Вейсике для следующих задач. Если да, помогите. Задача №1 2 балла Вычислите произведение двух чисел: x и y, если x=10100,00112, y=2016. В ответе укажите результат в десятичной системе счисления. Ответить »

Решение задачи: «Вычислите произведение двух чисел: x и y, в десятичной системе счисления»

textual
Листинг программы
CLS
PRINT f("10100.0011", 2) * f("20", 16)
FUNCTION f (a$, q)
u$ = "0123456789ABCDEF"
k = INSTR(a$, ".")
r = (LEN(a$) - k) * (k <> 0)
a$ = MID$(a$, 1, k - 1) + MID$(a$, k + 1, LEN(a$) - k)
FOR i = LEN(a$) TO 1 STEP -1
    j = INSTR(u$, UCASE$(MID$(a$, i, 1))) - 1
    res = res + j * q ^ r
    r = r + 1
NEXT
f = res
END FUNCTION

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

  1. CLS — очистка экрана
  2. PRINT f(10100.0011, 2) * f(20, 16) — вывод произведения двух чисел, переданных в функцию f
  3. FUNCTION f (a$, q) — определение функции f, принимающей два аргумента типа строка (a$) и целое число (q)
  4. u$ =0123456789ABCDEF` — инициализация строкиu$` для представления шестнадцатеричной системы счисления
  5. k = INSTR(a$,.) — поиск позиции десятичной точки в строке a$
  6. r = (LEN(a$) — k) * (k <> 0) — вычисление значения переменной r, представляющей мощность десятичной точки в числе a$
  7. a$ = MID$(a$, 1, k — 1) + MID$(a$, k + 1, LEN(a$) — k) — разделение строки a$ на числитель и знаменатель
  8. FOR i = LEN(a$) TO 1 STEP -1 — итерация от последнего символа строки a$ к первому
  9. j = INSTR(u$, UCASE$(MID$(a$, i, 1))) — 1 — поиск позиции символа в строке u$, представляющего шестнадцатеричный эквивалент символа из строки a$
  10. res = res + j * q ^ r — обновление значения переменной res, представляющей результат вычисления функции f
  11. r = r + 1 — обновление значения переменной r
  12. NEXT — завершение цикла
  13. f = res — присвоение переменной f значения, вычисленного в цикле
  14. END FUNCTION — завершение определения функции f

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


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

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

13   голосов , оценка 4 из 5
Похожие ответы