文関数を利用して円の面積を求める問題である。
- 教科書P.118(1)の問題のプログラムを作成せよ。
この問題は、半径1の1/4円の面積を求めるものである。方法は、数値積分の
台形公式と言われるものである。積分なんて少し難しげであるが、要するに円
を台形で近似しているだけのことである。その様子を図1に示
す。
円の半径(
)をN等分して、N個の台形の面積を足し合わせること
で台形の面積を求める。図から分かるように、最後の台形は三角形になるが、
これも上底がゼロの台形と考える。これから、台形の高さHは
となる。FORTRANでこの高さを求めるためる前に、予めNの値は決めておく必要
がある。
台形の高さが求まったので、後は下底と上底の長さである。これは、下底およ
び上底の
座標と円の方程式から求めることができる。1/4円の方程式は、
である。この
にそれぞれの座標を代入すれば、下底と
上底の長さが分かる。この円の方程式をFORTRANで表現する場合、文関数
を用いるのが簡単である。このXに、下底や上底の
座標を代入すれば、下底
や上底の長さが分かる。
台形はN個あるので、それぞれDO文によりループをまわして面積を計算するの
が良い。DO文の指標にIを用いて、左からI番目の台形の面積を計算する。I番
目の下底の
座標XLOWはと上底のそれをXHIGHとする。それぞれは、
と計算できる。これから、下底および上底の長さは、
と計算できる。これで、台形の面積が計算できるので、後は各人考えること。
プルグラム例は、以下の通り。
PROGRAM EX_1_2_1
INTEGER N,I
REAL S,XHIGH,XLOW,H
Y(X)=SQRT(1.0-X*X)
N=100
H=1.0/N
S=0.0
DO 10 I=1,N,1
XLOW=(I-1)*H
XHITH=I*H
S=S+(Y(XHITH)+Y(XLOW))*H/2.0
10 CONTINUE
WRITE(6,600)N,4.0*S
600 FORMAT('N = ',I4,4X,'S = ',F12.8)
STOP
END
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月20日