資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

FE 科目B サンプル問題 問13

 

 次の記述中の   に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。

 関数 search は,引数 data で指定された配列に,引数 target で指定された値が含まれていればその要素番号を返し,含まれていなければ -1 を返す。data は昇順に整列されており,値に重複はない。
 関数 search には不具合がある。例えば,data の   場合は,無限ループになる。

〔プログラム〕

◯整数型: search(整数型の配列: data, 整数型: target)

 整数型: low, high, middle

 

 low ← 1

 high ← dataの要素数

 

 while (low ≦ high)

  middle ← (low + high) ÷ 2 の商

  if (data[middle] < target)

   low ← middle

  elseif (data[middle] > target)

   high ← middle

  else

    return middle

   endif

 endwhile

 

 return -1

 

解答群

  1. 要素数が 1 で,target がその要素の値と等しい
  2. 要素数が 2 で,target が data の先頭要素の値と等しい
  3. 要素数が 2 で,target が data の末尾要素の値と等しい
  4. 要素に-1 が含まれている

解答・解説

解答

 ウ

解説

 作成中

前問 一覧 次問