ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE なんの役にたたない(^_^;) /コスモス (02/01/26(Sat) 20:57) [334]
......MESSAGE 円周率の簡単な求め方 /moka (02/01/26(Sat) 23:09) [336]
............MESSAGE Re[2]: 円周率の簡単な求め方 /kobachi (02/01/27(Sun) 00:34) [337]
..................MESSAGE Re[3]: 円周率の簡単な求め方 /クジラ飛行机 (02/05/03(Fri) 13:59) [840]
......MESSAGE Re[1]: なんの役にたたない(^_^;) /お節介 (02/06/16(Sun) 08:30) [982]
............MESSAGE モンテカルロ法 /コスモス (02/06/18(Tue) 03:30) [985]
..................MESSAGE Re[3]: モンテカルロ法 /としぼう (02/06/19(Wed) 00:35) [987]
........................MESSAGE Re[4]: モンテカルロ法 /コスモス (02/06/22(Sat) 03:07) [994]


親記事 / ▼[ 336 ] ▼[ 982 ]
NO.334  なんの役にたたない(^_^;)
□投稿者/ コスモス -(2002/01/26(Sat) 20:57:18)
□U R L/
{円周率の算出
数学の本を見ててふと思いつきました。
計算開始ボタンを押してから少々時間がかがります。
私のPCでは15秒ほどかかりました。
計算回数を減らせば、早く終わります。
RNDが0<=X<=1であればもっと正確に計算できるのかも。}

計算回数は 50000。

*計算開始ボタンの作成
計算開始ボタンを ボタンとして 作成。
その テキストは 「円周率計算」。
その イベントは 円周率計算。

待機。

*円周率計算
内側=0。
計算回数回(
  x=RND。
   y=RND。
  もし (x*x+y*y)<=1 ならば(
     内側=内側+1。
   )。

円周率=(4*内側)/計算回数)。
円周率を 言う。
   



▲[ 334 ] / ▼[ 337 ]
NO.336  円周率の簡単な求め方
□投稿者/ moka -(2002/01/26(Sat) 23:09:43)
□U R L/ http://www.geocities.jp/moka21/teatime/
紙に式を書いて考えることしばし…。
へぇ、こうやって円周率が求まるんですねぇ。

下のは以前サポート掲示板でYMさんが書いてくれたものです。
この簡単さにも驚き。

180を、度からラジアン。
円周率は、それ。
円周率を、表示。



▲[ 336 ] / ▼[ 840 ]
NO.337  Re[2]: 円周率の簡単な求め方
□投稿者/ kobachi -(2002/01/27(Sun) 00:34:14)
□U R L/ http://plaza.across.or.jp/~kobachi/
{円周率は、円周の長さが直径の何倍になるかを示す係数ですから、正n角形をケーキのようにn個の二等辺三角形に区切って、(二等辺三角形の底辺の長さ×n)÷(二等辺三角形の斜辺の長さ)とやって、nを大きくすれば、昔のエジプト人の苦労がわかるはずです。

ちなみに、正n角形をケーキ式にn個の二等辺三角形に区切ると、二等辺三角形の鋭角[度]は

  鋭角=360÷n

で、次に二等辺三角形を縦に真っ二つに切って直角三角形にすると、二等辺三角形の底辺の半分の長さは

  (底辺÷2)=半径×sin(鋭角/2)

となりますから、直角三角形の底辺の長さが、

  底辺=2×半径×sin(鋭角/2)

正n角形の周の長さが、

  周の長さ=底辺×n
      =2×n×半径×sin(鋭角/2)

となります。これを、直径=半径×2で割ると、それが円周率ですから、

  円周率=周の長さ÷直径=n×sin(鋭角/2)

となります。これをプログラムでやると、}





' nが大きいほど、正n角形は円に近づき、正確な値が出ます。
n=50000。
鋭角=(360÷n)。
鋭角を、度からラジアン。
円周率=(n×SIN(鋭角/2))。
円周率と、言う。




{
となりますが、あくまでもこれは理論的な話であって、小数点以下の精度が無限でなければなりません。(高校のときにやった、極限の概念です。)関数電卓などで計算したほうがいいかと思います。ひまわりでは、途中段階の数字が小さくなりすぎて正常に実行できないようです。

数学的な概念そのままでは、桁数に制限のあるプログラミング言語では計算できませんから、これは参考までということで。
}



▲[ 337 ] / 返信無し
NO.840  Re[3]: 円周率の簡単な求め方
□投稿者/ クジラ飛行机 -(2002/05/03(Fri) 13:59:38)
□U R L/
どうも(^v^)
今日は、掲示板のプログラムを整理しているので、
ふるーい、スレッドに、レスつけまくってます。

既に、時効ですが・・・

kobachiさんの・・・
>' nが大きいほど、正n角形は円に近づき、正確な値が出ます。
>n=50000。
>鋭角=(360÷n)。
>鋭角を、度からラジアン。
>円周率=(n×SIN(鋭角/2))。
>円周率と、言う。
ですが、
’==============
n=50000。
鋭角=(360÷n)。
鋭角を、度からラジアンして、鋭角に、入れる。’<===
円周率=(n×SIN(鋭角/2))。
円周率と、言う。
’==============
で、正確に、
3.141592...
と出ました。



▲[ 334 ] / ▼[ 985 ]
NO.982  Re[1]: なんの役にたたない(^_^;)
□投稿者/ お節介 -(2002/06/16(Sun) 08:30:39)
□U R L/
これって「モンテカルロ法」のことではないですか?



▲[ 982 ] / ▼[ 987 ]
NO.985  モンテカルロ法
□投稿者/ コスモス -(2002/06/18(Tue) 03:30:27)
□U R L/
もう一度数学に本を開いて見ました。

間違いなくモンテカルロ法と書いてありました。(^-^ ) ニコッ

by コスモス



▲[ 985 ] / ▼[ 994 ]
NO.987  Re[3]: モンテカルロ法
□投稿者/ としぼう -(2002/06/19(Wed) 00:35:12)
□U R L/
座標(x,y)に点を描き、円周率の途中経過を表示したら、おもしろそうですね。



▲[ 987 ] / 返信無し
NO.994  Re[4]: モンテカルロ法
□投稿者/ コスモス -(2002/06/22(Sat) 03:07:50)
□U R L/
途中経過かあ・・・・・・

それ面白いかも(笑)



- Child Tree -