模試 科目B(20問100分)

クイズ1

次の関数 saidai は、引数 data の要素の最大値を返すつもりで書かれています。

○整数型: saidai(整数型の配列: data) 整数型: i, x x ← 0 for (i を 1 から dataの要素数 まで 1 ずつ増やす) if (data[i] > x) x ← data[i] endif endfor return x

data が {-4, -9, -2} のとき、この関数の戻り値はどれですか。

クイズ2

次の関数 kaisuu について考えます。

○整数型: kaisuu(整数型: n) 整数型: k k ← 0 while (n > 1) n ← n ÷ 2 /* 小数点以下は切り捨てる */ k ← k + 1 endwhile return k

kaisuu(100) の戻り値はどれですか。

クイズ3

次の関数 goukei は、配列 data の全要素の合計を返します。

○整数型: goukei(整数型の配列: data) 整数型: i, sum sum ← 0 i ← 1 while ( [ ] ) sum ← sum + data[i] i ← i + 1 endwhile return sum

空欄に入れる条件として正しいものはどれですか。

クイズ4

次の手続き hanten を、要素が {1, 2, 3, 4, 5} である配列 a に対して実行しました。

○hanten(整数型の配列: a) 整数型: i, t, n n ← aの要素数 for (i を 1 から n ÷ 2 まで 1 ずつ増やす) /* 小数点以下は切り捨てる */ t ← a[i] a[i] ← a[n - i + 1] a[n - i + 1] ← t endfor

実行後の a の内容はどれですか。

クイズ5

ある会社では、部門ごとに共有フォルダを1つ用意し、その部門に所属する全員へ読み取りと書き込みの権限をまとめて与えています。人事部の共有フォルダには全社員の給与情報を含むファイルが置かれていますが、人事部には給与業務をまったく担当しない採用担当者も所属しています。この運用について、最も強く懸念される問題はどれですか。

クイズ6

次の関数 taikaku について考えます。

○整数型: taikaku(整数型の二次元配列: m) 整数型: i, j, s s ← 0 for (i を 1 から 3 まで 1 ずつ増やす) for (j を 1 から 3 まで 1 ずつ増やす) if (i = j) s ← s + m[i, j] endif endfor endfor return s

m の内容が 1 行目から順に {2, 2, 3}、{4, 5, 6}、{7, 8, 1} のとき、戻り値はどれですか。

クイズ7

次の再帰関数 r について考えます。

○整数型: r(整数型: n) if (n ≦ 1) return 1 endif return n × r(n - 2)

r(7) の値はどれですか。

クイズ8

次の再帰関数 f について考えます。

○整数型: f(整数型: n) if (n ≦ 2) return 1 endif return f(n - 1) + f(n - 2)

f(7) の値はどれですか。

クイズ9

空のスタックに対して、push(1)、push(2)、push(3)、pop、push(4)、pop、pop の順に操作を行いました。3 回の pop で取り出された値を、取り出された順に並べたものはどれですか。

クイズ10

社員が、取引先を名乗る差出人から届いたメールの添付ファイルを開いたところ、直後に見慣れないプロセスが起動し、外部のサーバーと通信を続けていることに気づきました。この社員が最初に取るべき行動として、最も適切なものはどれですか。

クイズ11

次の二分木があります。根は A です。A の左の子は B、右の子は C です。B の左の子は D、右の子は E です。C の左の子は F で、C に右の子はありません。D、E、F に子はありません。この木を帰りがけ順(後行順)で走査したとき、節を訪れる順序はどれですか。

クイズ12

昇順に整列された配列 data の内容が {2, 4, 6, 8, 10, 12, 14, 16, 18, 20} です。要素番号は 1 から 10 とします。二分探索で値 14 を探すとき、探索範囲の中央の要素を data[(low + high) ÷ 2] とし、小数点以下は切り捨てます。目的の値に到達するまでに、中央の要素と 14 を比較する回数は何回ですか。

クイズ13

配列 {5, 3, 8, 1, 9, 2} に対して、先頭から順に隣り合う 2 つの要素を比較し、左側が大きければ入れ替える、という処理を配列の末尾まで 1 回だけ行いました。処理後の配列の内容はどれですか。

クイズ14

初期状態が {44, 55, 12, 42, 94, 18} である配列を昇順に整列します。ある整列法では、2 回目の処理が終わった時点で配列が {12, 44, 55, 42, 94, 18} になりました。この整列法はどれですか。

クイズ15

自社が公開している Web アプリケーションに対して、入力フォームから不正な SQL 文を送り込み、データベースの内容を抜き出そうとする攻撃が続いていることが、アクセスログから判明しました。根本原因はアプリケーションの入力処理にありますが、改修の完了までには数週間かかります。この期間の緩和策として最も適切なものはどれですか。

クイズ16

ある探索方法は、要素数 n が 1000 のときおよそ 10 回、n が 1000000 のときおよそ 20 回の比較で目的の要素にたどり着きます。この探索方法の計算量を O 記法で表したものはどれですか。

クイズ17

ハッシュ関数 h(k) = k mod 11 を使い、キー k のデータを配列の h(k) 番目の位置に格納します。キー 14、25、31、40 を格納するとき、同じ位置に格納しようとして衝突する組み合わせはどれですか。

クイズ18

次の関数 hantei について考えます。

○文字列型: hantei(整数型: t) if (t ≧ 90) return "A" elseif (t ≧ 70 and t < 90) return "B" elseif (t ≧ 70) return "C" else return "D" endif

t にどのような整数を与えても、決して返らない値はどれですか。

クイズ19

次の関数 c について考えます。

○整数型: c(整数型の配列: a) 整数型: i, cnt cnt ← 0 for (i を 1 から aの要素数 - 1 まで 1 ずつ増やす) if (a[i] > a[i + 1]) cnt ← cnt + 1 endif endfor return cnt

a が {4, 4, 7, 2, 9, 9, 1} のとき、戻り値はどれですか。

クイズ20

ある会社は、自社が運営するオンラインショップから個人情報が漏えいした場合に備え、利用者への損害賠償費用や事故発生時の調査費用を補償する保険に加入しました。この対応は、リスクへの対応のうちどれに当たりますか。

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。