式計算|計算式の記述方法
式計算コマンドは「日影倍率」「ヘロン公式」「三斜面積計算」「RC 断面算定」の4つが用意されていますが、計算式は自作することもできます。
計算式を記述するファイル
計算式は「KEISAN1.JWM」〜「KEISAN9.JWM」のファイルに記述します。これらのファイルはインストール時に変更していなければ「Cドライブ」の「JWW」というフォルダにあります(最初からあるのは「KEISAN1.JWM」〜「KEISAN4.JWM」)。このファイルは拡張子が「JWM」となっていますが、メモ帳などのテキストエディタで開いたり編集したりすることができます。
最初から用意されている4つの計算式もそこに記述されているので、それらを変更して使用することもできます。
式計算コマンドのコントロールバーに表示される項目は、「KEISAN.JWM」の1行目にある半角の「|」(縦棒)で挟まれた文字列になります。初期状態では「|日影倍率|ヘロン公式|三斜面積計算|RC 断面算定|」となっています。
表示できる項目数は最大で9までで、各項目は「KEISAN1.JWM」〜「KEISAN9.JWM」のファイルに対応しています。
コントロールバーの右にある「0」を左クリックするとダイアログが開くので、別フォルダの「KEISAN.JWM」ファイルを選択することで、そのフォルダの式計算が実行できます。
つまり、1つのフォルダでは計算式は9個までですが、別のフォルダに計算式のファイルを入れておけば10個以上の計算式を保存しておくことができます。
「Shift」キーと「Ctrl」キーを押しながら、コントロールバーの「0」を左クリックすると、現在のフォルダ内の「KEISAN.JWM」ファイルを外部エディタで開いて編集ができます。
「Shift」キーと「Ctrl」キーを押しながら、コントロールバーの「日影倍率」などの各項目を左クリックすると、その項目に応じたファイル(「KEISAN1.JWM」〜「KEISAN9.JWM」)を外部エディタで開いて編集ができます。
記述方法全般
- 1行に記載できる文字は80バイトまで。
- 行の先頭に「#」を記述すると、その行は注釈文になり実行されない。ただし、「項目選択の設定」では意味のある記述として使用されている。
- 「e;」で計算式の終わりを指定する
1行目の記述と数値選択
1行目は「#注釈文」か「#hm メッセージ |項目1|項目2|・・・」のどちらかの形式になります。
#注釈文
1行目に「#注釈文」が来る場合は数値選択の状態になり、その注釈文が数値選択のときに表示されます。
2行目以降に、「% 整数;」で選択する数値の数(0〜10)を指定します。選択数値の数を0にすると数値選択は行われません。この場合の数値設定は後述するinput文を使用します。
「@ 整数;」で選択数値の読み込み順序を指定します。読み込み順序は、0で縦方向優先(上から順番に読み込む)、1で横方向優先(左から順番に読み込む)になります。
項目選択の設定
1行目に「#hm メッセージ |項目1|項目2|・・・」の形式の文が来る場合は、コントロールバーが変更され、コントロールバーの項目を選択する状態になります。
「|」(縦棒)で区切られた文字列が、コントロールバーの項目として表示されます。コントロールバーに表示される項目は9個までです。「hm」と「|」の間に文字列を入れると、項目選択時にメッセージとして表示されます。
コントロールバーの項目を選択した後は数値選択状態になり、選択した項目番号は変数「Z」に代入されます。
項目を選択した後、数値を選択するときに表示する文字を指定します(必ず記述)。
- #:1文字列 (項目1で数値を選択するときに表示する文字)
- #:2文字列 (項目2で数値を選択するときに表示する文字)
各項目ごとの選択する数値の数を指定します(必ず記述)。
- #:1% 2; (項目1で選択する数値の数を2にする)
- #:2% 4; (項目2で選択する数値の数を4にする)
各項目ごとの選択する数値の読み込み順序を指定します(必ず記述)。
- #:1@ 0; (項目1で選択数値の読み込み順序を縦方向優先にする)
- #:2@ 1; (項目2で選択数値の読み込み順序を横方向優先にする)
「#注釈文」「#hm メッセージ |項目1|項目2|・・・」のどちらの形式でも、選択された数値は変数「A」からアルファベット順に代入されます。その変数がその後上書きされない場合は、計算結果に「変数=数値」として表示されます。ただし、自動的に変数「Z」に代入される項目番号は、計算結果には表示されません。
変数
変数に値を代入するときは「変数=計算式;」の形式で記載します。右辺の計算結果が左辺の変数に代入されます。
変数名には大文字の「A〜Z」と「$」が使用できます。
使用できる定数、関数
機能 | 定義 | 使用例 |
---|---|---|
円周率 | p | 3.141593(定数) |
int(整数化) | i | i(A) (Aは8桁以下の数値) |
整数の余り | % | A%B (A,Bは8桁以下の数値) |
sin(正弦) | s | s(A) (Aの単位は度) |
cos(余弦) | c | c(A) (Aの単位は度) |
べき乗 | ^ | A^B |
ルート | q | q(A) (A >= 0) |
atan(逆正接) | // または a | a(A) (結果の単位は度) |
常用対数 | l | l(A) (A > 0) |
自然対数 | n | n(A) (A > 0) |
eのA乗 | j | j(A) |
絶対値 | b | b(A) |
加減乗除 | + - * / | A+B-C*D/E |
()計算 | () or [] | A*(B+C) |
input文
input文は「input 変数 "A = ";」の形式で記載します。
input文が実行されると数値入力ダイアログボックスが表示され、数値を入力すると指定した変数にその数値の代入が行えます。数値入力ダイアログボックスには「"」で挟まれた文字列(上の式では「A = 」)が表示され、「"」に挟まれた文字がない場合は「変数名 = 」が表示されます。
input文で値が代入される変数に、事前に0以外の値が設定されている場合は、その値が数値入力ダイアログボックスに初期値として表示されます。
if文
if文は「if( 変数<=変数 )変数=計算式;」の形式で記載します。
if文中では変数「A〜Z」「$」、計算式、定数、「<」「>」「=」「<=」「>=」「<>」のみが使用できます。
使用例1 if( A<B )A=A*10; (AがBより小さい場合「A=A*10」を実行する)
使用例2 if( A<B )if( A>C )A=A*10; (AがBより小さく、かつAがCより大きい場合「A=A*10」を実行する)
goto文
goto文は「goto ラベル;」の形式で記載します。
ラベルに使用できる文字は、半角英数字1字です。
goto文が実行されると、そのラベルが記載されている行に飛びます。
ラベル
ラベルは行頭を「<」+「ラベル(半角英数字1字)」の形式で記載します。「<」+「ラベル」以降の文字は改行されるまで無視されます。
ラベルはgoto文の移動先として使用される以外は、何も実行しません。
if文とgoto文を組み合わせた例 <1> (>はなくても良い) ︙ if( A=B )goto 2; if( A>B )goto 1; goto 3; ︙ <2> ︙ <3> ︙
計算結果の表示
左辺にある変数の最後の行のものが計算結果として表示されます。
左辺の変数に「$」が使用されている場合は、上記の計算結果の値と変数「$」の値の2つが計算結果として表示されます。
度分秒の指定
変数に続けて「&」を記載すると、秒の小数点以下の表示を1桁にする度分秒表示になります。
変数に続けて「%」を記載すると、秒の小数点以下を表示しない度分秒表示になります。
「&」「%」に続けて「0」を記載すると、分または秒が10未満のときに小数第2位まで0を表示します。
使用例 → 変数「A」の表示形式を指定する場合は「A%0=A;」のように記載します。右辺は他の変数や定数、計算式でも大丈夫です。
小数点以下の桁数の指定
変数に続けて小数点以下の表示桁数(0〜3が有効)と計算結果の四捨五入等の指定ができます。無指定の場合は小数点以下6桁まで表示されます。度分秒表示との併用はできません。
この指定は計算結果として表示される行の変数でのみ有効となります。
- 変数(A〜Z, $)
- 1文字目:小数点以下の桁数表示を指定(0〜3)
- 2文字目:小数点以下の0表示・非表示と、表示桁数以下の丸め方(0, 1, 2, a, b, c)
- 変数30 (小数点以下3桁表示、小数点以下の0表示、四捨五入)
- 変数31 (小数点以下3桁表示、小数点以下の0表示、切り捨て)
- 変数32 (小数点以下3桁表示、小数点以下の0表示、切り上げ)
- 変数2a (小数点以下2桁表示、小数点以下の0非表示、四捨五入)
- 変数2b (小数点以下2桁表示、小数点以下の0非表示、切り捨て)
- 変数2c (小数点以下2桁表示、小数点以下の0非表示、切り上げ)
単位等の指定
入力値と計算結果に単位等を追加し表示できます。単位等が設定された変数は、A〜Zの順で計算結果表示のときに表示されます。
- 「A="(m)";」の形式で記載すると、値の後に「"」に挟まれた文字が追加される
- 「A=A+B"(m)";」の形式で記載すると、計算結果の値の後に「"」に挟まれた文字が追加される
- 「A=""底辺=";」の形式で記載すると、記載文字列の後に値の追加を行う(「底辺=値」と表示される)
- 「A=""";」の形式で記載すると、表示文字のクリアになる
- 表示される文字は10バイト以内
- 「"」を表示したい場合は「"¥」とし、「¥」を表示したい場合は「¥¥」と記載する
実行の中止
「!"メッセージ"」で「"」に挟まれた文字が表示され実行を中止し、数値選択の状態に戻ります。
- 60バイト以内の文字が表示される
- 「"」は「"¥」、「¥」は「¥¥」と記載する