for文の読み方(繰返しの回数と制御変数の変化)
更新日:
用語解説
for文は、制御変数の値を一定の幅で変えながら、決まった回数だけ処理を繰り返す構文です。擬似言語では for(i を 1 から 3 まで 1 ずつ増やす)のように、初期値・終値・増分を日本語で書き、endfor までを繰り返します。
■ 試験で押さえるポイント
for(i を 1 から 3 まで 1 ずつ増やす)は、i が 1、2、3 のときに1回ずつ、合計3回処理を実行します。
実行回数は、割り切れる場合「(終値 − 初期値)÷ 増分 + 1」で求められます。迷ったら i が取る値を書き出します。
処理の中で制御変数を使うと、回ごとに違う値で計算できます(例:num ← num + 2 × i)。
「減らす」と書かれていれば大きい値から小さい値へ変わります。終値に「要素数 − 1」などの式が入ることもあります。
for の中に for がある二重ループでは、外側の1回ごとに内側の for が最初から最後まで繰り返されます。
外側 n | 内側 m の範囲(要素数4、m は 1 から 4−n まで) | 内側の回数 |
|---|---|---|
1 | m=1, 2, 3 | 3回 |
2 | m=1, 2 | 2回 |
3 | m=1 | 1回 |
合計 | 6回(比較の回数) |
上の表は、要素数4の配列を並べ替える二重ループ(バブルソート)で、内側の終値が外側の n によって毎回変わる例です。
■ 選択肢での判断ポイント
選択肢の for の条件(例:「1 から 7 まで 3 ずつ」と「2 から 6 まで 2 ずつ」)は、制御変数が実際に取る値を書き出して比べます。回数が同じでも値が違えば計算結果が変わります。
例: for(n を 1 から max まで 1 ずつ増やす)の中で calcX ← calcX + n とすると、1 から max までの総和が求まります。
この用語に関連する過去問
令和4年度 基本情報技術者試験 科目B サンプル問題 問10
単方向リストからの要素削除
令和4年度 基本情報技術者試験 科目B サンプル問題 問6
ビットの並びを逆にする処理
令和4年度 基本情報技術者試験 科目B サンプル問題 問3
配列要素の順次追加
令和8年度 基本情報技術者試験 科目B 問1
配列要素の右シフトと末尾要素の先頭移動
令和8年度 基本情報技術者試験 科目B 問5
カテゴリカルデータのOne-Hotエンコーディング変換
令和8年度 基本情報技術者試験 科目B 問4
配列による単方向リスト表現とポインタ走査
令和8年度 基本情報技術者試験 科目B 問3
再帰関数の動的計画法(ループ配列)への書き換え
令和7年度 基本情報技術者試験 科目B 問5
理論度数の計算
令和5年度 公開問題 基本情報技術者試験 科目B 問5
コサイン類似度の計算アルゴリズム
令和5年度 公開問題 基本情報技術者試験 科目B 問1
素数判定プログラムのトレース
令和6年度 公開問題 基本情報技術者試験 科目B 問5
注文データからの商品の関連度計算
令和6年度 公開問題 基本情報技術者試験 科目B 問3
辺の配列から隣接行列への変換