コンテンツにスキップ

4-1. 演習問題


1-1. 変数の主な役割として最も適切なのはどれか。

  • A. 値に名前を付けて扱いやすくする
  • B. 画面の色を自動で変える
  • C. Git の履歴を保存する
解答と解説

正解:A

  • A が正しい。変数は、値に意味のある名前を付けて扱いやすくするための仕組みである。
  • B は誤り。画面の色変更は UI や CSS の話であり、変数そのものの役割ではない。
  • C は誤り。Git の履歴管理はバージョン管理の役割であり、変数とは別の話である。

変数の本質は、「値を保存する」だけでなく、「何の値かを分かりやすくする」ことにある。

1-2. truefalse を表す型として最も適切なのはどれか。

  • A. 数値型
  • B. 文字列型
  • C. 真偽値型
解答と解説

正解:C

  • C が正しい。truefalse は yes / no を表す真偽値である。
  • A の数値型は計算に使う値である。
  • B の文字列型は文章や文字を表す。

条件分岐では「成り立つ / 成り立たない」を扱うため、真偽値の考え方がとても重要になる。

1-3. この章の JavaScript 例で "10" + 5 の結果として最も適切なのはどれか。

  • A. 15
  • B. "105"
  • C. 50
解答と解説

正解:B. "105"

  • B が正しい。この章の JavaScript 例では、左側が文字列だと + は文字連結として働き、結果は文字列の "105" になる。
  • A は、両方が数値として扱われた場合の結果である。
  • C は、今回の演算規則とは無関係である。

見た目が似ていても、"10" は文字列、10 は数値である。型の違いが結果の違いを生む。

1-4. if 文の主な役割として最も適切なのはどれか。

  • A. 条件によって処理を分ける
  • B. 同じ処理を 100 回自動保存する
  • C. 変数の名前を短くする
解答と解説

正解:A

  • A が正しい。if 文は条件が成り立つかどうかで処理を分ける構文である。
  • B は誤り。繰り返しや保存とは別の話である。
  • C は誤り。変数名の長さとは関係がない。

if は「場合分け」を表す基本部品であり、合否判定や権限判定など多くの場面で使われる。

1-5. 繰り返し処理が特に向いている場面として最も適切なのはどれか。

  • A. 一覧の全要素に同じ処理を行う
  • B. 1 回だけメッセージを表示する
  • C. ブランチ名を決める
解答と解説

正解:A

  • A が正しい。繰り返しは、配列や一覧の全件を順に処理する場面で特に有効である。
  • B は誤り。1 回だけの処理なら繰り返しは不要である。
  • C は誤り。ブランチ名は Git の話であり、ループとは無関係である。

「同じ形の処理が続くなら、繰り返しにできないか」と考えるのがプログラミングの基本である。

1-6. 次の関数を実行したときの戻り値として最も適切なのはどれか。

function double(n) {
return n * 2;
}

double(3)

  • A. 3
  • B. 5
  • C. 6
解答と解説

正解:C

  • C が正しい。double(3)3 * 2 を計算し、6 を返す。
  • A は入力値そのままであり、関数の計算結果ではない。
  • B は計算式と一致しない。

関数を読むときは、「何を受け取り、何を返すか」を順番に追うと理解しやすい。


次の文章の空欄を埋めてください。

  1. 値に名前を付けて扱う仕組みを (   ) という。
  2. 値の種類を表す考え方を (   ) という。
  3. truefalse を表す値を (   ) 値という。
  4. 条件によって処理を分ける代表的な構文を (   ) 文という。
  5. 同じような処理を何回も行う構文を (   ) という。
  6. 関数へ渡す入力を (   ) という。
解答欄
解答と解説
  1. 変数

値に名前を付けて扱う仕組みである。意味の分かる名前を使うと、コードの意図が読みやすくなる。

値の種類を表す考え方である。計算、表示、条件判定などで扱い方が変わる。

  1. 真偽

