基本情報トップに戻る
練習問題難易度: 標準2025年度

基本情報技術者 過去問練習問題 第4問

問題

関数 search は、二つの文字型の配列をそれぞれ引数 data 及び key で受け取り、data から key の要素の並びと同じ並びを全て探し、その先頭の要素番号を全て格納した配列を返す。見つからなければ要素数 0 の配列を返す。search を search({"a", "b", "a", "b", "c", "a", "b", "c"}, {"a", "b", "c"}) として呼び出すと、図中の /*** β ***/ の行の条件式が真となる回数は何回か。正しい答えを解答群の中から選べ。ここで、配列の要素番号は 1 から始まる。

の図表

選択肢

  1. 11
  2. 22
  3. 33
  4. 44
  5. 55
  6. 66
  7. 77
  8. 88
  9. 99
  10. 1010

正解

8. 8

詳しい解説を見る

解説

β の条件は data[i + j - 1] が key[j] と等しいかの判定で、不一致になると内側ループを打ち切る。data は {a,b,a,b,c,a,b,c}、key は {a,b,c}。外側 i は 1〜6。i=1: a=a(真)、b=b(真)、data[3]=a≠c(偽)→真は 2 回。i=2: data[2]=b≠a(偽)→真 0 回。i=3: a=a、b=b、c=c が全て一致→真 3 回(一致を検出)。i=4: data[4]=b≠a(偽)→真 0 回。i=5: data[5]=c≠a(偽)→真 0 回。i=6: a=a、b=b、c=c が一致→真 3 回。合計すると 2+0+3+0+0+3=8 回となる。したがって「ク」(8 回)が正しい。(出典: 令和7年度 基本情報技術者試験 科目B 問4)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。