26.1.7.8 分数クラス

有理数,つまり既約分数を扱った例題を考えてみましょう.以下の式は,平方根を求めるためのNewton-Raphson法です.

実数aの平方根を求めるための逐次近似式
x0=1.0
xk+1=(xk+a/xk)/2

ふつうの例題では,例えば a=2.0 とすると

x0=1.0
x1=1.5
x2=1.416...
x3=1.4142...

と計算が進行しますが,これを分数計算でやろうというわけです.ちなみに分数表記では,上述の連行は

x0=1/1
x1=3/2
x2=17/12
x3=577/408

となります.

分数を扱うのに分母と分子を別々に扱うのでは,プログラムとしてはわかりにくいものとなってしまいます.そこで,分数を表わすクラスを作ることにします.そのクラスは,分母と分子を表わすデータをもつのは当然ですが,演算の方はどうでしょうか.