--基本情報処理試験  (午後問題対策)--

なんといっても頭の痛い午後問である。しかし、プログラムの問題をのぞけば、午前と範囲は同じである。午後をしっかりわかるということは午前の勉強にもなる。まずは長文の問題になれる事だと思う。これから!であるが、数をこなしてみようと思う。16/03/13 (土)

1.ハードウエア
  • ビット列。論理積とか選択させる例は結構最後の方に正解がある。最後から解くのも(代入してみる)のも手である
  • 実行アドレスの番地をいれるか、内容を入れるかで変わってくる。問題文に命令文・レジスタ部・修飾部・アドレス部について詳しく説明があるのでじっくりとあてはめれば出来る
2.ソフトウエア
  • 仮想記憶といえば、補助記憶装置で、実記憶といえばメモリ(主記憶装置)である。
  • スケジューラはとにかくかいてみる。優先順位があるのか、タイムスライスとか、ラウンドロビン方式なのか、入出力装置は一つかなど、説明文をチェックする
  • MFLOPS・・・浮動小数点演算を何回実行するのか
  • 外でも使える大域変数と、そのプログラムのみで使える局所変数がある。
  • 渡す方が実引数でもらう方が仮引数
  • 外部参照が一つになり解消する・・・二つのプログラムが一つのプログラムになる。Externalが不要になる
3.アルゴリズム
  • 午後では必ず出るアルゴリズムの問題である。文字列操作・配列操作・ファイル操作・画像処理・構文解析・擬似言語と見たからに苦手意識で一杯になる。しかも長文である。ページ数を数えるとテンションが落ちます。特に、長文にまどわされずにまずに問題文を読む。答えは選択式なので、実際に値を当てはめて消去するのも手である。
  • 説明文のあとに「例」が有るときにはチェック。「例」の横に問題文のキーワードなど書き足す。あとで、探すときに役立つ。
  • 配列や変数など「0」から始まるのと「1」から始まる場合があるので注意する。
  • 流れ図を練習では書いてみる。「行番号をあらわしているのではないかな」「○の添え字ではないかな」と予想しながら、見る癖をつけておく。
  • 検索・・・最後まで探す必要はない。
  • 図形の回転も良く出る・・・・実際の(1,6)などと座標を当てはめて考えていく。
  • トレースできるものはトレースする。
  • ハッシュ法・シノムニなど、ある程度問題になれておく。
  • 繰り返し・条件文など、入れ子になるのは固まり(ブロック)ごとにかんがえていく。
  • ファイルの問題は順編成ファイルででやすい。(直接編成など問題になりにくいのはでてこない)並び替えは、あとに何かさせたいので並び替える(整列)つまり、次にする仕事があるのでそこに注意すること。
  • 画像の場合はグラフと違って左上が(0,0)の位置(座標)となる
  • 状態遷移図は例に挙げているのをあてはめていく
  • 擬似言語の問題もでる。二分探索は昇順か降順に並んでいるアルゴリズム、どちらの並びかみる。
  • 繰り返し・・・どういうときにやめればいいのか?
  • 配列・・・要素の数に関係することがおおい。
  • アルゴリズムの問題は「慣れる」「図で書く」「注釈を書き込む」である。
  • キュー・スタックなど午前の問題を流れ図や擬似言語で書いてある。難しいがこれで考えられれば意味もわかる。
4.データ構造・データベース
  • データベースのコミットメント制御・・集中型と分散型の違い。
  • 分散型の場合、片方だけ失敗した場合はうまく行ったほうも元にもどす。両方がうまくいったときのみ更新できる(→二層コミットメント制御)それ以外はロールバックで更新は無効にする。
  • 関係データベース
  • SELECT○○・・・GROUP BY○○(GROUP BYのあとにかかれたフィールドしかSELECTのあとにはかけない)
  • DISTINKS・・・重複値やNULLを許さない。一度書くと後に続くすべてにかかる
  • CREATE TABLE スキーマ(枠組み)でテーブルの定義を行う。二つの表を結合するとき、実際は外部キーのFOREIGN KEYを考えてつなげている
  • CREATE VIEW 今使っている間は実際と同じように使う仮の表のこと
  • EXISTS  存在検査(副照会の結果が真のとき)
  • 条件のかきかたの違い 
  • WHERE(一般その他の条件を列や行を取り出す前におこなう)
  • HAVING(関数の条件で、関数の計算を行った後に聞く)
