「厳選5題」過去問と解説 | 平成23年度 秋期 の過去問やるならこれをやれ


2020-09-08 更新

ここでは、平成23年度 秋期 基本情報技術者試験の午前試験 の中から「やるべき問題」を5題に厳選し、ぶっちゃけた解説をさせていただきます。

やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題(練習しないとできない問題)です。

厳選問題looks_oneバッカス・ナウア記法の読み方を知っておこう

問 4 (平成 23 年度 秋期)

次の規則から生成することができる式はどれか。

〔規則〕

<式> ::= <変数> | (<式> + <式>) | <式>*<式>
<変数> ::= A | B | C | D
info横へスクロールできます

ア A + ( B + C ) * D  
イ ( A + B ) + ( C + D )
ウ ( A + B ) * ( C + D )  
エ ( A * B ) + ( C * D )

解説

「規則」の部分に何やら不思議な表記がありますが、これは「バッカス・ナウア記法」と呼ばれるものです。

バッカスは、1950 年代に FORTRAN というプログラミング言語を開発した人物で、ナウアは、そのお弟子さんです。バッカス・ナウア記法は、両者によって考案された、プログラミング言語の文法の表記方法です。

バッカス・ナウア記法では、

左辺 ::= 右辺

という構文で、「左辺とは右辺である」を示します。
縦棒( | )は、「または」を意味します。

これだけわかれば、問題に示された 2 行の「規則」の意味がわかるでしょう。

 

1 行目は、「式とは、変数、または、( 式 + 式 ) 、または、式 * 式、である」という意味です。
2 行目は、「変数とは、A 、または B 、または C 、または D である」という意味です。

+ はカッコで囲み、* はカッコで囲まないことがポイントです。

 

それでは、選択肢を見てみましょう。

アは、A の後にある + をカッコで囲んでいないので、規則に合っていません。
イは、( A + B ) と ( C + D ) の間にある + をカッコで囲んでいないので、規則に合っていません。
ウは、規則に合っています。
エは、( A * B ) と ( C * D ) の間にある + をカッコで囲んでいないので、規則に合っていません。

したがって、ウが正解です。

解答

searchタグで関連記事をチェック論理式

厳選問題looks_two論理式をベン図で表す練習をしておこう

問 26 (平成 23 年度 秋期)

論理式 X = A ・ B + A ・B + AB と同じ結果が得られる論理回路はどれか。ここで,論理式中の・は論理積,+ は論理和,XX の否定を表す。

ア 
イ 
ウ 
エ 
解説

これまでの連載の中で、論理式や論理回路の問題に対して、「具体的な値を想定して解く」という解法を紹介しましたが、別の解法もあります。

それは、「ベン図に表して解く」です。

この問題は、「ベン図に表して解く」という解法が合っています。実際にやってみて、「これは、A と B に具体的な値を想定して解くより、ベン図に表して解いた方が簡単だ!」ということを実感してください。

 

この問題では、論理積(AND 演算)、論理和( OR 演算)、否定( NOT 演算)を、・ 、+ 、  上付き線(バー)で表しています。

論理演算で注意してほしいのは、否定 > 論理積 > 論理和の順に優先順位が高い ことです。

したがって、問題文に示された論理式は、
「 A でなく、かつ、B である」
または
「 A であり、かつ、B でない」
または
「 A でなく、かつ、B でない」
という意味です。

 

これをベン図に示してみましょう。以下のようになります。

図 問題文に示された論理式をベン図に示したもの

このベン図が示している領域は、A と B の交わりを除いた部分です。

交わりは、AND 演算なので、A AND B を除いた部分、すなわち NOT (A AND B) であり、A NAND B です。

選択肢のアは AND 回路、イは NAND 回路、ウは OR 回路、エは NOR 回路です。

したがって、イが正解です。

解答

searchタグで関連記事をチェック論理回路

厳選問題looks_3パスワードの盗用を防止する方法を知っておこう

問 42 (平成 23 年度 秋期)

入力パスワードと登録パスワードを用いて利用者を認証する方法において,パスワードファイルへの不正アクセスによる登録パスワードの盗用防止策はどれか。

パスワードに対応する利用者 ID のハッシュ値を登録しておき,認証時に入力された利用者 ID をハッシュ関数で変換して参照した登録パスワードと入力パスワードを比較する。
パスワードをそのまま登録したファイルを圧縮しておき,認証時に復元して,入力されたパスワードと比較する。
パスワードをそのまま登録しておき,認証時に入力されたパスワードと登録内容をともにハッシュ関数で変換して比較する。
パスワードをハッシュ値に変換して登録しておき,認証時に入力されたパスワードをハッシュ関数で変換して比較する。
解説

ID とパスワードを使って利用者を認証するサーバには、それらを記録したパスワードファイルがあります。「そのファイルを盗まれたら、不正アクセスされてしまう!」と心配になるでしょう。

でもご安心ください。ちゃんと盗用防止策が施されています。

それは、パスワードをハッシュ値に変換して記録することです。その仕組みを、シンプルな具体例で説明しましょう。

 

ID が「 seplus 」でパスワードが「 abc123 」だとしましょう。これらをそのままパスワードファイルに記録すると、盗まれたらアウトです。

そこで、あらかじめ取り決めておいた計算方法で、パスワードを数値に変換して記録します。

この数値が、ハッシュ値 です。

 

ここでは、「パスワードを構成するすべての文字の ASCII コードを足す」という計算方法を使うことにします。

