基本情報技術者試験(FE)|科目A 総合模擬問題01
問題 1
格納されるビット列と、その演算についての説明の組合せはどれか。
解説を見る
01111100は124、00001010は10なので数学上の和は134である。しかし8ビットの2の補数で表せる範囲は-128〜127であり、134は範囲外となる。下位8ビットの10000110は符号付きでは-122を表すため、正の数同士の加算結果が負になった時点でオーバーフローと判断できる。
問題 2
この構成の実効アクセス時間は何ナノ秒か。
解説を見る
キャッシュの10ナノ秒はヒット、ミスのどちらでも必要である。ミス率は10%なので、主記憶への追加時間の平均は0.1×100=10ナノ秒となる。したがって実効アクセス時間は10+10=20ナノ秒である。19ナノ秒は0.9×10+0.1×100とし、ミス時のキャッシュ確認時間を落とした計算である。
問題 3
25を発見するまでにAの要素と比較する回数と、比較する値の順序はどれか。
解説を見る
最初はlow=1、high=7なのでmid=4となり、17と比較する。25の方が大きいため範囲を5〜7へ絞るとmid=6で31と比較する。今度は25の方が小さいため範囲は5〜5となり、3回目にA[5]の25を発見する。線形探索のように先頭から順番には調べない。
問題 4
部分関数従属を解消し、同じ注文日や商品名の重複更新を避ける表構成として最も適切なものはどれか。
解説を見る
注文日は注文番号だけ、商品名は商品番号だけに依存しており、複合主キーの一部への部分関数従属がある。注文と商品をそれぞれ独立した表へ移し、注文と商品の組合せに固有の数量だけを注文明細へ残すと、第2正規形を満たせる。数量を商品表へ移すと、注文ごとに異なる数量を表せない。
問題 5
目的を満たすSQL文はどれか。
解説を見る
LEFT JOINは左側の顧客を全て残し、注文がない顧客では注文表側をNULLにする。そこで非NULLのorder_idをCOUNTすれば、その顧客は0件になる。INNER JOINやWHERE o.order_id IS NOT NULLは注文のない顧客を除外する。COUNT(*)は外部結合で残った顧客行自体を数えるため、注文なしでも1件となってしまう。
問題 6
割り当て可能なアドレスはどれか。
解説を見る
/27のサブネットマスクは255.255.255.224で、末尾オクテットは32個ずつに区切られる。77は64〜95のブロックに属し、64がネットワークアドレス、95がブロードキャストアドレスである。端末に使える範囲は65〜94なので、選択肢では192.168.10.94だけが該当する。96は次のサブネットの先頭である。
問題 7
最も適切な修正はどれか。
解説を見る
プレースホルダを使うと、SQL文の命令部分と利用者が与える値を分離でき、入力中の記号列をSQL命令として解釈させにくくなる。HTMLエスケープは主にブラウザ表示時のXSS対策であり、SQL用の対策ではない。管理者権限の付与は攻撃成功時の影響をむしろ拡大する。
問題 8
下限と上限について境界値分析を行う代表的なテスト値の組合せはどれか。
解説を見る
包含境界では、下限1の直外0と境界上1、上限100の境界上100と直外101を確認する。これにより、両端で有効・無効の判定が切り替わる箇所を検査できる。1、50、100では有効値だけなので、範囲外を誤って受理する欠陥を見つけにくい。
問題 9
プロジェクトの最短完了日数とクリティカルパスの組合せはどれか。
解説を見る
AからCまでには3+2=5日かかり、並行するBは4日で終わる。DはBとCの両方を待つため5日目に開始し、さらに5日かかって全体は10日となる。最長経路はA→C→Dである。B→Dは9日なので1日の余裕があり、クリティカルパスではない。
問題 10
損益分岐点となる販売数量は何個か。
解説を見る
1個販売するごとに固定費の回収へ充てられる限界利益は、5,000-3,000=2,000円である。固定費800,000円を2,000円で割ると400個となり、この数量で売上2,000,000円と総費用2,000,000円が一致する。固定費を販売単価だけで割る160個では変動費を回収できない。