第1章の練習,投票
17 - 17/3*3 の値
0.0
0
2
15.1111111111111
16
56 の16乗として間違っているのは
56 ** 16
(7 * 8) ** 16
7 * 8 ** 16
56 ** 4 ** 2
56 ** (4 ** 2)
黄金比の値は
1.618033988749895
1.618033988749885
1.618033988749875
1.618033988749865
1.618033988749855
π/4の値は
0.7853981433974483
0.7853981533974483
0.7853981633974483
0.7853981733974483
0.7853981833974483
練習
平面上の2 点(x, y) と(u, v) の距離 \( \sqrt{(x-u)^2 + (y-v)^2} \) を求めるdistance(x,y,u,v).
f フィートi インチをセンチメートルに変換するfeet_to_cm(f,i). ただし、1 フィート= 12 インチ= 30.48 cm である。
p ポンドo オンスをキログラムに変換するpound_to_kg(p,o). 1 ポンド= 16 オンス= 0.4536 kg である。
進行状況の確認
すべてできた
二つできた
一つできた
できない
練習
「~/algo17」(ホームフォルダの下のalgo17という名前のフォルダ)の下に,allcode.zipをこのフォルダで展開済と仮定
「~/algo17」の下に,distance.rbというファイルを作り,練習1.2の関数distanceの定義を保存,yardpound.rbというファイルを作り関数feet_to_cm, pound_to_kgの定義を保存
ターミナルで,
cd ~/algo17 ruby check.rb ex01.rb
を実行する.
進行状況の確認
Ex1.3の3つのテストが全部PASSとなった(Ex 1.3以外はPASSにならなくてもOK).
Ex1.3の3つのテストのうちのどれかがPASSとなった.
チェックプログラムは動かせたが,テストが一つもPASSとならない.
練習
二次方程式 ax
2
+ bx + c = 0 に関して以下の関数を定義して「~/algo17」以下のファイルquadratic.rbに保存しなさい.
(a) 判別式 b
2
− 4ac を求めるdet(a,b,c).
(b) 解の1 つ \( \frac{-b+\sqrt{b^2-4ac}}{2a} \)を求めるsolution1(a,b,c). (det を使って定義せよ。)
(c) もう1 つの解\( \frac{-b-\sqrt{b^2-4ac}}{2a} \)を求めるsolution2(a,b,c). (solution1とsolution2 の共通部分を1つの関数(名前は適当で良い)にできるか?)[ファイル名: quadratic.rb]
(d) 二次関数f(x) = ax
2
+bx+c の値を求めるquadratic(a,b,c,x).
(a,b,c)= (2,3,1), (1,-2,1), (1,1,0) について,solution1, solution2の結果をx にして, 関数quadraticを計算して,値が0になることを確かめてださい.
進捗状況の確認
ruby check.rb ex01.rb を実行して動作を確認します.
quadratic までできた[Ex1.9 g-d]
solution2 までできた[Ex1.9 g-c]
solution1 までできた[Ex1.9 g-b]
det までできた[Ex1.9 g-a]
まだ