資格部

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

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

 

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

 関数 simRatio は,引数として与えられた要素数 1 以上の二つの文字型の配列 s1 と s2 を比較し,要素数が等しい場合は,配列の並びがどの程度似ているかの指標として,(要素番号が同じ要素の文字同士が一致する要素の組みの個数 ÷ s1の要素数)を実数型で返す。例えば,配列の全ての要素が一致する場合の戻り値は 1,いずれの要素も一致しない場合の戻り値は 0 である。
 なお,二つの配列の要素数が等しくない場合は,-1 を返す。
 関数 simRatio に与える s1,s2 及び戻り値の例を表に示す。プログラムでは,配列の領域外を参照してはならないものとする。

表 関数 simRatio に与える s1,s2 及び戻り値の例
s1 s2 戻り値
{"a", "p", "p", "l", "e"} {"a", "p", "p", "l", "e"} 1
{"a", "p", "p", "l", "e"} {"a", "p", "r", "i", "l"} 0.4
{"a", "p", "p", "l", "e"} {"m", "e", "l", "o", "n"} 0
{"a", "p", "p", "l", "e"} {"p", "e", "n"} -1

〔プログラム〕

◯実数型: simRatio(文字型の配列: s1, 文字型の配列: s2)

 整数型: i, cnt ← 0

 if (s1の要素数 ≠ s2の要素数)

  return -1

 endif

 for (i を 1 から s1の要素数 まで 1 ずつ増やす)

  if (   )

   cnt ← cnt + 1

  endif

 endfor

 return cnt ÷ s1の要素数 /* 実数として計算する */

 

解答群

  1. s1[i] ≠ s2[cnt]
  2. s1[i] ≠ s2[i]
  3. s1[i] = s2[cnt]
  4. s1[i] = s2[i]

解答・解説

解答

 エ

解説

 作成中

前問 一覧 次問