流れ図Xで示す処理では、変数iの値が、1→3→7→13と変化し、流れ図Yで示す処理では、変数iの値が、1→5→13→25と変化した。図中の[a]、[b]に入れる字句の適切な組合せはどれか。
差分の並びから式とループ変数の増え方を逆算する
![流れ図X:開始→「iに1を格納する」→ループ端「変換 k:1,1,3」(注:ループ端の繰返し指定は変数名:初期値,増分,終値)→[a]を計算しその結果をiに格納する→ループ端「変換」→終了。流れ図Y:開始→「iに1を格納する」→ループ端「変換 [b]」→[a]を計算しその結果をiに格納する→ループ端「変換」→終了。両流れ図とも同じ[a]の式を使うが、ループ条件kの初期値・増分・終値が異なる(Xはk:1,1,3固定、Yは[b]が問われている)。](/data/ip/figures/ip-2021a-main-74.jpg)
| a | b | |
|---|---|---|
| ア | 2i + k | k: 1, 3, 7 |
| イ | 2i + k | k: 2, 2, 6 |
| ウ | i + 2k | k: 1, 3, 7 |
| エ | i + 2k | k: 2, 2, 6 |
選択肢
- アa: 2i + k b: k: 1, 3, 7
- イa: 2i + k b: k: 2, 2, 6
- ウa: i + 2k b: k: 1, 3, 7
- エa: i + 2k b: k: 2, 2, 6
正解と解説
正解:エ a: i + 2k b: k: 2, 2, 6
Xの値の変化は1→3→7→13で、増分が2、4、6とkの2倍ずつ増えている。k=1,2,3のときi+2kを繰り返せばこの通りになるので、aはi+2kである。Yは1→5→13→25で増分が4、8、12だからkは2、4、6と2ずつ増えており、初期値2・増分2・終値6という指定になる。
選択肢ごとの解説
- ア2i+kではXの1回目で3になっても2回目以降の値が合わない。
- イaの式が誤りで、増分の説明としても成立しない。
- ウaは正しいが、Yのkが1,3,7では増分が合わない。
- エ正解。a=i+2k、Yのkは初期値2・増分2・終値6。
同じ分野の他の問題
- 関数isPrimeは、引数として与えられた正の整数が、素数であればtrueを、素数でなければfalseを戻り値とする。例…2026年度 秋期 問85
- 関数calculateAmountOfPrizeは、業務改善の効果における改善額と短縮期間を、それぞれimproveme…2025年度 秋期 問99
- 手続calcMod3を呼び出したときの出力はどれか。 〔プログラム〕 ○calcMod3() 整数型: totalVal…2025年度 秋期 問78
- 関数binaryToIntegerは、1桁以上の符号なし2進数を文字列で表した値を引数binaryStrで受け取り、その…2024年度 秋期 問85
- 関数convertは、整数型の配列を一定のルールで文字列に変換するプログラムである。関数convertをconvert(…2024年度 秋期 問62
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。