5.通信ネットワーク
  • 2の10乗=1024
6.情報処理技術
  • 稼働率=MTBF/(MTBF+MTTR)
  • 稼働率=正常に稼動している時間/全運転時間
7.プログラム設計
  • データフロー図などシスアドと同じような問題があるので、思い出す。問題文を見てから長い説明文に。必ず、答えは書いてあると思い、重要そうなキーワードを欄外に読みながらメモっていくことが大事。伝票や、表などの例に、フィールドの項目など書いてあるので、丁寧にみていくこと。
  • パソコンなどの状態遷移図はあてはめていけば、かならず答えは書いてある。
  • プログラムのテスト・・・エラーを見つけるためにおこなう。トレースでおこなう。
  • ブラックボックス・・・限界値分析・・・答えのでるぎりぎりのところで試す。
  • ホワイトボックス・・・中身が見える。フローチャートや計算式が動くか。
  • 結合テスト・・・プログラム同士がうまくデータの受け渡しができるかテストする。
  • 性能テスト・・・1秒で仕事ができたかどうかなど、処理能力をテストする。
  • 耐久テスト・・・負荷テスト。普段より多い量でもちゃんと動くか
  • この問題も文章が長い。しかし、答えは文章のなかにあるので探すこと。
  • 問題としては「副プログラム」作成の問題となる。バグはないか?修正するのはどこか?手直ししてどうか?など。
  • デシションテーブルなど数値を当てはめるとでてくる
  • 決定表はあてはめれば、必ずわかる。解答群より当てはめていく。
  • 時間でいくら?などは切り上げて処理する問題が多い。最終的にチェックする。
  • 正規化など、日々の常識の範囲で「1→多」関係がわかるのもある。
  • 内部設計・・・新たな装置やプログラムを作る。今あるものを利用して作ることが多い。新しい仕事をさせるためにいるフィールドはなにか?どこのテーブルからもってくればわかるのか?
  • SQL文とあっても実際は答えを代入してわかることもあるのでびびらないこと
  • 新しいファイル作り。トランザクションファイル・マスタファイルをつくる。整列とあれば、順編成ファイル。整列とあれば、並び替え。並び替えさせるのは次の仕事のために並び替えをするのである。後に並び替えがなければ、最後までかんがえて、順に条件を整理して並び替えをしておく。整列キーはどれか。
  • プログラムのメリットとデメリットを考えさせる。たとえば、プログラムの中で処理をさせるとメインで仕事をさせるので速いが、途中で障害にあうと最初からやり直す必要がある。(ファイル処理と比較して)
  • 条件が多いものをモジュール構造図で書く。下に行くほど詳しい処理を書く。
  • 繰り返し・・・いつまでするか?どうなったらやめるのか?
  • 読み飛ばす(次のデータにとぶ)
  • 限界値を求める
  • すべての条件を通るデータ作りを考える。・・ホワイトボックステストで必要最小限のデータ件数をもとめる。つまり、判定条件結果(真および、偽)を網羅し、すべての経路(流れ図など)をすくなくとも一回はとおる。
  • オブジェクト指向・・・is-aの関係、part-ofの関係、has-aの関係について説明があるので参考にする。
8.プログラム開発
プログラム言語(JAVA)
  • プログラムの説明が必ず丁寧にあるのでキーワードを入れながらざっと読む。→設問群を見る。空欄が多いので、選択肢をみてからプログラムを見る。mainのところからはじめる。()がついていれば、メソッドなど、ある程度の知識は持って意味がつかめるようにする。
  • キーワード的なプログラム、きまりことばなどは覚えておく。
  • メソッド、インターフェース、クラス、サブクラス、変数、宣言、初期化、定義、配列、引数、コマンド、要素、要素数、添字などが、プログラムのどれをさすかわかるようにする。

4月10日*模擬試験

4月18日*本試験