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

プログラムの例

サンプルプログラム 1

2点(X1 , Y1)、(X2 , Y2) を通る直線と、点(X0 , Y0) との最短距離を求めます。
垂線の足の座標が、メモリM [ 16 ] と M [ 17 ] に収められます。
※点(X0 , Y0) を ( 0 , 2 )、(X1 , Y1) を ( 0 , 0 )、(X2 , Y2) を ( 6 , 6 ) とした場合

行番号プログラム
001 P ( X0= )
002 HALT
003 STM [ 10 ]
004 P ( Y0= )
005 HALT
006 STM [ 11 ]
007 P ( X1= )
008 HALT
009 STM [ 12 ]
010 P ( Y1= )
011 HALT
012 STM [ 13 ]
013 P ( X2= )
014 HALT
015 STM [ 14 ]
016 P ( Y2= )
017 HALT
018 STM [ 15 ]
019 (
020 M [ 10 ]
021 -
022 M [ 12 ]
023 )
024 *
025 (
026 M [ 14 ]
027 -
028 M [ 12 ]
029 )
030 +
行番号プログラム
031 (
032 M [ 11 ]
033 -
034 M [ 13 ]
035 )
036 *
037 (
038 M [ 15 ]
039 -
040 M [ 13 ]
041 )
042 =
043 STM [ 2 ]
044 (
045 M [ 14 ]
046 -
047 M [ 12 ]
048 )
049 *
050 (
051 M [ 14 ]
052 -
053 M [ 12 ]
054 )
055 +
056 (
057 M [ 15 ]
058 -
059 M [ 13 ]
060 )
行番号プログラム
061 *
062 (
063 M [ 15 ]
064 -
065 M [ 13 ]
066 )
067 =
068 STM [ 3 ]
069 M [ 2 ]
070 /
071 M [ 3 ]
072 =
073 STM [ 4 ]
074 M [ 4 ]
075 *
076 (
077 M [ 14 ]
078 -
079 M [ 12 ]
080 )
081 +
082 M [ 12 ]
083 =
084 STM [ 16 ]
085 M [ 4 ]
086 *
087 (
088 M [ 15 ]
089 -
090 M [ 13 ]
行番号プログラム
091 )
092 +
093 M [ 13 ]
094 =
095 STM [ 17 ]
096 (
097 M [ 16 ]
098 -
099 M [ 10 ]
100 )
101 *
102 (
103 M [ 16 ]
104 -
105 M [ 10 ]
106 )
107 +
108 (
109 M [ 17 ]
110 -
111 M [ 11 ]
112 )
113 *
114 (
115 M [ 17 ]
116 -
117 M [ 11 ]
118 )
119 =
120 sqrt
121 STM [ 18 ]

行番号解説
001--003画面に X0= と表示し、数値の入力を受け付け、10番のメモリに値をセットします。
ここでは 0 を入力したとします
004--006画面に Y0= と表示し、数値の入力を受け付け、11番のメモリに値をセットします。
ここでは 2 を入力したとします
007--009画面に X1= と表示し、数値の入力を受け付け、12番のメモリに値をセットします。
ここでは 0 を入力したとします
010--012画面に Y1= と表示し、数値の入力を受け付け、13番のメモリに値をセットします。
ここでは 0 を入力したとします
013--015画面に X2= と表示し、数値の入力を受け付け、14番のメモリに値をセットします。
ここでは 6 を入力したとします
016--018画面に Y2= と表示し、数値の入力を受け付け、15番のメモリに値をセットします。
ここでは 6 を入力したとします
001--018この時点で、座標とメモリと各メモリにセットされた数値の関係は以下のようになりました。
( X0 , Y0 ) = ( M [ 10 ] , M [ 11 ] ) = ( 0 , 2 )
( X1 , Y1 ) = ( M [ 12 ] , M [ 13 ] ) = ( 0 , 0 )
( X2 , Y2 ) = ( M [ 14 ] , M [ 15 ] ) = ( 6 , 6 )
019--043( M [ 10 ] - M [ 12 ] ) * ( M [ 14 ] - M [ 12 ] ) + ( M [ 11 ] - M [ 13 ] ) * ( M [ 15 ] - M [ 13 ] ) = STM [ 2 ] を実行します。
( 0 - 0 ) * ( 6 - 0 ) + ( 2 - 0 ) * ( 6 - 0 ) = 12 が 2 番のメモリにセットされます
044--068( M [ 14 ] - M [ 12 ] ) * ( M [ 14 ] - M [ 12 ] ) + ( M [ 15 ] - M [ 13 ] ) * ( M [ 15 ] - M [ 13 ] ) = STM [ 3 ] を実行します。
( 6 - 0 ) * ( 6 - 0 ) + ( 6 - 0 ) * ( 6 - 0 ) = 72 が 3 番のメモリにセットされます
069--073M [ 2 ] / M [ 3 ] = STM [ 4 ] を実行します。
12 / 72 = 0.166666666667 が 4 番のメモリにセットされます
074--084M [ 4 ] * ( M [14] - M [ 12 ] ) + M [ 12 ] = STM [ 16 ] を実行します。
0.166666666667 * ( 6 - 0 ) + 0 = 1 が 16番のメモリにセットされます
085--095M [ 4 ] * ( M [ 15 ] - M [ 13 ] ) + M [ 13 ] = STM [ 17 ] を実行します。
0.166666666667 * ( 6 - 0 ) + 0 = 1 が 17番のメモリにセットされます
096--121( M [ 16 ] - M [ 10 ] ) * ( M [ 16 ] - M [ 10 ] ) + ( M [ 17 ] - M [ 11 ] ) * ( M [ 17 ] - M [ 11 ] ) = sqrt STM [ 18 ] を実行します。
sqrt までを計算すると、( 1 - 0 ) * ( 1 - 0 ) + ( 1 - 2 ) * ( 1 - 2 ) = 2 となります。
そして、2 sqrt の計算結果 1.41421356237 が 18番のメモリにセットされます。
画面には 1.41421356237 と表示されます
実行結果 X0 = 0
Y0 = 2
X1 = 0
Y1 = 0
X2 = 6
Y2 = 6
1.41421356237

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