Document

プログラミング入門2
総合演習課題
2008年 1/7, 1/21 実施
これまでの講義内容についての腕試し
各自、自分なりの工夫を凝らすこと!
細かな仕様は問わないので、適宜配列、関数、構造体,
ポインタ,動的記憶域確保など学習したものを用いる
こと。
総合演習課題について
 次年度以降,取り組むであろうC言語による統計データ処理,
数値計算 の課題
 下記指定日までに課題をメールにて提出。3問全部やること
が望ましいが, 出来たところまででもよいので提出すること。
出来具合に応じて成績点に加算する。




指定日時:1月28日(月)18時まで
提出先:[email protected]
メールにてソースファイルを添付して提出
メールのタイトルは: pro2-all + 学籍番号 + 名前(半角英字)
プログラミング入門2
2
総合演習問題1(統計処理)

データファイル(score.txt ※HPからダウンロード)から100名分の学生の学籍番号、及び点数(10
0点満点)のデータを読み込み、これらのデータ群に対して以下に示すものを求めよ。また、これら
の機能は全て1つのソースファイルで実現すること。最初にユーザーに(1)〜(4)のどれを実行す
るかを選択させるようにすること。
0-10 : ****
11-20 : **********
21-30 : ****
・・・・・・・・・・・・・・・
91-100 : **
※score.txtのデータの並び順
学籍番号 点数
Z05001 83
Z05002
・・・・・・・・・
(1)
右のように10点刻みで分布グラフを表示せよ。
(2)
平均点、最高点、最低点、標準偏差 を表示せよ。
scanfで任意の学生の学籍番号を指定し、その学生の得点から、偏差値を表示せよ。
全員分の偏差値を求め、任意のファイル名をつけて(ファイル名はキーボード読込み)以下のように
ファイルにデータを書き込みなさい。
学籍番号 点数 偏差値
(3)
(4)
※偏差値を求めるには、平均、分散、標準偏差が必要。
※データの格納には、構造体を用いると良い。
※必要に応じて、関数を導入せよ。
○分散分散 = (データを2乗した値の総和 - (データの総和の2乗 /データ数)) / データ数
○標準偏差:分散の平方根の正の値
○偏差 = 個人の値 - 平均値
○偏差値 = (偏差 / 標準偏差) * 10 + 50
プログラミング入門2
3
総合演習問題2(物理計算)
 斜方投射シミュレーション
ボールを地面に対してθ度の角度で、初速度vo(m/s)で投げ
あげる。空気抵抗の影響は無視するものとする。
(1)vo, θを引数として受け取り、最高到達点(高さ方向)に達するまでの時間
(秒)とその高さ(m)を表示する関数を作成せよ。
(2)vo, θを引数として受け取り、地面に落下するまでの時間(秒)及び距離(飛
距離、m)を表示する関数を作成せよ。
(3)松坂大輔投手のストレートの初速を150km/hとする。松坂投手が30度、
45度、60度でボールを投げ上げた際の飛距離を(2)の関数を使って求め
よ。また、3つの場合それぞれについて、一定時間間隔でボールの位置(
x,y)をファイルに書き出し、エクセル等を使ってその軌跡をグラフ化せよ。
y
Vx = Vo*cosθ
Vy = Vo*sinθ-g*t
θ
x = Vo*cosθ*t
y = Vo*sinθ*t - 0.5*g*t^2
x
プログラミング入門2
4
総合演習問題3(数学:積分近似計算)
 二次関数 f(x) = x^2 について、x=0から3までの定
S

3
 x dxを求めたい。区分求積法により、この
2
積分
0
積分の近似値を求めよ。
X軸方向の刻み幅Δxを大→小へと変化させ、近似の精度が
良くなることを確認せよ。
※更に自由度を上げるために・・・・
・積分範囲を可変に
・関数(f(x))を可変に
等、工夫してみるとなお良い。
0
Δx
3
プログラミング入門2
5