算術演算子を「実際にどう使うか」を体感できるように、色々なケース別の練習問題+解答+解説を用意しました。初心者でも「なるほど!」と思えるように噛み砕いています。
🛒 ケース1: ショッピングの合計と割引
問題:
商品Aが1200円、商品Bが850円。合計金額を出し、さらに「合計が2000円以上なら10%割引」した金額を計算せよ。
解答例:
const a = 1200;
const b = 850;
let total = a + b;
if (total >= 2000) {
total = total * 0.9; // 10%引き
}
console.log(total); // 1845
JavaScript解説:
+で合計を出す。- 条件分岐
ifと* 0.9で割引を適用。 - 実務でよくある「閾値を超えたら割引」パターン。
🎮 ケース2: ゲームの経験値とレベルアップ
問題:
経験値が37ポイント。5ポイントごとにレベルアップする。現在のレベルと、次のレベルまであと何ポイント必要かを求めよ。
解答例:
const exp = 37;
const level = Math.floor(exp / 5);
const remainder = exp % 5;
const need = 5 - remainder;
console.log("レベル:", level); // 7
console.log("次まで:", need); // 3
JavaScript解説:
Math.floor(37 / 5)→ 7(整数部分だけ取り出す)。%で余りを出すと「サイクルの中でどこにいるか」がわかる。- ゲームの進行管理にぴったり。
⏰ ケース3: 秒を「分:秒」に変換
問題:
総秒数が245秒。これを「分:秒」の形式で表示せよ(例: 4:05)。
解答例:
const totalSeconds = 245;
const minutes = Math.floor(totalSeconds / 60);
const seconds = totalSeconds % 60;
const display = `${minutes}:${String(seconds).padStart(2, "0")}`;
console.log(display); // "4:05"
JavaScript解説:
- 60で割った商が「分」、余りが「秒」。
padStart(2, "0")で「05」のようにゼロ埋め。- タイマーや時計表示で必須のテクニック。
💵 ケース4: 消費税と端数処理
問題:
税抜価格980円、税率10%。税込価格を「四捨五入」して整数にせよ。
解答例:
const price = 980;
const taxRate = 0.1;
const withTax = price * (1 + taxRate);
const rounded = Math.round(withTax);
console.log(rounded); // 1078
JavaScript解説:
* (1 + 税率)で税込価格。Math.roundで四捨五入。- お金の計算では「切り捨て」「切り上げ」「四捨五入」を状況に応じて使い分ける。
📊 ケース5: 平均点の計算
問題:
テストの点数 [72, 88, 95, 63] の平均点を小数第1位まで表示せよ。
解答例:
const scores = [72, 88, 95, 63];
const total = scores[0] + scores[1] + scores[2] + scores[3];
const average = total / scores.length;
console.log(average.toFixed(1)); // "79.5"
JavaScript解説:
- 配列の合計を出して、要素数で割る。
.toFixed(1)で小数第1位まで表示。- 成績処理や統計でよく使う。
🚦 ケース6: 偶数・奇数判定
問題:
数値が17のとき、偶数か奇数かを判定せよ。
解答例:
const n = 17;
if (n % 2 === 0) {
console.log("偶数");
} else {
console.log("奇数");
}
// 奇数
JavaScript解説:
% 2の余りが0なら偶数、1なら奇数。- 最も基本的な「余りの使い道」。
🧩 ケース7: 小数誤差の回避
問題:0.1 + 0.2 を正しく「0.3」と表示せよ。
解答例:
const sum = 0.1 + 0.2;
console.log(Number(sum.toFixed(1))); // 0.3
JavaScript解説:
- そのままだと
0.30000000000000004。 .toFixed(1)で丸めてからNumber()で数値に戻す。- 金額や精度が必要な場面で重要。
まとめ
- %(余り) → サイクル処理や偶奇判定に便利。
- Math.floor / round / ceil → 整数化の必須ツール。
- toFixed → 小数の誤差や表示整形に使う。
- + は「数値の足し算」と「文字列の結合」の両方に使われるので注意。
👉 ここまでで「買い物」「ゲーム」「時間」「お金」「統計」「判定」など、実生活やプログラミングでよく出るケースを網羅しました。
次に進めるとしたら「比較演算子」や「条件分岐」と組み合わせた応用問題を作ると、さらに実践的になります。
