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	                                 ●

注意点は以下のとおり


解答例

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	    ◆

注意点は以下のとおり


解答例

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


Back