Swift教室 Swift と競技プログラミングの教室

四則演算と優先順位

読了目安 約2分

加減乗除と余りの計算。整数同士の割り算は切り捨てになる。

この章の目次

コンピュータの得意技は計算です。 print の括弧の中には、計算式をそのまま書けます。

四則演算子

Swift
print(5 + 3)
print(5 - 3)
print(5 * 3)
print(6 / 2)

計算の記号を演算子と呼びます。 ×と÷はキーボードで打ちにくいので、掛け算は *、割り算は / で書きます。

演算子意味
+足し算
-引き算
*掛け算
/割り算
%割り算の余り

整数の割り算と余り

Swift
print(7 / 2)
print(7 % 2)

7 / 2 の答えは 3.5 ではなく 3 になります。 整数同士の割り算では、小数点以下が切り捨てられます。 余りがほしいときは % を使います。

小数の答えがほしいときは、小数点付きの数値で計算します。

Swift
print(7.0 / 2.0)

小数点付きの数値は、整数とは別の種類として扱われます。 数値の種類は 変数と型 で説明します。

整数を 0 で割ることはできません。 割る数に 0 と直接書くとコンパイルエラー、入力などで割る数が 0 になると「実行時エラー」になります。

計算の順序

Swift
print(1 + 2 * 3)
print((1 + 2) * 3)

算数と同じで、* / %+ - より先に計算されます。 順序を変えたいときは括弧で囲みます。 迷ったら括弧を付けるのが安全です。

試してみよう: print((1 + 2) * (3 + 4)) を足して、結果を予想してから実行してみてください。

値を並べて出力

print は、カンマで区切って複数の値を渡せます。 値の間には半角スペースが 1 つ入ります。

Swift
print("5 + 3 =", 5 + 3)

学びどころ

概念一言まとめ
+ - * / %四則演算と余り
整数同士の /小数点以下は切り捨て
優先順位* / % が先。括弧が最優先
print(a, b)カンマ区切りで、空白入りの 1 行になる

演習

1 行目に整数 A と B が空白区切りで入力されます。 次の 3 行を出力してください。 「A + B =」などの部分は、そのままの文字で出力します。

テキスト
A + B = (A + B の計算結果)
A - B = (A - B の計算結果)
A * B = (A * B の計算結果)
テキスト
入力例:
3 5

出力例:
A + B = 8
A - B = -2
A * B = 15

スターターコードの最初の 3 行は、入力を受け取る決まり文句です。 そのまま残して、続きに出力を書いてください。 仕組みは 入力と実行順序 で説明します。

模範解答
Swift
let parts = readLine()!.split(separator: " ").map { Int($0)! }
let a = parts[0]
let b = parts[1]
print("A + B =", a + b)
print("A - B =", a - b)
print("A * B =", a * b)