zadach289.BAS

{* Задача289 *}

REM basic

' Составмить программу умножения и деления десятичный чисел с плавающей запятой. Исходные числа и результат должны иметь следующую форму: "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$