CO-K46|情報Ⅰ 対策問題
Pythonのプログラム「for i in range(5):」が表す制御構造はどれか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
Pythonのfor文(反復構造) を問う問題です。range(5)が0〜4である点が最大の注意点です。
解説
for i in range(5): は、変数iの値を変えながら、字下げされたブロックを繰り返し実行する反復構造(ループ)です。range(5)は「0から始めて5の直前まで」の整数の並びを表すので、iは0、1、2、3、4と変わり、ちょうど5回繰り返されます。
最大の注意点は、range(5)が0から始まり、5を含まないことです。「5という数字が書いてあるのに5は使われない」ため、うっかり1〜5や0〜5と誤読しがちです。「range(n)はn回繰り返し、iは0からn−1まで」と覚えましょう。
共通テスト表記(DNCL)との対応も重要です。DNCLの「iを1から5まで1ずつ増やしながら繰り返す:」はiが1〜5の5回、Pythonのrange(5)はiが0〜4の5回。繰り返し回数は同じでもiの値の範囲が違うので、iをそのまま計算に使う場合は結果が変わります。授業で使う言語と試験表記を対応づけて読む練習をしておきましょう。
制御構造の識別としても整理できます。繰り返しを含む時点で「順次構造のみ」ではなく、条件で処理を選ぶわけではないので分岐でもありません。
選択肢の確認
1.○ iを0〜4と変えながら5回繰り返す反復構造。
2.× 分岐構造はif文で表す。for文は繰り返し。
3.× 繰り返しを含むので順次構造のみではない。
4.× 例外処理はtry文などで書く別の仕組み。
ここだけは覚えよう
range(n)=0からn−1までのn回 — 5は含まない。DNCLの「1からnまで」との違いに注意。