COMMON DEF FRAC(A$) ←AをA$に変更
A=RVAL(A$) ← この行を追加
VAR B,C,D%,I
WHILE !C && I<1E5
I=I+1
B=ROUND(I*A)
C=B*(ABS((B/I-A))<1E-12
WEND
IF C && B<POW(2,31) THEN D%=B:R$=STR$(D%)+("/"+STR$(I))*(I>1)
RETURN R$*!!D%+STR$(A)*!D% ← 戻り値部分をAからR$*!!D%+STR$(A)*!D%に変更
END
このFRAC関数を簡易関数電卓QSP上ではなく単体で使用する場合は FRAC("3/4+5/6-7/8") や FRAC("0.12+7/25") のようにして””で式を囲ってください。
足し算以外もできるように数1と数2の間に記号を入力するようにしてみましょう。
WHILE 1
INPUT "かず1=";A
INPUT "きごう=";K$
INPUT "かず2=";B
IF K$=="+" THEN C=A+B
IF K$=="-" THEN C=A-B
PRINT "こたえ";A+B
WEND
IF K$=="+" THEN C=A+B は変数K$の内容が"+"ならば変数CにA+Bの値を代入するというものです。
要するに+を入力した場合には答えを示す変数Cの値はA+Bになるわけです。
現時点では+と-しか計算できませんが、これはいくらでも増やすことができます。
あとは自力でやってみましょう。