2009年1月21日水曜日

開平法

手回し計算機で開平するには, 手回し計算機のことも説明する必要があろう.

1950年頃からリヒテンシュタインで製造されていた, Curtaという小さい機械式の計算機があった. 設計したのはCurt Herzstarkで, 第二次世界大戦中, ドイツ軍に抑留されていたときに設計したといわれている.

サーチエンジンでCurta Calculatorを探すとサイトがいくつも見つかるが, 精巧なシミュレータはここ, マニュアルはここにある.

シミュレータの説明用に私が描いたCurtaの絵は下の通り.






上が正面図, 中が平面図である. 下は説明用の図(表?)だ.

Curtaは筒状で, 正面下側に8桁のSetting Registerがあり, 赤で示すノブを下げると0から9までの各桁の値が設定できる. シミュレータでは同時に下の表のSETTING DIALにも値が入る. Operation HandleをZero Positionから時計方向に1回転(平面図でHandle から下に出ている矢印をクリック)すると, この値がResult Dialに足される. HandleはZero Positionまで回す.

Curtaの上方には, 左右に5桁分回転できるCarriageがあり, 平面図ではこれが見えている. Carriageの上面には, 11桁のResult Dialと6桁のRevolution Counterがある. Carriageがこの図の位置なら, Setting Registerの値は, Result Dialの最下位に足される. 正面図のCarriageの右の赤い矢印をクリックすると, 平面図のCarriageは反時計方向に1桁分回転し, その位置では下から2桁目に足される.

Operation Handleを1回転すると, Setting Dialの最下位に対応するRevolution Counterに1足される. 従ってSetting Dialに34を置き, Carriageの最初の位置でHandleを6回転し, Carriageを1桁回し, 3回転すると, Result Dialには34*36=1224が入り, Revolution Counterには36が入る.

平面図で11時の方向に出ている輪のようなものは, Clearing Leverで, Revolution CounterとResult Dialの境界に止まり, どちらかに回転すると, そのCounterやDialがリセットされる.

Curtaの正面図で, Setting Registerの右に見えるReversion Leverは, ノブが図の位置では, Handleの回転でRevolution Counterに1足され, ノブを下に下げると, Counterから1引かれる.

Curtaの特色の1つは, 補数計算をするので, 減算でもOperation Handleを加算と同様に時計方向に回すことだ. ただしOperation Handleに右にある上向き矢印をクリックし, 回転軸を上に少し引き抜く. 加算に戻すには, 減算時に下向きになっていた矢印をクリックして, 回転軸を押し下げる.

除算の時は, 被除数をResult Dialに, 除数をSetting Dialにセットし, Reversion Leverを下位置にし, 回転軸を引き抜き, 各桁で引けなくなるまで回転し, Revolution Counterに商を, Result Dialに剰余を得る.

さて, 手回し計算機での開平は, 20x+1, 20x+3, ...,20x+17と引く代りに, 被開平数を最初に5倍し, 100x+05, 100x+15, ..., 100x+85と引く. Setting Dialの最下位を5に固定し, 十の桁を0,1,2,...と変えながら引く. 引ける回数は同じなので, 平方根も5倍せずに得たのと同じである. もちろん剰余は5倍になっている.

その様子を下に示す. まず200000000の5倍をResult Dialに置き, Carriageを右方へ寄せておく. 短い横線は減算を, 長い左向き矢印は, Carriageを1桁左へ移動することを示す.




赤字は十の桁が, 0,1,2,...と変る様子を, 青字はRevolution Counterが増えていく
様子を示す. 最後の剰余は, 前回の開平で得られた3836の5倍である.

0 件のコメント: