3. レポートの作成と提出

以下の作業を実施して, ファイル「 report.txt 」 (このファイルは UTF-8 エンコーディング)を ITC-LMS で提出しなさい.

3.1 平方根の計算プログラム

x = 「1z」(10〜19の範囲の値)の平方根を求める Rubyのプログラムを作成し, 求められた値と計算の回数(反復した回数)を示しなさい. ただし,以下のようにすること.
  1. z部分には学生証番号末尾の数字をあてるものとする. たとえば,学生証番号が「J4170001」であれば, 11の平方根を求めることになる.
  2. 教科書(プリント)で示された 「反復による計算」「二分法による計算」 「ニュートン・ラフソン法による計算」の 3通りのプログラムを作成し,それぞれの結果と示すものとする. ただし「ニュートン・ラフソン法による計算」は 選択課題として,余裕のある者だけで良い.
  3. deltaの値としては 0.001 を用いること. 教科書(プリント)では 0.0001 となっているので注意しなさい.
  4. 反復による計算では, 最初のyの値を 0.0 としなさい.
  5. 二分法による計算では, 最初の区間(ab)の値を a = 0, b = x(= 「1z」)としなさい.
  6. ニュートン・ラフソン法による計算では, 最初のyの値をx(= 「1z」)としなさい.
(ヒント) 計算回数をカウントする変数を使うと便利であり, 階乗の計算や下の解答例が参考になるでしょう.

3.2 発展課題

上記で求めた値の平方根と同じ値の立方根を求めるプログラムを書いて提出しなさい(11の平方根を求めたのであれば11の立方根を求める).

ただし立方根を求める際には, プログラムの応用で示したプログラムの式を変更しなければならない点に注意しなさい.

提出用ファイルの作成

report.txt 」 (マウスボタンの右クリックでダウンロード可能, エンコーディングはUTF-8)を基準として, 自分の科類・クラス,学生証番号,氏名,それぞれの解答を記入しなさい. たとえば,次のようになるはずである. ただし,ここでは x = 2.0, delta = 0.0001 の計算を示している.
○科類・クラス:
理科1類 03組

○学生証番号:
J4170001

○氏名:
山口 泰

○反復による平方根の計算プログラム:
x = 2.0
delta = 0.0001
y = 0.0
i = 0
while (y + delta) * (y + delta) < x do
  y = y + delta
  i = i + 1
end
puts "root  -> " + y.to_s
puts "times -> " + i.to_s

<実行結果>
root  -> 1.4142
times -> 14142

○二分法による平方根の計算プログラム:
(ここでは省略)

<実行結果>
root  -> 1.41418457
times -> 15

○ニュートン・ラフソン法による平方根の計算プログラム:
(ここでは省略)

<実行結果>
root  -> 1.414215686
times -> 3

○授業で難しいと感じたこと/再度説明して欲しいところなど:
Rubyのプログラムは思ったより簡単だった.

○その他,授業に関する感想:


ファイルの提出

作成したファイルを ITC-LMS で提出しなさい.