基本情報技術者試験 第1章「基礎理論」 – よく出る問題と抑えておきたいポイント
目次
こんにちわ、ガリベン小僧の佐藤です。
今春、無事に基本情報技術者試験に合格することが出来ました。
今回は勉強したことを備忘録的に残しつつ、これから基本情報の資格を取ろうかなと、思っている人への刺激になればいいなと思います。
はじめに
今回は、幅広い対象範囲の中、「基礎理論」に焦点を当てて、書いていきます。
ちなみに将来的には下記、試験範囲の詳細を網羅しつつ、読んでたら合格しちゃったよ、っていうのを目指そうと思いますので、よろしくお願いします。
試験範囲の詳細
- 第1章 基礎理論
- 第2章 コンピュータシステム
- 第3章 技術要素
- 第4章 開発技術
- 第5章 プロジェクトマネジメント
- 第6章 サービスマネジメント
- 第7章 システム戦略
- 第8章 経営戦略
- 第9章 企業とホーム
基礎理論とは
コンピュータを学んでいく上で基礎部分に当たるのがこの章です。
しっかり学んでおくと、後から学んだ知識を結びつけるのに有効になる上、技術者として仕事に就いたときにも役立つ内容が盛り込まれています。
2進数の仕組みや基数変換、論理演算から数学的な内容まで含みます。
以下、抑えておきたい項目です。
基数変換
この項目の問題はほぼ毎回出題されています。
特に小数の表現に関しては、ちょっとした計算も絡むところなので理解を深めておく必要を感じました。
固定小数点形式
固定小数点に関しては2進数が理解できていれば、問題ないと思います。
ただ、補数の求め方や、誤差に関する理解は結構な頻度で出題されているので、抑えておきたいと思います。
論理回路
豆電球のような図が出てきます。こちらもほぼ確実に出てきます。
論理的に整理していく問題で、個人的にはパズルみたいで楽しいです。
ただ解いた問題が間違っていた時の不快感は別格です。
基本となる法則は抑えておくと時間短縮になると思います。
状態遷移
こちらの問題は、当日解けなかった問題です。
あまり難しい内容ではないのですが、内容を知らないと難しいので、抑えておいて欲しいです。
逆ポーランド記法
なんのこっちゃという感じですが、過去最多の出題数を誇る問題のようです。
2016年春季までで12回確認されています。絶対に抑えましょう。
信号処理
暗記となりますが、標本化、量子化、符号化、ローパスフィルタを使ったフィルタリングとキーワードがたくさん出てきますので、抑えておきましょう。
木構造
データ構造の一種になりますが、結構出題が確認されました。
図で表記されており、そういったビジュアル的な問題は目新しさから結構出ているように感じます。
アルゴリズム
プログラミングに自身がある人は、特別暗記も必要ないのですが、怪しい方は必ず確認しましょう。ソート順でバブルソートの内容は、どれですか。といった形で出題されます。
また、午後の部ではアルゴリズムは必須の問題です。しっかりと固めて臨むべきだと感じました。
プログラミング言語・マークアップ言語
どの言語がどういった言語か、簡単な特徴は抑えておきたいところです。キーワードを決めて絡めて覚えていきましょう。
以上、抑えておきたい項目でした。
それでは、何問かよく出る問題を選抜しましたのでチャレンジしてみましょう。
1.基数変換に関する問題
10進数の分数、1/32を16進数の小数で表したものはどれか。
ア: 0.01
イ: 0.02
ウ: 0.05
エ: 0.08
ヒント
1/32=1/16*1/16*n
解答:エ
2.固定小数点形式に関する問題
10進数-5.625を、8ビット固定小数点形式による2進数で表したものはどれか。ここで、小数点位置は、3ビット目と4ビット目の間とし、負数は2の補数表現を用いる。
ア: 01001100
イ: 10100101
ウ: 10100110
エ: 11010011
ヒント
補数表現は各列のビットを反転させて、+1したものです。
解答:ウ
3.アルゴリズムに関する問題
二次元の整数型配列aの各要素a(i, j)の値は点、a=i*2+jである。
この時、a(a(1, 1)*2, a(2, 2)+1)の値は幾つか。
ア: 12
イ: 13
ウ: 18
エ: 19
ヒント
a(1, 1)*2の値は6です。
解答:エ
4.逆ポーランド記法に関する問題
後置記法(逆ポーランド記法)では、例えば、式Y=(A-B)*Cを
YAB-C*=
と表現する。次の式を後置記法で表現したものはどれか。
Y=(A+B)*(C-D/E)
ア: YAB+C-DE/*=
イ: YAB+CDE/-*=
ウ: YAB+EDC/-*=
エ: YBA+CD-E/*=
ヒント
逆ポーランド記法で値の順序が入れ替わることはありません。
解答:イ
5.プログラムの構造に関する問題
処理が終了していないプログラムが、別のプログラムから再度呼び出されることがある。このプログラムが正しく実行されるために備えるべき性質はどれか。
ア: 再帰的(リカーシブ)
イ: 再使用可能(リユーザブル)
ウ: 再入可能(リエントラント)
エ: 再配置可能(リロケータブル)
解答:ウ
まとめ
お疲れさまでした。以上となります。
確率などの項目は過去問を解いていてもあまり確認できなかったので割愛させて頂きました。
基本情報技術者試験は範囲も広く、取得するのにとても時間がかかりますが、ゆっくり気ままに学んでいけたらいいですね。