さんごー日記。

映画や本やゲームの感想をゆるく記録したり、プログラミングの勉強をゆるく記録するゆるい日記です。

応用情報処理技術者試験の過去問題を解きながらメモ。28日目。

今日も応用情報処理技術者試験の過去問題を見ていきます。

一度過去問題を解いてみて、不正解だった問題に関しておさらいします。

 

 

BNFに関する問題

次のBNFで定義される<DNA>に合致するものはどれか。

という内容の問題です。そもそもBNFが分かりません。

問3 BNF 平成24年春期|応用情報技術者試験.com

 

BNFとは「Backus-Naur form」の略で、「バッカス・ナウア記法」と訳されます。

プログラミング言語や自然言語の構造を定義するために用いられる記法なんだとか。

基本的にはOR(「|」記号)しかないらしい。繰り返しは再帰呼び出しによって定義される。

知っていれば簡単な話ですね。

 

ちなみに最初にぐぐったら有名なデイトレーダーの記事ばっかり検索結果に出てきて無駄知識が増えました。スゴイ人もいたもんですね…

 

 

パリティによる誤り訂正に関する問題

水平垂直パリティで訂正できるビットはいくつかという問題。

問5 垂直水平パリティチェック 平成24年春期|応用情報技術者試験.com

 

水平垂直パリティの場合に訂正できるビットは1ビットだけになります。

 単一のパリティではビットに誤りがあることしか検出できないという事も覚えておきましょう。

考えたら分かることなのですが、試験の時になって考えていたら時間が足りなくなるので、慣れておくのが大事だと思います。

 

スタックからのデータの取り出し順序に関する問題

スタックからのデータの出力順序のパターンが何通りあるのかという問題。

問6 データの出力順序は何通りあるか 平成24年春期|応用情報技術者試験.com

 

書き出してみたけど数え間違ってしまったらしい。

入出力順番を書き出して数えるのと、出力パターンを書き出してからあり得ないものを除外するという方法がある。

両方試して検算するのが確実かもしれない。

 

キャッシュメモリにおけるダイレクトマップ方式に関する問題

ダイレクトマップ方式の説明として正しいものを選ぶという問題

問10 ダイレクトマップ方式 平成24年春期|応用情報技術者試験.com

 

これは言葉を知らないとどうにもならない。カンで答えたけど間違えました。

キャッシュメモリの主記憶ブロックに対する割り当て方式としては3種類あるようです。

3つとも理解していたほうが正解率を上げやすいでしょう。間違っているものも判別しやすくなりますからね。

 

  • ダイレクトマップ … 一つのメモリブロックをキャッシュ内の単一のアドレスに割り当てる。主記憶とキャッシュのアドレスが1対1になる。
  • フルアソシエイティブ … メモリブロックをキャッシュ内の任意の場所に割り当てる。キャッシュメモリのどのブロックにも割り当てる事ができる。キャッシュメモリの使用性が上がる代わりに、ダイレクトマッピングよりも計算に時間がかかる事と、システムが複雑になるというデメリットがある。
  • セットアソシエイティブ … メモリブロックをキャッシュ内の二つ以上のアドレスに割り当てる方式。

 

 スーパースカラに関する問題

スーパースカラの正しい説明を選ぶという問題。

問11 スーパスカラの説明 平成24年春期|応用情報技術者試験.com

 

 知っていれば解ける問題。CPUの中身については馴染みが無いのでスーパーパイプラインとかとごっちゃになって分からくなってしまう。

そしてスーパースカラでもスーパーパイプラインでもない説明を選んで間違えてしまった…

もう一度おさらいしておく。

 

スーパースカラ … 複数のパイプラインを用いて同時に複数の命令を実行できるようにする方式。

スーパーパイプライン … パイプラインをさらに細分化する事で高速化を図る方式。

VLIW … Very Long Instruction Wordの略。1つの命令で複数の機能ユニットを制御することで高速化を図る方式。

 

スーパーパイプラインがパイプラインのすごいやつというイメージで覚えれば良いだろうか…

 

CPUクロックとCPIに関する問題

2つのCPUのCPIとクロック周期が提示されて、どっちが何倍速いかというのを答える問題。

問12 クロック周期とCPI 平成24年春期|応用情報技術者試験.com

 

CPIという単位の意味がよく分からなかったので正解できなかった。

CPI(Cycles Per Instruction)というのは、一つ命令を実行するのに必要なクロック周期のこと。

これが分かっていればあとは単純な計算となります。

 

キャッシュメモリのコヒーレンシに関する問題

コヒーレンシの対策が必要な方式はどれかというのを答える問題。

問13 キャッシュメモリ制御方式の特徴 平成24年春期|応用情報技術者試験.com

 

コヒーレンシというのが何なのかよくわかっていないが、「一貫性」と注釈が入っているおかげでなんとなく分かる。

ただ選択肢の「ライトスルー」と「ライトバック」がどっちがどっちだか分からなくなってしまった。改めて専門用語のおさらいをしておく。

 

 

  • ライトスルー … 主記憶とキャッシュに同時に書き込む方式。コヒーレンシの対策は不要。
  • ライトバック … キャッシュメモリに書き込んで、キャッシュから主記憶にデータを書き戻す方式。マルチプロセッシング環境ではコヒーレンシの対策が必要。
  • ライトバッファ … 一時的にデータを保持する領域。書き込み方式の名前ではない。
  • ライトプロテクト … ある領域への書き込みを禁止する設定。書き込み方式の名前ではない。

 

 

ライトバックは読み込んでから主記憶に書き込むまでに時間差があるのが特徴ですね。

これは覚えるしかない。

 

クライアントサーバシステムの機能分担に関する問題

ストアドプロシージャを利用したシステムでのクライアントとサーバーの機能分担の組み合わせを答える問題。

問15 クライアントサーバシステム 平成24年春期|応用情報技術者試験.com

 

それぞれの層の名前と意味が良くわかってなかったので正解できず。

おさらいです。

 

  • PR層 … GUIや入出力処理やユーザーインターフェース。
  • FN層 … データの加工やビジネスプロセスなど。
  • DB層 … データベースの処理。

 

この問題に関してじゃっかんの違和感があります。

いわゆる3層アーキテクチャによる分類なのだろうと思うのですが、これを「クライアント」と「サーバー」という言葉だけで二つに分けるのには前提となる情報が足りないように思います。「クライアント」というものが何を指すのかよくわからないからです。

「クライアント」がスマホなのか、ユーザーのパソコンやブラウザなのか、APIのアプリケーションサーバーの事を言っているのか、それによって「FN層」がクライアントとサーバーどちらに含まれるのか変わってくるように思うわけです。

どんなアプリケーションなのかによっても変わるし。

この問題での「クライアント」というのはおそらくアプリケーションサーバーのようなものを意図していると思うので、次に似たような問題が出た時はそのように解釈するというのが一応の試験対策となりそうです。

 

 

今日の所はこのへんで。

 

平成29年度のに対応した過去問題集はこちら。

応用情報処理技術者試験は、その時その時のトレンドを取り入れた問題が出題されます。最新の情報をチェックしておくと良いでしょう。 

平成29年度【春期】応用情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)

平成29年度【春期】応用情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)