2. プログラムの応用

2.1 数値計算のアルゴリズム

ルート2を求めるプログラムとしてrubyで擬似コードを再現したのが以下のプログラムです.

実行結果では, とても長い回数の計算が行なわれていることがわかります.以下の実行結果はプログラムを実行したばかりのものと終わりの部分だけを掲載しています.

ルート2を求めるプログラムとしてrubyで擬似コードを再現したのが以下のプログラムです.

実行結果からアルゴリズムにより計算回数が減ったことがわかります.

このアルゴリズムは図のように, 曲線上でa=yにおける接線を求め, その接線とb=xとの交点を求めます. その位置を新たなyとして曲線上の点での接線を求め, そこでの接線とb=xとの交点を求めるという処理を, 赤線部分(もとのyと交点の新しいyとの差分)が, 決められた値より小さくなるまで同じ作業を繰り返します.

ルート2を求めるプログラムとしてrubyで擬似コードを再現したのが以下のプログラムです.

実行結果からアルゴリズムによりさらに計算回数が減ったことがわかります.