●問題
第5問 (選択問題) (配点 20)
座標平面において、原点からの距離がN以下であるような格子点(座標が整数であるような点)の個数を数えることにより、
円周率の近似値を求めるプログラムを次のように作成した。
(2)このプログラムを実行し、Nに2を入力すると
(3)また、Nに100を入力すると画面に表示される最後の6行は
10 A=0 20 INPUT "N=" ; N 30 FOR B=1 TO N 40 FOR C=1 TO N 50 IF B*B+C*C>N*N THEN GOTO 80 60 A=A+1 70 PRINT "C=" ; C 80 NEXT C 90 A=A+1 100 PRINT "B=" ; B 110 PRINT "A=" ; A 120 NEXT B 130 D=4*A/(N*N) 140 PRINT "PI=" ; D 150 END(1)このプログラムで、格子点の個数を表す変数は[ア]であり、円周率を表す変数は[イ]である。
(2)このプログラムを実行し、Nに2を入力すると
C=1 B=1 A=2 B=[ウ] A=[エ] PI=[オ]が表示される。
(3)また、Nに100を入力すると画面に表示される最後の6行は
C=[カキ] B=[クケ] A=7853 B=[コサシ] A=[スセソタ] PI=[チ] . [ツテトナ]となる。
●問題の急所
「格子点の個数≈4分円(扇形)の面積」から4分円の面積を求めます。
一方、(4分円の面積)=π*r2/4、(正方形の面積)=r2だから、
π=4*(4分円の面積)/(正方形の面積)
となります。
- 変数の役割を理解せよ
このプログラムで出てくる変数はA,B,C,Dの4つです。- A
格子点の個数。 - B
FOR-NEXTで繰り返すのに使う変数。同時に格子点のX座標も表します。 - C
FOR-NEXTで繰り返すのに使う変数。同時に格子点のY座標も表します。 - D
円周率を収めている変数。130行で求めています。
- A
- なぜ格子点の個数が四分円の面積と考えてよいるのか?
1辺が1の正方形を考えてみましょう。この面積は1*1= 1 ですね。この正方形1つと、正方形のある1点を対応させて考えてみましょう。正方形が10個あれば、それに対応する点も10個あります。したがって、格子点の個数≈四分円の面積と考えてよいのです。もちろん、πは無理数ですから、実際の4分円の面積も無理数になってしまうので誤差は生じますが。
●解答
20点満点です。
空所の記号 | 解答 | 配点 |
ア | A | 2 |
イ | D | 2 |
ウ | 2 | 2 |
エ | 3 | 2 |
オ | 3 | 2 |
カキ | 14 | 2 |
クケ | 99 | 2 |
コサシ | 100 | 2 |
スセソタ | 7854 | 2 |
チ.ツテトナ | 3.1416 | 2 |
●