てくの電卓
Home > EZアプリ(BREW(R)) サンプル2<<   1 2 3
サンプルプログラム 3

二分法のテスト

行番号プログラム
001 0.0
002 STM [ 1 ]
003 1.0
004 STM [ 2 ]
005 0
006 STM [ 3 ]
007 STM [ 13 ]
008 1e-8
009 STM [ 10 ]
010 M [ 2 ]
011 -
012 M [ 1 ]
013 =
014 STM [ 0 ]
015 M [ 1 ]
016 exp
017 -
018 2
019 =
020 STM [ 11 ]
021 M [ 2 ]
022 exp
023 -
024 2
行番号プログラム
025 =
026 STM [ 12 ]
027 M [ 0 ]
028 WHILE ( X>M [ 10 ] )
029 (
030 M [ 1 ]
031 +
032 M [ 2 ]
033 )
034 /
035 2
036 =
037 STM [ 3 ]
038 M [ 3 ]
039 exp
040 -
041 2
042 =
043 STM [ 13 ]
044 M [ 11 ]
045 *
046 M [ 13 ]
047 =
048 IF ( X>0 )
行番号プログラム
049 M [ 3 ]
050 STM [ 1 ]
051 M [ 13 ]
052 STM [ 11 ]
053 ELSE
054 M [ 3 ]
055 STM [ 2 ]
056 M [ 13 ]
057 STM [ 12 ]
058 ENDIF
059 M [ 2 ]
060 -
061 M [ 1 ]
062 =
063 WEND
064 M [ 3 ]
065 HALT
066 M [ 3 ]
067 -
068 2
069 ln
070 =

行番号解説
001--0021 番のメモリに 0 . 0 をセットします
003--0042 番のメモリに 1 . 0 をセットします
005--0073 番と 13番のメモリに 0 をセットします
008--00910番のメモリに 1e-8 (1 かける 10 の 8 乗 = 1 億)をセットします
010--014M [ 2 ] - M [ 1 ] つまり 1 - 0 = 1 を 0 番のメモリに値をセットします
015--020M [ 1 ] exp - 2 = STM [ 11 ] を実行します。
定数 e の 0 乗から 2 を引いた値 = -1 を 11番のメモリにセットします
021--026M(02) exp - 2 = STM [ 12 ] を実行します。
定数 e の 1 乗から 2 を引いた値 = 0.71828182845 を 12番のメモリにセットします
028--063WHILE でループ処理を行います。
X>M(10) の条件が当てはまらなくなるまで WEND までの処理を繰り返し行います
029--037( M [ 1 ] + M [ 2 ] ) / 2 を実行し、結果を 3 番のメモリにセットします
038--043定数e の M [ 3 ] 乗から 2 を引いた値を 13番のメモリにセットします
044--047M [ 11 ] * M [ 13 ] を実行します
048--058条件分岐を行います。
X の値(= M [ 11 ] * M [ 13 ])が 0 より大きい場合は M [ 3 ] の値を 1 番のメモリに、M [ 13 ] の値を 11番のメモリにそれぞれセットします。
そうでない場合は M [ 3 ] の値を 2番のメモリに、M [ 13 ] の値を 12番のメモリにそれぞれセットします
059--062M [ 2 ] - M [ 1 ] を実行します。この計算結果を X の値として WHILE ループが繰り返されます
064--065ループを抜けた時点で M [ 3 ] の値を表示します。
画面上には 0.69314717501 と表示されますが、実際の値は16桁分存在します
066--070M [ 3 ] - 2 ln = を実行します。
0.69314717501… から 2 ln(=0.69314718055…)を減算し、値を表示します
実行結果0.69314717501
-5.54592627377 (指数表示 12)

サンプル2<<   1 2 3
Izumi Cyber Networks Inc.