true / false のように、成り立つかどうかを表す値である。条件分岐でよく使う。

  1. if

条件によって処理を分ける代表的な構文である。条件が true のときだけ特定の処理を実行できる。

  1. 繰り返し

同じような処理を何度も行う考え方である。JavaScript では for 文が代表例である。

  1. 引数

関数へ渡す入力である。関数は引数を受け取り、処理して結果を返す。


3-1. 変数と値の違いを説明してください。

解答欄
解答と解説

変数は値に付ける名前であり、値そのものではない。 たとえば price = 1200 なら、price は名前、1200 は実際の値である。 この区別ができると、コードを読むときに「この名前は何を表しているのか」を考えやすくなる。

3-2. なぜ型を意識しないとバグにつながりやすいのか説明してください。

解答欄
解答と解説

値の型が違うと、同じ記号でも結果が変わることがある。 たとえば JavaScript では 10 + 5 は数値の加算だが、"10" + 5 は文字の連結になりやすい。 そのため、値が「数」なのか「文字」なのかを意識しないと、意図しない結果を招きやすい。

3-3. 条件分岐と繰り返しの役割の違いを説明してください。

解答欄
解答と解説

条件分岐は、条件によって実行する処理を変える仕組みである。 一方、繰り返しは、同じような処理を何回も実行する仕組みである。 つまり if は「場合分け」、for は「反復」と考えると整理しやすい。

3-4. 関数で処理をまとめることが、保守や再利用にどう役立つか説明してください。

解答欄
解答と解説

関数で処理をまとめると、同じロジックを複数箇所に書かずに済む。 そのため、仕様変更があったときも関数の中を直せばよく、修正漏れを減らしやすい。 また、処理に名前を付けられるので、コード全体の意図も読み取りやすくなる。


変数・ループ・関数・条件分岐のTODOを埋め、出力が期待通りになることを確認せよ。

  1. for ループで 1〜5 の合計を total に求める
  2. 引数 name を受け取り `Hello, ${name}` を返す関数 greet を実装する
  3. age18 以上なら "adult"、そうでなければ "minor" を出力する if 文を書く
  4. 実装したら実行し、期待の出力と一致するか確認する
実行プレイグラウンド
編集内容は自動保存されます / Ctrl+Enter でも実行できます
出力
「実行」を押すと、ここに結果が表示されます。
  • total15 になる理由(1 + 2 + 3 + 4 + 5
  • typeof の結果が型によって変わること("string" vs "number"
  • age15 に変えると最初の出力がどう変わるか
解答と解説

③ 実行結果の例

adult
string
number
15
Hello, Sato

最初の adult は、age >= 18 が true だからである。 typeof userName は文字列なので stringtypeof age は数値なので number になる。 total1 + 2 + 3 + 4 + 5 なので 15 である。 greet(userName) はテンプレート文字列を使って Hello, Sato を返している。


以下は、④で元のコードから 1 か所ずつ別々に変更した場合の例である。


④-1. age15 に変えた場合

minor
string
number
15
Hello, Sato

age >= 18 が false になるため、if ではなく else 側が実行される。 ここで変わるのは最初の判定結果だけで、他の型や合計値は変わらない。


④-2. i <= 10 に変えた場合

adult
string
number
55
Hello, Sato

1 から 10 までを足すので、1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 になる。 繰り返しの条件を変えるだけで、同じ計算パターンを広い範囲へ適用できるのがループの強みである。


コードの流れを図で見る

userName = "Sato"
age = 20
total = 0
for で 1〜5 を足す
total = 15
age >= 18 を判定
"adult" を表示
型・合計・関数の戻り値を表示

この 1 本の小さなプログラムの中に、変数・型・条件分岐・繰り返し・関数がすべて入っている。 それぞれを個別に覚えるだけでなく、「どう組み合わさって動くか」を見ることが重要である。