random number
乱数

ミニレポート 4 のチェック

テスト用の入力ファイルを使ってプログラムが正しく動作しているかどうか確 認します.

以下の操作を行うことで自分が作成した infile と outfile は変更されます. 必要なら別名でコピーしてから以下の操作を行って下さい.

% cp ~hiroshi/pl/infile ~/pl/infile
% ~/pl/report4.pl
% diff ~hiroshi/pl/outfile ~/pl/outfile

何も表示されなければ正しい出力が生成されています. 何か表示された場合はその行の処理が違います.模範回答である ~hiroshi/pl/outfile と自分の ~/pl/outfile を見比べて下さい.

14 章

14.1

system 関数を使って別のプログラムを呼出すことができる.

シェルに直接 date コマンドを入力してみよ.次に perl プログラムから system 関数を利用して呼出してみよ.

エスケープ文字をシェルが解釈するのか perl が解釈するのか熟慮せよ. シングルクォート,ダブルクォートを使い,解釈してほしいほうが解釈するよ うにせよ.p.232 6 行めの $HOME は perl は解釈せず,シェルが解釈する. なぜか.

14.4

system,exec では,呼出したコマンドの出力は標準出力へ送られる. 呼出したコマンドの出力を加工するなどの目的で文字列に取り込みたいとき, 逆クォートを使う.

教科書 p.238 2-3 行めをプログラムに書き加えて確認せよ.

演習プログラム

乱数

rand (n) で 0 以上 n 未満の乱数が得られる. ループを使って乱数を 10 個生成し,表示するプログラムを作成し, 何度か実行してみよ.

rand は引数を省略すると 0 以上 1 未満の数を返す.

$x = rand;
$y = rand;

とすることで,$x,$y 座標がどちらも 0 以上 1 未満である xy 平面上の 正方形部分の座標がランダムに得られる.

0-1 の2次元範囲

この正方形に内接する円を考える.

0-1 の2次元範囲

  1. 正方形領域内の一様乱数を多数発生させ, そのうち,円内に入った数を計測する.
  2. 発生した乱数の総数と,円内に入った個数の比 で,正方形と円の面積比が近似できる.
  3. 上で求めた比と正方形の面積が 1 であることから円の面積の近似値が得られる.
  4. 円の面積が π×0.25 であることよりπの近似値が得られる.

第 5 回課題

課題「乱数を利用したアルゴリズム」 を読んで第 5 回課題を提出しなさい.


Updated in December 16, 2004, schedule, Yamamoto Hiroshi