3.1. 算術演算
DNCLでは、加減乗除の四則演算は、『+』、『-』、『×』、『 / 』で指定します。 整数の除算では、商を『÷』で、余りを『%』で計算することができます。
複数の演算子を使った式の計算では、基本的に左側の演算子が先に計算されますが、『×』、『 / 』、『÷』、『%』 は、 『+』、『-』より先に計算されます。
JavaScriptでは、整数の除算で商だけ取り出す単一の演算子が無いので、端数を切り捨てる関数Math.floor()を利用します。
また、丸括弧『(』と『)』で式をくくって、演算の順序を明示することができます。
DNCL | JavaScript | 意味 |
---|---|---|
+ | + | 左右の2つの値を足す。 |
– | – | 左の値から右の値を引く。 |
× | * | 左右の値をかける。 |
/ | / | 左の値を右の値で割る。 |
÷ | Math.floor( / ) | / を用いて、左の値を右の値で割る。
Math.floor()を使って、端数を切り捨て、整数部分だけ取り出す。 |
% | % | 整数の除算の余りを求める。 |
【共通テスト手順記述標準言語 (DNCL) 】
DNCL | 実行結果 |
---|---|
atai ← 7 / 2 | atai には 3.5 が代入されます。 |
syo ← 7 ÷ 2 | syo には 3 が代入されます。 |
sogaku ← ne1- ne2- ne3 | sogaku ← (ne1- ne2) – ne3 と同じです。 |
kosu ← 1+ kazu÷ 3 | kosu ← 1+ (kazu ÷ 3) と同じです。 |
heikin ← (hidari+ migi)÷ 2 | heikin ← hidari+ migi÷ 2 と異なります。 |
【JavaScript】
DNCL | JavaScript | 意味 |
---|---|---|
atai ← 7 / 2 | atai = 7 / 2; | atai には 3.5 が代入されます。 |
syo ← 7 ÷ 2 | syo = Math.floor(7 / 2); | syo には 3 が代入されます。 |
sogaku ← ne1- ne2- ne3 | sogaku = ne1 – ne2 – ne3; | sogaku = (ne1- ne2) – ne3 と同じです。 |
kosu ← 1+ kazu / 3 | kosu = 1 + kazu / 3; | kosu = 1+ (kazu / 3) と同じです。 |
heikin ← (hidari+ migi) / 2 | heikin = ( hidari + migi ) / 2; | heikin = hidari+ migi / 2 と異なります。 |
3.2. 比較演算
数値の比較演算は、『=』、『≠』(あるいは『≠』)、『>』、『≧』、『≦』、『<』で指定します。演算結果は、真か偽の値となります。
JavaScriptでは、『=』の代わりに『==』(※「=」を二つ、間に空白を入れずに並べる)を、『≠』の代わりに『!=』を使います。また、『≧』、『≦』はそれぞれ『>=』、『<=』です。
DNCL | JavaScript | 意味 |
---|---|---|
= | == | 左辺と右辺の値が等しいとき、真 |
≠ | != | 左辺と右辺の値が等しくないとき、真 |
> | > | 左辺の値が右辺の値より大きいとき、真 |
≧ | >= | 左辺の値が右辺の値以上のとき、真 |
≦ | <= | 左辺の値が右辺の値以下のとき、真 |
< | < | 左辺の値が右辺の値より小さいとき、真 |
【共通テスト手順記述標準言語 (DNCL) 】
DNCL | 実行結果 |
---|---|
kosu > 3 | kosu が 3 より大きければ真となります。 |
ninzu× 2 ≦ 8 | ninzu の 2 倍が 8 以下であれば真となります。 |
kaisu ≠ 0 | kaisu が 0 でなければ真となります。 |
【JavaScript】
DNCL | JavaScript | 実行結果 |
---|---|---|
kosu > 3 | kosu > 3 | kosu が 3 より大きければ真となります。 |
ninzu× 2 ≦ 8 | ninzu * 2 <= 8 | ninzu の 2 倍が 8 以下であれば真となります。 |
kaisu ≠ 0 | kausu != 0 | kaisu が 0 でなければ真となります。 |
【文字列の比較】
左辺と右辺が同じ文字列の場合に真となり、それ以外の場合は偽となります。
≠(DNCL)、!=(JavaScript)を使うと、左辺と右辺が同じ文字列でない場合に真となり、同じ文字列の場合に偽となります。
DNCL | JavaScript | 実行結果 |
---|---|---|
「あいうえお」=「あいうえお」 | “あいうえお” == “あいうえお” | 真となります。 |
「あいうえお」=「あいう」 | “あいうえお” == “あいう” | 偽となります。 |
“ABC”=”ABC” | “ABC” == “ABC” | 真となります。 |
“ABC”=”abc” | “ABC” == “abc” | 偽となります。 |
「あいうえお」≠「あいうえお」 | “あいうえお” != “あいうえお” | 偽となります。 |
「あいうえお」≠「あいう」 | “あいうえお” != “あいう” | 真となります。 |
“ABC”≠”ABC” | “ABC” != “ABC” | 偽となります。 |
“ABC”≠”abc” | “ABC” != “abc” | 真となります。 |
3.3. 論理演算
論理演算は、真か偽を返す式に対する演算で、『かつ』(DNCL。JavaScriptでは&&)、『または』(DNCL.。JavaScriptでは||)、『でない』(DNCL。JavaScriptでは!)の演算子で指定します。
DNCL | JavaScript | 意味 |
---|---|---|
かつ | && | 左辺と右辺がともに真なら、真。
『 & 』を空白を開けず2個並べる。 |
または | || | 左辺と右辺のいずれか、または両方が真なら、真。
『 | 』を空白を開けず2個並べる。 |
でない | ! | 値の真偽を反転する(真なら偽に、偽なら真に変える) |
【共通テスト手順記述標準言語 (DNCL) 】
DNCL | 実行結果 |
---|---|
kosu ≧ 12 かつ kosu ≦ 27 | kosu が 12 以上 27 以下なら真となります。 |
kosu% 2 = 0 または kosu < 0 | kosu が偶数か負の値なら真となります。 |
kosu > 75 でない | kosu が 75 より大きくなければ真となります。 |
kosu>12かつkosu<27でない | 「(kosu > 12 かつ kosu < 27) でない」と同じです
(左側の論理演算子が先に実行されるため。) |
kosu>12かつkosu<27でない | kosu > 12 かつ (kosu < 27 でない)と異なります。 |
【JavaScript】
DNCL | JavaScript | 実行結果 |
---|---|---|
kosu ≧ 12 かつ kosu ≦ 27 | kosu >= 12 && kosu <= 27 | kosu が 12 以上 27 以下なら真となります。 |
kosu% 2 = 0 または kosu < 0 | kosu % 2 == 0 || kosu < 0 | kosu が偶数か負の値なら真となります。 |
kosu > 75 でない | ! kosu > 75 | kosu が 75 より大きくなければ真となります。
JavaScriptでは、比較演算子 『 > 』の方が否定演算子『 ! 』より優先順位が高いです。 |
kosu>12かつkosu<27でない | ! ( kosu > 12 && kosu < 27 ) | JavaScriptでは、演算子『 ! 』の優先順位が『&&』より高いため、( )で囲む必要があります。 |
kosu > 12 かつ (kosu < 27 でない) | kosu > 12 && ! kosu < 27 | kosuが12より大きく、かつ kosuが27より小さくない時に真になります。 |