Back

情報科学概論 Aクラス 宿題 2003.5.27 解答例


x が自分の学生番号の下二桁を10で割った小数から0.2ずつ2増えるまでのsin2 x の値をターミナルにグラフ化して表示することを行う.表示結果は以 下のようになるようにし,メールの添付書類として提出すること.

例えば,学生番号の下二桁が99だとすると,sin(9.9)からsin(11.9)まで引数 の値を0.2ずつ増やす.コマンドを次のように動作させると

$ ruby Ruby-taskA-5-27-s034099.rb

9.9	********
10.1	***************
10.3	***********************
10.5	******************************
10.7	************************************
10.9	***************************************
11.1	***************************************
11.3	************************************
11.5	******************************
11.7	***********************
11.9	***************

のような結果を返すようにすること.注意点は以下のとおり


解答例

include Math
x0 = 9.9
str ="*"

a0 = 40*(sin(x0)*sin(x0))
a1 = 40*(sin(x0+0.2)*sin(x0+0.2))
a2 = 40*(sin(x0+0.4)*sin(x0+0.4))
a3 = 40*(sin(x0+0.6)*sin(x0+0.6))
a4 = 40*(sin(x0+0.8)*sin(x0+0.8))
a5 = 40*(sin(x0+1)*sin(x0+1))
a6 = 40*(sin(x0+1.2)*sin(x0+1.2))
a7 = 40*(sin(x0+1.4)*sin(x0+1.4))
a8 = 40*(sin(x0+1.6)*sin(x0+1.6))
a9 = 40*(sin(x0+1.8)*sin(x0+1.8))
a10 = 40*(sin(x0+2)*sin(x0+2))


print x0, "\t", str * a0, "\n"
print x0+0.2, "\t", str * a1, "\n"
print x0+0.4, "\t", str * a2, "\n"
print x0+0.6, "\t", str * a3, "\n"
print x0+0.8, "\t", str * a4, "\n"
print x0+1, "\t", str * a5, "\n"
print x0+1.2, "\t", str * a6, "\n"
print x0+1.4, "\t", str * a7, "\n"
print x0+1.6, "\t", str * a8, "\n"
print x0+1.8, "\t", str * a9, "\n"
print x0+2, "\t", str * a10, "\n"


情報科学概論 Bクラス 宿題 2003.5.27 解答例


x が自分の学生番号の下二桁を10で割った小数から0.2ずつ2増えるまでのcos2 x の値をターミナルにグラフ化して表示することを行う.表示結果は以 下のようになるようにし,メールの添付書類として提出すること.

例えば,学生番号の下二桁が99だとすると,cos(9.9)からcos(11.9)まで引数 の値を0.2ずつ増やす.コマンドを次のように動作させると

$ ruby Ruby-taskB-5-27-s034099.rb

9.9	*******************************
10.1	************************
10.3	****************
10.5	*********
10.7	***
10.9	
11.1	
11.3	***
11.5	*********
11.7	****************
11.9	************************

のような結果を返すようにすること.注意点は以下のとおり


解答例

include Math
x0 = 9.9
str ="*"

a0 = 40*(cos(x0)*cos(x0))
a1 = 40*(cos(x0+0.2)*cos(x0+0.2))
a2 = 40*(cos(x0+0.4)*cos(x0+0.4))
a3 = 40*(cos(x0+0.6)*cos(x0+0.6))
a4 = 40*(cos(x0+0.8)*cos(x0+0.8))
a5 = 40*(cos(x0+1)*cos(x0+1))
a6 = 40*(cos(x0+1.2)*cos(x0+1.2))
a7 = 40*(cos(x0+1.4)*cos(x0+1.4))
a8 = 40*(cos(x0+1.6)*cos(x0+1.6))
a9 = 40*(cos(x0+1.8)*cos(x0+1.8))
a10 = 40*(cos(x0+2)*cos(x0+2))


print x0, "\t", str * a0, "\n"
print x0+0.2, "\t", str * a1, "\n"
print x0+0.4, "\t", str * a2, "\n"
print x0+0.6, "\t", str * a3, "\n"
print x0+0.8, "\t", str * a4, "\n"
print x0+1, "\t", str * a5, "\n"
print x0+1.2, "\t", str * a6, "\n"
print x0+1.4, "\t", str * a7, "\n"
print x0+1.6, "\t", str * a8, "\n"
print x0+1.8, "\t", str * a9, "\n"
print x0+2, "\t", str * a10, "\n"


Back