演算子、比較、条件式
このページでは、値を組み合わせる記号と語を扱います。四則演算とその計算順序、true か false を返す比較、論理演算子とビット演算子です。行の答えが思っていた数と違うときや、予算内に収まっているかなどをノートに確かめさせたいときに参照してください。
四則演算
| 演算子 | 書き方 | 例 | 結果 |
|---|---|---|---|
| 足し算 | +, plus |
£12.50 + £4.30 |
£16.80 |
| 引き算 | -, −, minus |
£20 - £4.50 |
£15.50 |
| 掛け算 | *, ×, times, multiplied by、並べて書く |
3 × £4.50, 2(3 + 4) |
£13.50, 14 |
| 割り算 | /, ÷, divided by |
£60 / 4 |
£15.00 |
| べき乗 | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| 余り | mod、2つの数の間の % |
50 mod 6, 50 % 6 |
2 |
| 平方根 | √, sqrt(...), square root of |
√144 |
12 |
| 2乗・3乗 | ², ³ |
3³ |
27 |
| 階乗 | !, factorial(...) |
5!, factorial(5) |
120 |
四則演算は、ただの数、金額、単位付きの量のどれにも使え、答えには通貨や単位がそのまま残ります。
£12.50 + £4.30 答え £16.803 * £4.50 答え £13.50£1,000 * 1.05^3 答え £1,157.636 times 7 答え 42100 minus 37.5 答え 62.5「並べて書く」とは、2(3 + 4) や 2π のように * を省くことです。どんなときに使えて、どんなときに使えないかは、暗黙の掛け算で説明しています。
計算の順序
計算は、学校の数学で習ったのと同じ順序で行われます。
- かっこ。
5!などの階乗。- べき乗。右から左へ計算します。
2^3^2は2^9で、512になります。 - 先頭のマイナス記号。べき乗のあとに適用されるので、
-2^2は-4、(-2)^2は4です。 - 掛け算、割り算、
mod。左から右へ計算します。 - 足し算と引き算。左から右へ計算します。
* を省いてもこの順序は変わりません。2x^2 は教科書の数式と同じく、x を2乗してから2倍します。
つまり、隣り合う足し算や引き算より掛け算が先に計算されます。会計を合計するときにつまずきやすいポイントです。
£85 - £12.50 * 2 答え £60.00(£85 - £12.50) * 2 答え £145.00£120 / 4 / 2 答え £15.00迷ったら、かっこを付けましょう。付けても困ることはなく、あとでノートを読み返すときにもわかりやすくなります。
ルート記号は直後の値だけにかかるので、√9 + 16 は19です。和の平方根を求めるときは、式全体をかっこで囲みます。
√(9 + 16) 答え 5余り
mod は割り算の余りを返します。ものをグループに分けるときに便利です。
卵 = 50卵 mod 6 答え 2floor(卵 / 6) 答え 850個の卵は、6個入りのパック8つに収まり、2個余ります。
2つの数の間の % も余りを表します。2つ目の数の前にスペースがなくてもかまいません。50 % 6 と 50% 6 はどちらも2になります。後ろに何もない % はパーセント(50%)になります。詳しくはパーセントを参照してください。
階乗
数、名前、閉じかっこの直後に ! を付けると、階乗になります。
5! 答え 120ランナー = 4ランナー! 答え 243! + 2 答え 85!=4 答え true階乗は隣のべき乗より先に計算されるので、2^3! は2⁶、つまり64です。最後の行のように、! の後ろに = が続く場合は「等しくない」の意味のままです。factorial(5) は 5! と同じ答えになります。
比較
==、!=、<、<=、>、>= は2つの値を比べて、true か false を返します。ただの数、同じ通貨の金額、同じ種類の量どうしで使え、単位が違っていてもかまいません。
予算 = £400支出 = £365支出 <= 予算 答え true支出 == 予算 答え false支出 != 予算 答え true5 km == 5,000 m 答え true90 min >= 1.5 hours 答え true2 kg < 2,500 g 答え true比較の前に単位が換算されるので、1 mile > 1.5 km は true です。キログラムとメートルのように種類の違う量を比べると、incompatible units エラーになります。
比較でできないこと
- 連続した比較。
5 < x < 10には対応していません。2つの比較を組み合わせて5 < x && x < 10と書きます。 - Unicode記号。
≠、≤、≥は認識されません。!=、<=、>=を使います。 - 日付。 2つの日付を
<や>で比べることはできません。引き算をして、その差を期間と比べます。
締め切り = 30 September 2026予約日 = 14 September 2026締め切り - 予約日 答え 2 weeks 2 days締め切り - 予約日 >= 7 days 答え true論理演算子
比較どうしは、&&(両方が真)または ||(少なくとも一方が真)でつなげます。2つの比較の間では、and と or という語も同じように使えます。
距離 = 5 km走行時間 = 27 min距離 >= 5 km && 走行時間 < 30 min 答え true距離 >= 10 km || 走行時間 < 25 min 答え false距離 >= 10 km or 走行時間 < 30 min 答え truetrue と false はそのまま書くこともでき、&& や || で組み合わせられます。
true || false 答え truetrue && false 答え false使えそうに見えて、対応していない書き方もあります。
andとorは比較どうしの間でしか使えません。true and falseは使えないので、true && falseと書きます。- 否定の演算子はありません。
not trueも!trueも使えません。代わりに(支出 > 予算) == falseのようにfalseと比べます。 orはエラーの代わりの値にはなりません。1/0 or 5は5になりません。
比較を条件式で使う
比較がいちばん役立つのは if … then … else … の中です。答えに応じて値を選べます。
かご = £34.50if かご >= £40 then £0 else £3.99 答え £3.99else if、後置の if と unless、分岐の中での代入など、書き方の全体は条件式で説明しています。
ビット演算子
整数では、ビット演算子 &(AND)、|(OR)、xor、<<(左シフト)、>>(右シフト)が使えます。大文字の AND、OR、XOR も使えます。主に、色の値やファイルのアクセス権といったプログラミング関連の作業で役立ちます。
12 & 10 答え 812 | 10 答え 1412 xor 10 答え 612 AND 10 答え 81 << 10 答え 1,0241024 >> 3 答え 128答えは通常の数として表示されます。作業中の基数で見たいときは、to binary、in hex、to octal を付け加えます。
0o644 | 0o111 to octal 答え 0o755色 = 0xFF8800(色 >> 8) & 0xFF 答え 136シフトは &、|、xor より先に計算されますが、色の例のような行はかっこを付けたほうがずっと読みやすくなります。
組み合わせて使う
四則演算、比較、論理演算をまとめて使った、毎月の予算チェックです。
# 9月の予算手取り = £2,400家賃 = £1,050光熱費 = £230食費 = 4 * £65 答え £260.00残り = 手取り - 家賃 - 光熱費 - 食費 答え £860.00家賃 / 手取り as % 答え 43.75%残り > £500 答え true残り > £500 && 家賃 <= 手取り * 45% 答え true食費 では、何かを足す前に掛け算が行われ、残り では左から右へ順に引き算が行われます。最後の2行によって、ノートが条件を自動で確かめてくれるようになります。残りが£500を超え、家賃が手取りの45%以内に収まっている間は答えが true のままで、どちらかが崩れた瞬間に false に変わります。