HOME > プログラミング > 演算 > 四則演算の優先順位

「()」演算 四則演算の優先順位

 

プログラムの算術式は手計算と同じように計算の優先順位が適用される
ここでは電卓とプログラムで演算順序の違いを確認してみましょう。
実験式3 + 4 × 5 - 6 ÷ 7 = ?

電卓で実験式の通りにボタンを押して計算する
;3 + 4 × 5 - 6 ÷ 7	//電卓で左の式を入力したとき
;= 7 × 5 - 6 ÷ 7	//一番左の3 + 4の計算結果を求めて
;= 35 - 6 ÷ 7	//続いて一番左の7 × 5の計算結果を求めて
;= 29 ÷ 7	//最後に35 - 6の計算結果を求めて
;= 4.142857142857143	//29 ÷ 7の計算結果(終了)
上の電卓の計算順序をHSPで表すと・・・
ddim kotae	//実数型変数kotaeを宣言する
kotae = 3.0	//kotaeに3を代入する・・・3.000000
kotae += 4.0	//kotaeに4を足す・・・7.000000
kotae *= 5.0	//kotaeに5を掛ける・・・35.000000
kotae -= 6.0	//kotaeから6を引く・・・29.000000
kotae /= 7.0	//kotaeを7で割る・・・4.142857
mes kotae	//kotaeを表示する・・・4.142857
HSPで実験式通り記述して計算する
ddim kotae	//実数型変数kotaeを宣言する
kotae = 3.0 + 4.0 * 5.0 - 6.0 / 7.0	//実験式を一気に書いたとき
mes kotae	//・・・22.142857
上のHSPの計算順序は・・・
ddim kotae	//実数型変数kotaeを宣言する
kotae = 3.0 + 4.0 * 5.0 - 6.0 / 7.0	//実験式
;= 3.0 + (4.0 * 5.0) - (6.0 / 7.0)	//乗算と除算を優先計算
;3.0 + 20.0 - 0.857143	//加算と減算を計算
mes kotae	//・・・22.142857

電卓が計算した答えは「4.142857...」になりました。
HSPが計算した答えは「22.142857」になりました。
この違いは、複数の算術演算子がある演算式の場合、
「()(カッコ)」乗算・除算・剰余算加算・減算をの順に計算します。
一般の電卓で計算するように左から順番に演算するごとに答えを出して、
その答えを元に次の演算を行いません。


 

実験式を電卓と同じ要領で左から順番に1つずつ演算する場合
優先して計算したい部分の両端に「()(カッコ)」を付けます。
実験式3 + 4 × 5 - 6 ÷ 7 = ?」⇒「(((3 + 4) × 5) - 6) ÷ 7 = ?

HSPで電卓と同じ計算順序になるように実験式を()カッコを付けて計算する
ddim kotae	//実数型変数kotaeを宣言する
kotae = (((3.0 + 4.0) * 5.0) - 6.0) / 7.0	//実験式を()を付けて書いたとき
mes kotae	//・・・4.142857
上のHSPの計算順序は・・・
ddim kotae	//実数型変数kotaeを宣言する
kotae = (((3.0 + 4.0) * 5.0) - 6.0) / 7.0	//実験式
;kotae = ((7.0 * 5.0) - 6.0) / 7.0	//()の計算を優先
;kotae = (35.0 - 6.0) / 7.0	//()の計算を優先
;kotae = 29.0 / 7.0	//・・・4.142857
mes kotae	//・・・4.142857

当サイトコンテンツの複写・転載・引用は禁止しております。