次の記述中の  に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。
関数 search は、二つの文字型の配列を、それぞれ引数 data 及び key で受け取り、data から、key の要素の並びと同じ並びを全て探し、その先頭の要素番号を全て格納した配列を返す。見つからなければ、要素数0の配列を返す。

関数 search を search ({"a", "b", "a", "b", "c", "a", "b", "c"}, {"a", "b", "c"}) として呼び出すと、 /*** B ***/ の行の条件式が真となる回数は    回である。

[プログラム]
/* keyは、要素数1以上の配列である */
○整数型の配列: search(文字型の配列: data, 文字型の配列: key)
整数型:i, j, lenData, lenKey
整数型の配列: result ← {} // 要素数0の配列
lenData ← dataの要素数
lenKey ← keyの要素数
/* (lenData - lenKey + 1) が0以下のときは繰返し処理を実行しない */
for (iを1から (lenData - lenKey + 1) まで1ずつ増やす)
for (jを1から lenKey まで 1 ずつ増やす) // a
if (data[i + j - 1] が key [j] と等しい) /*** B ***/
if (jが lenKey と等しい)
resultの末尾にiの値を追加する
endif
else
aの行から始まる繰返し処理を終了する
endif
endfor
endfor
return result

出典令和7年度 基本情報技術者試験 科目B 問4
1
2
3
4
5
6
7
8
9
10