プログラミング入門2 総合演習課題 2008年 12/22(月), 2009年 1/14(水) 実施 これまでの講義内容についての腕試し 各自、自分なりの工夫を凝らすこと! 細かな仕様は問わないので、適宜配列、関数、構造体, ポインタ,動的記憶域確保など学習したものを用いる こと。 今後のスケジュール 12/22(月) 第13回 総合演習 1/14(水) 第14回 総合演習 1/19(月) 期末試験(3限のみ、3401教室) 持ち込み不可 演習課題は今日終わらせてください。 期末試験の範囲は、1回目から14回目まで全部含む。 TAの方へ連絡 期末試験(1/19)は勤務の必要はありません。(高橋君のみ来る。) 課題の集計結果は今週中に私までメールで送ってください。 プログラミング入門2 2 総合演習問題1(統計処理) 100名分の学生の学籍番号と点数(100点満点)が格納されているデータファイル (score.txt 、HPからダウンロード)を読み込み、これらのデータに対して(1)~(4)を行える ようにせよ。最初にユーザーに(1)〜(4)のどれを実行するかを選択させるようにすること。 また、これらの機能は全て1つのソースファイルで実現すること。 0-10 : **** 11-20 : ********** 21-30 : **** ・・・・・・・・・・・・・・・ 91-100 : ** ※score.txtのデータの並び順 学籍番号 点数 Z05001 53 Z05002 ・・・・・・・・・ (1) 右のように10点刻みで分布グラフを表示する。 (2) (3) (4) 平均点、最高点、最低点、標準偏差 を表示する。 キーボードから学籍番号を受け取り、その学生の偏差値を画面に表示する。 全員分の偏差値をファイル(ファイル名はキーボードから読み込む)に出力する。その際、学 籍番号と点数も一緒に以下の順で書きだす。 学籍番号 点数 偏差値 ※データの格納には、構造体を用いると良い。 ※必要に応じて、関数を導入せよ。 ○分散 = (データを2乗した値の総和 - (データの総和の2乗 /データ数)) / データ数 ○標準偏差:分散の平方根の正の値 ○偏差 = 個人の値 - 平均値 ○偏差値 = (偏差 / 標準偏差) * 10 + 50 プログラミング入門2 3 総合演習問題2(物理計算) 斜方投射シミュレーション ボールを地面に対してθ度の角度で、初速度Vo(m/s)で投げあ げる。空気抵抗の影響は無視するものとする。ボールを投げる ときの地面からの高さは0とする。 (1) Vo, θを引数として受け取り、最高到達点(高さ方向)に達するまでの時間(秒) とその高さ(m)を表示する関数を作成せよ。 (2) Vo, θを引数として受け取り、地面に落下するまでの時間(秒)及び距離(飛距 離、m)を表示する関数を作成せよ。 (3) 松坂大輔投手のストレートの初速を150km/hとする。松坂投手が30度、 45度、60度でボールを投げ上げた際の飛距離を(2)の関数を使って求めよ。 また、3つの場合それぞれについて、一定時間間隔でボールの位置(x,y)をフ ァイル(拡張子をcsvとする)に書き出し、エクセル(Microsoft Excel)を使ってそ の軌跡をグラフ化せよ。ファイルへの出力は、csv形式で行うとよい(fprintf (file, ”%d,%d\n”, x, y); を各座標(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
© Copyright 2024 ExpyDoc