基本情報トップに戻る
B難易度: 2026年度

基本情報技術者 予想問題B 第70問

問題

次の関数search(arr, target)について、線形探索を行う。arr=[10,20,30,40,50], target=30のとき、戻り値はいくつか。 ○ 整数型: search(整数型の配列: arr, 整数型: target) 整数型: i for (i を 0 から arr の要素数−1 まで 1 ずつ増やす) if (arr[i] = target) return i endif endfor return -1

選択肢

  1. 1ア -1
  2. 2イ 2
  3. 3ウ 3
  4. 4エ 30

正解

2. イ 2

詳しい解説を見る

解説

正解はイ。線形探索は配列の先頭から順に目的の値と比較していくアルゴリズムである。トレースすると、i=0:arr[0]=10≠30。i=1:arr[1]=20≠30。i=2:arr[2]=30=30で一致し、その時点でreturn iにより添字2を返して関数は終了する。アの−1は配列内に目的の値が存在しなかった場合の戻り値、ウの3は「3番目の要素」という日常的な数え方と添字が0始まりであることを混同した場合、エの30は添字ではなく要素の値そのものを返すと誤読した場合の誤りである。科目Bでは「戻り値は添字か値か」「添字は0始まりか1始まりか」が定番の引っかけであり、線形探索の計算量がO(n)、ソート済み配列に使える二分探索がO(log n)という対比も頻出ポイントである。

一問一答

科目A 180問+科目B 60問

Bの関連問題

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

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