Исходные числа и результат должны иметь следующую форму: «0.nnnnn*10^mmm» (исходные данные вводятся с клавиатуры).
CLS
PRINT "Enter first number :";
INPUT a$
PRINT "Enter second number:";
INPUT b$
PRINT "Enter 'm' for multiplicaion or 'd' for division:";
INPUT action$
i = 2
DO WHILE i > 0
SWAP a!, b!: SWAP ja, jb
j = 3
DO WHILE MID$(b$, j, 1) <> "*"
j = j + 1
LOOP
ja = j
a! = VAL("0." + MID$(b$, 3, j - 3))
SWAP a$, b$
i = i - 1
LOOP
i = 2
a% = VAL(MID$(a$, ja + 4, LEN(a$) - ja - 3))
b% = VAL(MID$(b$, jb + 4, LEN(b$) - jb - 3))
IF LCASE$(action$) = "m" THEN
r! = a! * b!
r% = a% + b%
END IF
IF LCASE$(action$) = "d" THEN
r! = a! / b!
r% = a% - b%
IF r! >= 1 THEN
DO WHILE INT(r!) <> 0
p = p + 1
r! = r! / 10
LOOP
END IF
END IF
IF r% + p > 0 THEN
r$ = "0" + LTRIM$(STR$(r!)) + "*10^" + LTRIM$(STR$(r% + p))
ELSE
r$ = "0" + LTRIM$(STR$(r!))
END IF
PRINT "Result: "; r$