学期末試験

プログラミングII
学期末試験
2015.02.04(水)
筑波大学 情報学群 情報メディア創成学類
三河 正彦
1
学期末試験:
2015.02.04 三河 正彦
(1) データマイニングや機械学習で有名なIris(花の あやめ )データセットを用いて,あやめの種類を分類し,数値データを処理するプログ
ラムを作成せよ.(University of Californiaのhttps://archive.ics.uci.edu/ml/machine-learning-databases/iris/を一部改変)
(2) データファイルを本試験で作成するプログラムと同じディレクトリ(フォルダ)へコピーせよ.
cp -i mikawa.masahiko.ka/iris.data /好きなディレクトリ
(3) データフォーマットは以下の通りである.
がくの長さ がくの幅 花弁の長さ 花弁の幅 あやめの種類
sepal_length sepal_width petal_length petal_width species_of_iris
データの例
5.0 2.0 3.5 1.0 Iris-versicolor
5.4 3.4 1.5 0.4 Iris-setosa
(4) ただし,あやめの種類は,Iris-setosa,Iris-virginica,Iris-versicolorの三種類である.
(5) あやめ一つ分のデータ「がくの長さ」「がくの幅」「花弁の長さ」「花弁の幅」「あやめの種類」を格納できる構造体を宣言し,
main()で200個のデータを扱えるように構造体配列を用意する.ただし「幅」「長さ」を要素とする構造体も別に宣言し,あやめの
構造体の要素として用いること.
(6) データファイルからデータを読み込みつつ,「がくの長さ」「がくの幅」「花弁の長さ」「花弁の幅」「あやめの種類」を画面に表示
させる.なお読み込んだデータの個数も,自分で用意した変数に格納すること.ファイルクローズも忘れずに行う.
(7) また三種類のあやめの種類で分類し,それぞれ別に用意した構造体配列に格納すること.その際,分類されたデータのそれぞれの個数
も,自分で用意した変数に格納すること.
(8) 分類した三種類のあやめのデータに対して,それぞれ種類の「がくの長さ」「がくの幅」「花弁の長さ」「花弁の幅」の平均値を算出
数を抽出する関数calc_ave()を作成せよ.ただしあやめの数と構造体配列を関数の引数とし,一つのあやめの種類に対して
calc_ave()を一度呼び出すだけで,そのあやめの種類の「がくの長さ」「がくの幅」「花弁の長さ」「花弁の幅」の平均値の算出を
可能とすること.算出結果はmain()で表示すること.
(9) 外部変数は使用しないこと.
(10)作成するプログラムのファイル名は,学籍番号.c とする.
(11)プログラムは添付ファイルで送信,メール本文には実行結果をコピーペーストする.
(12)提出先: [email protected]
件名: progIIxxxxxxxxxfinal
学籍番号(9桁),
全て半角英数,余計なスペースは不要