基礎プログラミング II 第 4 回 (繰り返しは引っ張りだそう) 「直線グラフ」 講義ノート目次

棒グラフは、x の値を受け取ると、 値域 f(x) までの値を "*" で塗りつぶす。 直線グラフならば、f(x) - 1 までは空白文字 " " で、 f(x) のみ * であればよい。


def lineplot(x1,x2)
  print("-" * f(x2) + "- y\n")
  for i in 0..x1-1
    print("|\n")
  end
  for j in x1..x2 
    print("|" + " " * (f(j) - 1) + "*" + "\n")
  end
  print("|\nx\n")
end

: 

lineplot(a,b)  # 呼出し部分

実行すると

定義域の範囲はどこまでにしますか (a < x < b)
a = 2
b = 6
開始座標 (a = 2, f(a) = 6)
終了座標 (b = 6, f(b) = 18)
線のタイプを選んで下さい
1. 線グラフ表示          2. 棒グラフ表示
2
------------------- y
|
|
|     *
|        *
|           *
|              *
|                 *
|
x

このグラフは x について傾きが正である場合はグラフの軸が十分な長さで書けるが、 そうでない場合は短くなる。その理由を調べ、改良せよ。