第8回(2000年12月19日)講義録
〜中間試験問題〜

渡邊誠一郎
渡邊@司令部 だ.

諸君は今日まで電脳工作員となるための特訓を受けてきた.
いよいよ今日は,その成果を見せてもらおう.以下の任務を
見事に遂行した者は,電脳工作員として認められ,授業の
単位取得の第一関門を突破したことになる.
失敗した者に,明日はない... 好運を祈る.

-------------------------------------------------------
任務指令書:  任務コード名は REP_millennium

任務開始は,12月19日 9時30分,任務は極秘に遂行すること.
なお,司令部への連絡には,氏名と暗号名を必ず書いた電子
メールを使うこと.司令部のアドレスは,わかっているな...

暗号名は,君が生まれてから今日までの日数(生まれた日を含む)
を生年月日とともに併記したものだ.

例 1964年3月18日,13426日

まず,~/f77 の下に REP という名前のディレクトリを作成せよ.
以後の任務はこのディレクトリ下で遂行すること.

次に,FORTRANプログラムの作成だ.

まずは,小手調べ.

a(1) = 1
a(2) = 1
n が 2以上なら
 a(n+1) = a(n-1) + a(n)        ( a(n) が奇数の場合)
 a(n+1) = a(n-1) + a(n)/2      ( a(n) が偶数の場合)

を満たす数列a(n)の第m項を求めるプログラムを作成せよ.
そして,できたら,m=33 つまり a(33) の値を計算し,まずは
司令部にメール(氏名,暗号名を書くこと)でその値を連絡せよ.

---------------

連絡を終えたら,次の本題にとりかかれ.

次のような形式のデータファイル(ファイル名 my.data とせよ)
を読み込み,その各欄毎の平均値,データの最大値と最小値の差,
および標準偏差を計算し,表示するプログラムを作成せよ.

なに,標準偏差を忘れた? そんなお間抜けは,末尾を見よ!

データファイルの形式 以下で [I] は整数,[R]は実数を表す

   行数M[I]       欄数N[I]
   1[I]  欄1行1の値[R]  欄2行1の値[R]  ...  欄N行1の値[R]
   2[I]  欄1行2の値[R]  欄2行2の値[R]  ...  欄N行2の値[R]
                   ...................
   M[I]  欄1行Mの値[R]  欄2行Mの値[R]  ...  欄N行Mの値[R]

例えば

   3   2
   1   6.1234  -7.2678
   2   1.6789   2.0754
   3   0.0789  -9.6098

のようなデータファイルだ.ただし行数と欄数はいくつでも対応できる
ようなプログラムである必要がある.

簡単すぎたかな....

作成できたと確信したら司令部にメール(氏名,暗号名を書くこと)
で連絡せよ.

折り返し,こちらで密かに入手した謎のデータへのアクセス法を
メールする.作成したプログラムを使い,そのデータの平均値,
最大値と最小値の差,および標準偏差を各欄毎に計算せよ.

また,データ番号(各行の先頭の整数)を横軸に,データの値を縦軸に
して,欄毎に別の線で重ねてグラフにせよ.
そうだ,特殊電脳工作ツール mplot を使えば簡単だ.
作成したグラフはプリンターに出力し,各自手元に保管せよ.

以上より,渡したデータは何か推定せよ.

そして司令部へ,次のような文面のメールを送ること.
---------------------------------------------------------
氏名,暗号名(上記参照)

各欄毎に,平均値,最大値と最小値の差,および標準偏差を求めた答

渡したデータが何かの推定
---------------------------------------------------------

任務の遂行期限は,12月19日 11時30分,一分の遅れも認められない... 

以上,好運を祈る.

注:

標準偏差は何だったか忘れてしまった者へ

                   M 
 {x}の標準偏差 = SQRT( Σ ( x(j) - {x}の平均値 )**2 / M)
                  j=1

            ただし,x(j)は j番目のデータの値,M はデータ総数
                     {x} = {x(1), x(2), ... , x(M)}
            また,SQRTはルートのことで,FORTRANの組み込み関数
            名である.SQRT(a) で aのルートが計算できる.


「数値解析法IIおよび演習」のトップページへ