「 abc123 」というパスワードのハッシュ値は、97 + 98 + 99 + 49 + 50 + 51 = 444 になります。
パスワードファイルには、「 seplus 」という ID と、「 444 」というハッシュ値を記録するのです。

利用者がログインするときには、入力された「 abc123 」というパスワードから「 444 」というハッシュ値が計算され、それがパスワードファイルに記録されているハッシュ値と一致すれば、本人であると認証されます。

もしも、パスワードファイルが盗まれても、「 abc123 」というパスワードは盗まれないので、不正アクセスはできません。

「いやいや、そんなことはない! 444 というハッシュ値は盗まれてしまうのだから、 444 というハッシュ値になるパスワードを用意すれば、不正アクセスできてしまうじゃないか!
たとえば、 bbb 222 というパスワードのハッシュ値は、 444 になる!」

と思われるでしょう。

たしかに、「パスワードを構成するすべての文字の ASCII コードを足す」という単純な計算方法では、同じハッシュ値になるパスワードを簡単に用意できてしまいます。

そこで、実際には、同じハッシュ値を得るパスワードを見つけるのが困難になるように、もっと複雑な計算方法が使われているのです。

 

それでは、選択肢を見てみましょう。

アは利用者 ID をハッシュ値にして登録、
イはパスワードを圧縮して登録、
ウはパスワードをそのまま登録してハッシュ値を比較、
エはパスワードをハッシュ値に変換して登録

なので、エが正解です。

解答

厳選問題looks_4ウイルスを検出する様々な方法を知っておこう

問 43 (平成 23 年度 秋期)

コンピュータウイルス対策ソフトのパターンマッチング方式を説明したものはどれか。

感染前のファイルと感染後のファイルを比較し,ファイルに変更が加わったかどうかを調べてウイルスを検出する。
既知ウイルスのシグネチャコードと比較して,ウイルスを検出する。
システム内でのウイルスに起因する異常現象を監視することによって,ウイルスを検出する。
ファイルのチェックサムと照合して,ウイルスを検出する。
解説

コンピュータウイルス対策ソフトがウイルスを検出する方法には、

  • チェックサム法( check sum = チェック用の合計値)
  • コンペア法( compare = 比較)
  • パターンマッチング法( pattern matching = パターンの一致)
  • ヒューリスティック法( heuristic = 発見)
  • ビヘイビア法( behavior = 振る舞い)

などがあります。それぞれの特徴を以下に示します。

名称 検出方法
チェックサム法 ファイルのチェックサムが合わなければ感染していると判断する
コンペア法 ウイルスに感染していない原本と比較して、異なっていれば感染していると判断する
パターンマッチング法 既知のウイルスの特徴を記録しておき、プログラムの中に一致する部分があれば、感染していると判断する
ヒューリスティック法 ウイルスが行う動作を決めておき、プログラムの中に一致する動作があれば、感染していると判断する
ビヘイビア法 プログラムの動作を監視し、通信量やエラーの急激な増加などの異常があれば、感染していると判断する

選択肢を見てみましょう。

アは、感染前と感染後のファイルを比較するので、コンペア法です。
イは、既知ウイルスのシグネチャコード(特徴)と比較するので、パターンマッチング法です。
ウは、異常現象を監視するので、ビヘイビア法です。
エは、チェックサムと照合するので、チェックサム法です。

したがって、イが正解です。

 

解答

厳選問題looks_5ソフトウェア開発手法の種類を知っておこう

問 50 (平成 23 年度 秋期)

要求分析から実装までの開発プロセスを繰り返しながら,システムを構築していくソフトウェア開発手法はどれか。

ア ウォータフォールモデル  
イ スパイラルモデル
ウ プロトタイピングモデル  
エ リレーショナルモデル

解説

基本情報技術者試験で取り上げられるソフトウェア開発手法の種類は、ウォータフォールモデル、プロトタイピングモデル、スパイラルモデルの 3 つです。午前試験は、四択問題なので、もう 1 つ選択肢が必要です。

そこで、リレーショナルモデルという無関係な用語を選択肢に入れています。リレーショナルモデルは、データベースに関する用語です。

 

ウォータフォールモデルは、全体で進捗を合わせて、開発工程を後戻りしないようにする手法です。ウォーターフォール( waterfall )は、「滝」という意味です。後戻りしないことを滝に例えているのです。

プロトタイピングモデルは、プロトタイプ( prototype = 試作品)を作ってから開発を行う手法です。

スパイラルモデルは、要求分析から実装までの開発工程を繰り返す手法です。スパイラル( spiral )は、「らせん」という意味で、繰り返すことを表しています。

したがって、イが正解です。

解答

記事をお読みいただきありがとうございます。

もしも、一度解いただけでは、よくわからない問題があったなら、わかるまで何度でも練習してください。「やるべき問題」は「わかるまでやるべき問題」だからです。

この厳選問題大全集が、受験者の皆様のお役に立てば幸いです。

 

label 関連タグ
科目A試験は、
免除できます。
独習ゼミで科目A試験を1年間免除して、科目B試験だけに集中しましょう。
免除試験を受けた 74.9% の方が、
科目A免除資格を得ています。
科目A免除試験 最大 2 回の
受験チャンス !
info_outline
科目A免除試験 最大 2 回の
受験チャンス !
詳しく見てみるplay_circle_filled
label これまでの『厳選5題 過去問と解説』の連載一覧 label 著者