次の記述中の空欄に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。 関数 search は,二つの文字型の配列を,それぞれ引数 data 及び key で受け取り,data から,key の要素の並びと同じ並びを全て探し,その先頭の要素番号を全て格納した配列を返す。見つからなければ,要素数 0 の配列を返す。 関数 search を search({"a", "b", "a", "b", "c", "a", "b", "c"}, {"a", "b", "c"}) として呼び出すと,/* β */の行の条件式が真となる回数は [ 空欄 ] 回である。 〔プログラム〕 /* 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 ずつ増やす) // α if (data[i + j - 1] が key[j] と等しい) /* β */ if (j が lenKey と等しい) resultの末尾 に iの値 を追加する endif else αの行から始まる繰返し処理を終了する endif endfor endfor return result
出典:令和7年度 基本情報技術者試験 公開問題 科目B 問4(独立行政法人情報処理推進機構)
問題文・選択肢・正解は公開問題のとおりで、改変していません。解説と補足は当サービスによるものです。