情報領域演習第一:P演習
電気通信大学情報理工学域I類 (情報系)
2024年度後学期
[一覧に戻る]
課題A2
問題
平面上の2点間の距離を求めたい.具体的には,2点の座標 $(x_1, y_1)$, $(x_2, y_2)$ が与えられたとき,
この2点間の距離は $\sqrt{ (x_1 - x_2)^2 + (y_1 - y_2)^2 }$ で計算できる.
座標 x1, y1, x2, y2 が与えられたとき,
2点 (x1, y1), (x2, y2) の間の距離を出力する
メソッド distance(x1, y1, x2, y2) を作成せよ.
ヒント
Rubyにおいて x の (正の) 平方根を計算するためには,Math.sqrt(x) を用いればよい.
入力仕様
- -1000.000 ≦ x1 ≦ 1000.000.
- -1000.000 ≦ y1 ≦ 1000.000.
- -1000.000 ≦ x2 ≦ 1000.000.
- -1000.000 ≦ y2 ≦ 1000.000.
- x1, y1, x2, y2 は小数点以下3桁まで与えられる.
- x1, y1, x2, y2 はこの順で与えられる.
出力仕様
- 距離を表す数値のみ出力する.
- 小数点以下3桁までが正しくなくてはならない.
例
irb> distance 1.000, 2.000, 3.000, 4.000
=> 2.8284271247461903
irb> distance 12.345, 23.456, 34.567, 45.678
=> 31.426653783054917
irb> distance -111.111, -222.222, 333.333, 444.444
=> 801.2328155361587
irb> distance -200.000, 200.000, -200.000, 200.000
=> 0.0
irb> distance 0.000, 0.001, 0.001, 0.000
=> 0.001414213562373095
提出法
CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
% /ced-home/staff/enshu1p/checker_a2.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.
[一覧に戻る]