にしのクエスト2

情報処理技術者試験と資格学校講師の日常

にしのクエスト2

まいにち基本 平成30年秋問題解説 問5 問6 問7 問8

もう休み、飽きた。

f:id:koharuwest:20190429153641p:plain


基本情報の平成30年秋問題を解いていきます。
問題の解き方や考え方をわかりやすく、解説してみ
る連載です。

問5
待ち行列に対する操作を、次のとおり定義する。

ENQ n:待ち行列にデータnを挿入する。
DEQ  :待ち行列からデータを取り出す。


空の待ち行列に対し、
ENQ1、ENQ2、ENQ3、DEQ、ENQ4、
ENQ5、DEQ、ENQ6、DEQ、DEQ
の操作を行った。


次にDEQ操作を行ったとき、取り出されるデータ
はどれか。

ア 1
イ 2
ウ 5
エ 6


問6
クイックソートの処理方法を説明したものはどれか。

ア 既に整列済みのデータ列の正しい位置に、デー
  タを追加する操作を繰り返していく方法である。
イ データ中の最小値を求め、次にそれを除いた部
  分の中から最小値を求める。この操作を繰り返
  していく方法である。
ウ 適当な基準値を選び、それより小さな値のグル
  ープと大きな値のグループにデータを分割する。
  同様にして、グループの中で基準値を選び、そ
  れぞれのグループを分割する。この操作を繰り
  返していく方法である。
エ 隣り合ったデータの比較と入替えを繰り返すこ
  とによって、小さな値のデータを次第に端のほ
  うに移していく方法である。


問7
プログラムのコーディング規約に規定する事項のう
ち、適切なものはどれか。

ア 局所変数は、用途が異なる場合でもデータ型が
  同じならば、できるだけ同一の変数を使うよう
  にする。
イ 処理性能を向上させるために、ループの制御変
  数には浮動小数点型変数を使用する。
ウ 同様の計算を何度も繰り返すときは、関数の再
  帰呼出しを用いる。
エ 領域割付け関数を使用するときは、割付けがで
  きなかったときの処理を記述する。


問8
Javaの特徴に関する説明として、適切なものは
どれか。

ア オブジェクト指向言語であり、複数のスーパク
  ラスを指定する多重継承が可能である。
イ 整数や文字は常にクラスとして扱われる。
ウ ポインタ型があるので、メモリ上のアドレスを
  直接参照できる。
エ メモリ管理のためのガーベジコレクションの機
  能がある。

 

(解答と解説)

問5
待ち行列はキュー構造(ところてん式)なので

操作   ところてん内
ENQ1 1
ENQ2 12
ENQ3 123
DEQ  23
ENQ4 234
ENQ5 2345
DEQ  345
ENQ6 3456
DEQ  456
DEQ  56

次のDEQは5なのでウが正解です。

問6
クイックソートとバブルソートは覚えておきましょ
お。これは説明そのままになります。


問7

ア 局所変数は、用途が異なる場合でもデータ型が
  同じならば、できるだけ同一の変数を使うよう
  にする。
  用途が異なる場合は違う変数を使いましょお。
  使い回しはよくないです。

イ 処理性能を向上させるために、ループの制御変
  数には浮動小数点型変数を使用する。
  基本的にコンピュータは小数点嫌いです。

ウ 同様の計算を何度も繰り返すときは、関数の再
  帰呼出しを用いる。
  再帰はいいんですけど、メモリ食うんですよ。
  最悪、オーバーフローするのでダメです。

エ 領域割付け関数を使用するときは、割付けがで
  きなかったときの処理を記述する。
  正解。領域割付はうまくいくとは限らず、うま
  くいかなかった場合動作が厳しくなるので。


問8
Java→ガーベジコレクションと、キーワードを
把握しておいてください。エが正解です。