Back
情報科学概論 Aクラス 宿題 2003.6.17 解答例
sin xの関数の値をターミナルにグラフ的に表示する.x の
変域は,自分の学生番号の下1桁の数値からその数値プラス2πの範囲とする.例
えば,下一桁が9であれば,9≦x≦9+2πである.その範囲で x が
0.3ずつ大きくなる様子を以下のように表現する.
9.0 ●
9.3 ●
9.6 ●
9.9 ●
10.2 ●
10.5 ●
10.8 ●
11.1 ●
11.4 ●
11.7 ●
12.0 ●
12.3 ●
12.6 ●
12.9 ●
13.2 ●
13.5 ●
13.8 ●
14.1 ●
14.4 ●
14.7 ●
15.0 ●
|
注意点は以下のとおり
- xの値は縦に進む.通常のグラフとは角度が90度回転している.
- 行の左端にxの値を表示する
- グラフの原点を整えるためにはタブ(\t)によるスペース調整を行う
- 関数の値は●による表示
- グラフの幅は最大で40文字分 (すなわち,三角関数の最小値-1と最大値1の
幅が40文字分)
解答例
include Math
x0 = 9.0
x1 = x0 + PI*2
delta = 0.3
num = (x1 - x0) / delta
str = " "
for xx in 0..num
print x0+delta*xx, "\t", str*(((sin(x0+delta*xx)*40+40)/2).to_i), "●\n"
end
|
情報科学概論 Bクラス 宿題 2003.6.17 解答例
cos xの関数の値をターミナルにグラフ的に表示する.x の
変域は,自分の学生番号の下1桁の数値からその数値プラス2πの範囲とする.例
えば,下一桁が9であれば,9≦x≦9+2πである.その範囲で x が
0.3ずつ大きくなる様子を以下のように表現する.
9.0 ◆
9.3 ◆
9.6 ◆
9.9 ◆
10.2 ◆
10.5 ◆
10.8 ◆
11.1 ◆
11.4 ◆
11.7 ◆
12.0 ◆
12.3 ◆
12.6 ◆
12.9 ◆
13.2 ◆
13.5 ◆
13.8 ◆
14.1 ◆
14.4 ◆
14.7 ◆
15.0 ◆
|
注意点は以下のとおり
- xの値は縦に進む.通常のグラフとは角度が90度回転している.
- 行の左端にxの値を表示する
- グラフの原点を整えるためにはタブ(\t)によるスペース調整を行う
- 関数の値は◆による表示
- グラフの幅は最大で40文字分 (すなわち,三角関数の最小値-1と最大値1の
幅が40文字分)
解答例
include Math
x0 = 9.0
x1 = x0 + PI*2
delta = 0.3
num = (x1 - x0) / delta
str = " "
for xx in 0..num
print x0+delta*xx, "\t", str*(((cos(x0+delta*xx)*40+40)/2).to_i), "◆\n"
end
|