「旧課程(-2012年度)高等学校数学B/数値計算とコンピューター」の版間の差分
削除された内容 追加された内容
M Tomzo がページ「高等学校数学B/数値計算とコンピューター」を「旧課程(-2012年度)高等学校数学B/数値計算とコンピューター」に移動しました: 過程変更による |
→台形公式: サポートが終了して久しいpython2向けのコードだったので、python3様に書き直した。 タグ: 2017年版ソースエディター |
||
153 行
<!-- 後者のSchemeコードはPython版に準じましたが、解説修正した方が良いですね。 -->
;[https://paiza.io/projects/vw83J0TttHB6fdeiEF35dg?language=python3 trapezoid.py]:<syntaxhighlight lang=
from math import sqrt,pi
def trapezoid_formula():
def func(x):
return sqrt(1-x*
sum = 0.0
a = 0.0
b = 1.0
assert (type
type
type
N = 20
dx = (b - a) / N
for i in range(N):
#Section of trapezoid ... .
sum += (func(a + dx * i) + func(a + dx * (i + 1))
return sum
print
print
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
</syntaxhighlight>
実際の<math>\pi</math>の値と近い値が得られていることが分かる。
[[Scheme]]によるプログラム例
;[https://paiza.io/projects/YAGiEEO9bJtET0tSvA9_2A?language=scheme trapezoid.scm]:<syntaxhighlight lang="Scheme">
(define (trapezoid_formula f a b)
(let ((n 20))
194 ⟶ 193行目:
(f (+ a (* dx (+ i 1)))))
(/ dx 2)))))))))
0 1) )
(print (atan 1.0))
</syntaxhighlight>
▲;;> (trapezoid_formula (lambda (x)
;実行結果:<syntaxhighlight lang=text>
▲;; (sqrt (- 1 (expt x 2))))
0.7821162199387455
▲;; 0 1)
0.7853981633974483
▲;;0.7821162199387454
▲;;0.7853981633974483
</syntaxhighlight>
こちらも実際の<math>\pi</math>の値と近い値が得られていることが分かる。
|