System, Random Number
system 関数,乱数

16 章

16.1

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

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

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

16.4

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

演習プログラム

乱数

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 であることよりπの近似値が得られる.

課題 11

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


Updated in December 6, 2011, index, Yamamoto Hiroshi