2001/12/17

グラフ再び

以前、成績をグラフにしたことがありました。 今回もう一度同じテーマを取り上げます。

random.pl
#!/usr/bin/perl

foreach (201 .. 280) {
  print "M00-$_  ", 30 + int(rand(70)), "\n";
}

foreach (201 .. 278) {
  print "M01-$_  ", 30 + int(rand(70)), "\n";
}

このスクリプトを実行すると次のような架空の成績一覧ファイルができます。 rand() は指定した数値以下の正の値をランダムに出力する関数です。 整数にするためにさらに int() 関数を施しています。 int(rand(70)) で70以下の整数値がランダムに与えられるわけです。 上ではさらに30を加えて100点満点の数値にしています。これが各学生の 素点だと考えて下さい。

seiseki.txt
M00-201  60
M00-202  33
M00-203  97
M00-204  78
....
途中略
....
M00-275  91
M00-276  77
M00-277  79
M00-278  95
M00-279  93
M00-280  69
M01-201  88
M01-202  96
M01-203  56
M01-204  69
....
途中略
....
M01-274  92
M01-275  33
M01-276  37
M01-277  58
M01-278  55

これをグラフにしてください。

60点以上の合格の場合はで、 また60点未満の不合格の場合はで 得点およびグラフを表示して下さい。無理なら、色を変えなくてもかまいません。
M00-201 60
M00-202 33
M00-203 97
M00-204 78
M00-205 50
M00-206 94
M00-... .. ..........

全部で158行になりますから、手作業では大変です。 Perlのスクリプトを書くとずっと楽です。 データファイルを読み込んで一行ずつ調べてゆけばいいんです。 どうしても書けないひとは手作業で頑張って下さい。 スクリプトを書いた人はそれも載せて下さい。