※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「A:iを1から3まで1ずつ増やす B:jをtempNから始めてmを超えない範囲で4ずつ増やす」です。
この問題は、2つの関数で同じ結果を返すように空欄A・Bを正しく埋める問題です。ポイントは、mod演算による条件分岐と繰り返し処理の構造を理解することです。
この記事では、基本情報技術者試験(FE)試験(令和7年度)で出題された過去問の第1問「関数の繰り返し処理」の解説を行い、試験対策の観点からわかりやすく解説します。
問題の概要
関数function1は、nからmまでの整数のうち4で割り切れる数をカウントする処理を行っています。
関数function2は、同じ値を返すために繰り返し処理を工夫して空欄A・Bを埋める問題です。
正しい空欄の選択肢
- A: iを1から3まで1ずつ増やす
- B: jをtempNから始めてmを超えない範囲で4ずつ増やす
空欄Aは、最初の条件分岐で4で割り切れるかを確認する繰り返し回数を決めます。空欄Bは、4で割り切れる数だけを効率的にカウントするため、4ずつ増やす必要があります。
ポイント解説
この問題では、mod演算の意味と繰り返し処理の構造を正確に理解することが問われています。
特に、function2では無駄な計算を省き、function1と同じ結果を返すロジックを正しく組み立てることが重要です。
勘違いしやすいポイント
- 空欄Aの繰り返し回数を誤ると正しいcountが得られない
- 空欄Bで4ずつ増やさないと、function1と結果が一致しない
補足
mod演算やループの開始値・終了値の理解が、正解に直結します。
試験での出題パターン
基本情報技術者試験では、関数・ループ・条件分岐を組み合わせたプログラム理解問題が出題されます。
空欄補充問題では、計算ロジックの正確な把握が重要です。
この知識が使われている問題
まとめ
- 空欄Aは「iを1から3まで1ずつ増やす」
- 空欄Bは「jをtempNから始めてmを超えない範囲で4ずつ増やす」
- mod演算とループ構造の理解が正答の鍵