arctanxの値を求めます。点と点とが成す角度を求めるときに有用です。
イベント命令の記述例と、相互変換モジュールを用いて貼り付けるためのコードを併記しています。実際に入力する際は、相互変換モジュールを用いてスイッチ・変数番号を任意の番号に書き換えて変換すると効率的です。
ガウス求積を用いた逆正接関数の計算です。引数の100倍を『V[0001]:引数』に入れて実行すると、逆正接関数の値として角度が『V[0002]:結果』に返ります。引数は負の数も含め、任意の数を指定できます。例えばarctan20を求めるには、引数に2000を入れて実行すれば、結果に87が返ります(真値は87.13……°)。
相互変換モジュール用コード | イベント命令記述例 |
---|---|
#include "rpgfunc.as" /* スイッチ・変数番号を入力 */ s1 = 1 // スイッチ1:逆数 v1 = 1 // 変数1:引数 v2 = 2 // 変数2:結果 v3 = 3 // 変数3:一時 v4 = 4 // 変数4:符号 /* 以下、イベント命令の構文 */ swi s1, , 0 varsel v4 : var 0, 0, 1, 0 co 1, v1, 0, 0, 4 varsel v1 : var 3, 0, -1, 0 varsel v4 : var 3, 0, -1, 0 coend co 1, v1, 0, 100, 3 varsel v3 : var 0, 1, v1, 0 varsel v1 : var 0, 0, 10000, 0 varsel v1 : var 4, 1, v3, 0 swi s1, , 1 coend varsel v3 : var 0, 1, v1, 0 varsel v3 : var 3, 1, v1, 0 varsel v3 : var 3, 0, 3, 0 varsel v3 : var 1, 0, 50000, 0 varsel v3 : var 4, 0, 100, 0 varsel v2 : var 0, 0, 160000, 0 varsel v2 : var 4, 1, v3, 0 varsel v2 : var 3, 1, v1, 0 varsel v1 : var 3, 0, 250, 0 varsel v2 : var 1, 1, v1, 0 varsel v3 : var 0, 1, v2, 0 varsel v2 : var 4, 0, 1000, 0 varsel v3 : var 5, 0, 1000, 0 co 1, v3, 0, 500, 1 varsel v2 : var 1, 0, 1, 0 coend co 0, s1, 1, 0, 0 varsel v2 : var 2, 0, 90, 0 varsel v2 : var 3, 0, -1, 0 coend varsel v2 : var 3, 1, v4, 0 send |
使用スイッチ
|
◆スイッチの操作:[0001:逆数]をOFFにする ◆変数の操作:[0004:符号]代入,1 ◆条件分岐:変数[0001:引数]が0より小さい ◆変数の操作:[0001:引数]乗算,-1 ◆変数の操作:[0004:符号]乗算,-1 :分岐終了 ◆条件分岐:変数[0001:引数]が100より大きい ◆変数の操作:[0003:一時]代入,変数[0001]の値 ◆変数の操作:[0001:引数]代入,10000 ◆変数の操作:[0001:引数]除算,変数[0003]の値 ◆スイッチの操作:[0001:逆数]をONにする ◆ :分岐終了 ◆変数の操作:[0003:一時]代入,変数[0001]の値 ◆変数の操作:[0003:一時]乗算,変数[0001]の値 ◆変数の操作:[0003:一時]乗算,3 ◆変数の操作:[0003:一時]加算,50000 ◆変数の操作:[0003:一時]除算,100 ◆変数の操作:[0002:結果]代入,160000 ◆変数の操作:[0002:結果]除算,変数[0003]の値 ◆変数の操作:[0002:結果]乗算,変数[0001]の値 ◆変数の操作:[0001:引数]乗算,250 ◆変数の操作:[0002:結果]加算,変数[0001]の値 ◆変数の操作:[0003:一時]代入,変数[0002]の値 ◆変数の操作:[0002:結果]除算,1000 ◆変数の操作:[0003:一時]剰余,1000 ◆条件分岐:変数[0003:一時]が500以上 ◆変数の操作:[0002:結果]加算,1 ◆ :分岐終了 ◆条件分岐:スイッチ[0001:逆数]がON ◆変数の操作:[0002:結果]減算,90 ◆変数の操作:[0002:結果]乗算,-1 ◆ :分岐終了 ◆変数の操作:[0002:結果]乗算,変数[0004]の値 ◆ |