課題8
以下の課題に関するレポートを、buturi-johoshori@tiger.kobe-u.ac.jp
までメールで送りなさい
メールのsubjectは、report8 とし
レポートの一番最初に、氏名、学籍番号を記すこと
送付するのは、ソースコードのみ(実行ファイルは不要)
今回は、課題2のC言語バージョンです。
8−A:
1983人の成績リスト kadai8seiseki.txt
がある。これは、0から100までの整数値の1列のデータである。
a) この成績をもとに5点間隔の点をとった人数の度数分布図(ヒストグラム)データを作るC言語のプログラムを作りなさい。
b) そのグラフを表計算ソフトで作成し、その表計算ソフトのファイルとC言語のプログラムを提出せよ。
c) このヒストグラム(点数に対する人数のグラフ)の形はどのような形か答えよ。山の数と山の位置、谷の位置を答えよ。
(リンク先ファイルのダウンロードは(control key + mouse click)しながら「リンクされたファイルを***に保存」
で保存する。)
提出するのは、C言語のプログラムソース、表計算ソフトのファイルの2つと、ヒストグラムの形、山の数、山の位置、谷の位置を答えよ。
ヒストグラムの作り方:
0 〜 100までの点数を5点毎の間隔にすると
0 〜 4, 5 〜 9, 10 〜 14, 15 〜 19, 20 〜 24, 25 〜 29, 30
〜 34, 35 〜 39, 40 〜 44, 45 〜 49,
51 〜 54, 55 〜 59, 60 〜 64, 65 〜 69, 70 〜 74, 75 〜
79, 80 〜 84, 85 〜 89, 90 〜 94, 95 〜 99,
100
の 21 通りである。これに対応する配列 histo[21] を作り(初期化して0にすることが重要!)、
if 文(あるいは、5で割った商で分類するもOK)で条件分けで、この配列に加算していく
最終的な標準出力に出す際、
for (i=0; i<21; i++)
{
printf("%d\t%d\n", 5*i, histo[i]);
}
の様にして、点数分布が判る様にするとよいでしょう。
8−B:
学籍番号によって4種類の問題を用意しました。学籍番号の下3桁(英文字 S を除く)を 4 で割った余りで、それぞれ(a)〜(d)の問いに答えよ。
謎のXYタイプデータがある。このデータは X Y の並びで並んでいる。
これを配列変数に読み込んで(データ点はそれぞれの問で大幅に異なる)、問題に与えられた行列で一次変換する
Cプログラムを作成し、行列変換した結果がどのような図になるか、表計算ソフトで散布図を作れ。そして、それが何であるか答えよ。
提出するものは、Cのプログラムソースと一次変換後のデータを散布図プロットした図のある表計算ソフトのファイル。それと、何であるかの解答。
注意)行列による一次変換は以下のように行って得られたX', Y'を言う
ここで、行列 {a11, a12, a21, a22} はそれぞれの問で与えられた行列を意味する。また(X, Y)
はそれぞれの問で与えられているデータである。
(a) 学籍番号の下3桁を4で割った余りが 0 の方
謎のXYタイプデータは kadai8_nazodata0.txt
がある。このデータは X Y
の並びで並んでいる。これを以下の行列で一次変換し、得られたデータの散布図より、その変換された図が何を示すか?
(b) 学籍番号の下3桁を4で割った余りが 1 の方
謎のXYタイプデータは kadai8_nazodata1.txt
がある。このデータは X Y
の並びで並んでいる。これを以下の行列で一次変換し、得られたデータの散布図より、その変換された図が何を示すか?
(c) 学籍番号の下3桁を4で割った余りが 2 の方
謎のXYタイプデータは kadai8_nazodata2.txt
がある。このデータは X Y
の並びで並んでいる。これを以下の行列で一次変換し、得られたデータの散布図より、その変換された図が何を示すか?
(d) 学籍番号の下3桁を4で割った余りが 3 の方
謎のXYタイプデータは kadai8_nazodata3.txt
がある。このデータは X Y
の並びで並んでいる。これを以下の行列で一次変換し、得られたデータの散布図より、その変換された図が何を示すか?