見出し画像

基本情報技術者試験〔科目B〕演習 2022年サンプル問題 問12(文法、一元配列)

セール中

〜2月19日 09:00

問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)

〔プログラム〕
1: 〇実数型: simRatio (文字列型の配列:s1, 文字列型の配列: s2)
2:  整数型: i, cut ← 0
3:  if (s1の要素数 ≠ s2の要素数)
4:   return -1
5:  endif
6:  for (i を s1 の要素数 まで 1 ずつ増やす)
7:   if ( □ )
8:   cnt ← cnt + 1
9:   endif
10:  endfor
11:  return cnt ÷ s1 の要素数 /* 実数として計算する */

解答:s1[i] = s2[i]
解説
 問題文では、関数 simRatio が配列 s1 と s2 を比較し、要素の一致率を計算することが求められている。具体的な手順としては以下の通り:

ここから先は

2,049字

セール中
¥300
¥ 240

1月20日 09:00 〜 2月19日 09:00

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?