読みながらJavaの基礎をマスターしましょう

変な方法で円周率を求めてみる ~モンテカルロ法~

  • HOME »
  • Scratchと数学 »
  • 変な方法で円周率を求めてみる ~モンテカルロ法~

まずは緑の旗を押してみよう!

https://scratch.mit.edu/projects/169002230/

ネコは円周率が3.1415・・・だということを知りません。でもとっても頑張って1000個の点を打って大体の円周率の値を求めました。

ネコはどうやったのでしょうか?

 

実はネコは「乱数」を使ったのです。ここでは「らむだ」でなく「らんすう」と読みます。

サイコロを振ったとき、次にどの目が出るかわかりますか?わかったらあなたはエスパーあるいはサイコロに不正が仕組まれている可能性が・・・

 

 

乱数とはサイコロを振った時の目のように、次の数が分かりません。ペンギンの描いた正方形の中に、ネコは乱数を発生させて、ランダムな位置に点を打っています。

おっと「ランダム」とは次に何が起こるかわからない、先が読めないってことを意味します。

 

ペンギンは正方形にすっぽり入る円も描きました。この円の中にいくつ点が打たれたかを調べると、あら不思議、ネコはだいたいの円周率の値がわかってしまうのです。

ネコもちょっとだけ算数のお勉強をしたので、円の面積がπr2(円周率×半径×半径)だということは知っています。正方形の面積が辺の長さの2乗だということも。

 

ここからは計算してみましょうね。

円の半径をrとします。正方形の一片の長さは2rですね。rを使って、正方形の面積と、円の面積は求まりますね。

プログラムでネコに正方形の中に1000個点を打たせます。このうちいくつ円の中に打たれたか数えます。

例えば全部で1000個点を打った時、円の中に779個あったとします。この二つの数を使ってネコは円周率を求めているんですね~

全部でa個、円の中にb個点があったとして、ネコはどんな式で、だいたいの円周率の値を求めたのか考えましょう!!

これモンテカルロ法といいます。Scratchでも何でもいいので、実際プログラムを作ってみましょう。1000個でなく10000個にするとどうなるかな?ネコ疲れる!確かに~

 

 

 

 

 

和太鼓の製造/販売、張り替え/修理は

目次

PAGETOP
Copyright © たのしいJava入門とScratchと猫 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.
PAGE TOP