教材一覧
日本語

基本情報技術者試験(FE)|科目A 総合模擬問題01

1 / 100.0s

問題 1

8ビットの2の補数で符号付き整数を表す。01111100と00001010を加算し、結果も8ビットに格納する。

格納されるビット列と、その演算についての説明の組合せはどれか。

解説を見る

01111100は124、00001010は10なので数学上の和は134である。しかし8ビットの2の補数で表せる範囲は-128〜127であり、134は範囲外となる。下位8ビットの10000110は符号付きでは-122を表すため、正の数同士の加算結果が負になった時点でオーバーフローと判断できる。

問題 2

CPUは毎回、アクセス時間10ナノ秒のキャッシュを先に調べる。キャッシュミスの場合だけ、その後にアクセス時間100ナノ秒の主記憶を調べる。キャッシュのヒット率は90%である。

この構成の実効アクセス時間は何ナノ秒か。

解説を見る

キャッシュの10ナノ秒はヒット、ミスのどちらでも必要である。ミス率は10%なので、主記憶への追加時間の平均は0.1×100=10ナノ秒となる。したがって実効アクセス時間は10+10=20ナノ秒である。19ナノ秒は0.9×10+0.1×100とし、ミス時のキャッシュ確認時間を落とした計算である。

問題 3

昇順配列 A = [3, 8, 12, 17, 25, 31, 44] から25を二分探索する。添字は1から始め、探索範囲の下端をlow、上端をhighとする。各回の中央位置midは次の式で求める。 mid = floor((low + high) / 2) A[mid]が25より小さければlowをmid+1に、大きければhighをmid-1に更新する。

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

顧客表 Customers(customer_id, name) と、注文表 Orders(order_id, customer_id) がある。order_idはNULLにならない。注文が0件の顧客も含め、顧客ごとの注文数を求めたい。

目的を満たすSQL文はどれか。

解説を見る

LEFT JOINは左側の顧客を全て残し、注文がない顧客では注文表側をNULLにする。そこで非NULLのorder_idをCOUNTすれば、その顧客は0件になる。INNER JOINやWHERE o.order_id IS NOT NULLは注文のない顧客を除外する。COUNT(*)は外部結合で残った顧客行自体を数えるため、注文なしでも1件となってしまう。

問題 6

端末192.168.10.77/27と、同一サブネットで直接通信させる端末にIPv4アドレスを割り当てる。通常のサブネットとして、ネットワークアドレスとブロードキャストアドレスは端末に割り当てない。

割り当て可能なアドレスはどれか。

解説を見る

/27のサブネットマスクは255.255.255.224で、末尾オクテットは32個ずつに区切られる。77は64〜95のブロックに属し、64がネットワークアドレス、95がブロードキャストアドレスである。端末に使える範囲は65〜94なので、選択肢では192.168.10.94だけが該当する。96は次のサブネットの先頭である。

問題 7

Webアプリケーションが、利用者の入力文字列をそのままSQL文へ連結して検索条件を作っている。データベースの構造を変えずにSQLインジェクションの危険を下げたい。

最も適切な修正はどれか。

解説を見る

プレースホルダを使うと、SQL文の命令部分と利用者が与える値を分離でき、入力中の記号列をSQL命令として解釈させにくくなる。HTMLエスケープは主にブラウザ表示時のXSS対策であり、SQL用の対策ではない。管理者権限の付与は攻撃成功時の影響をむしろ拡大する。

問題 8

入力欄は、1以上100以下の整数だけを有効として受理する。

下限と上限について境界値分析を行う代表的なテスト値の組合せはどれか。

解説を見る

包含境界では、下限1の直外0と境界上1、上限100の境界上100と直外101を確認する。これにより、両端で有効・無効の判定が切り替わる箇所を検査できる。1、50、100では有効値だけなので、範囲外を誤って受理する欠陥を見つけにくい。

問題 9

作業A(3日)と作業B(4日)は同時に開始できる。作業C(2日)はAの完了後に開始する。作業D(5日)はBとCの両方が完了した後に開始する。各作業の日数は確定しており、資源の制約はない。

プロジェクトの最短完了日数とクリティカルパスの組合せはどれか。

解説を見る

AからCまでには3+2=5日かかり、並行するBは4日で終わる。DはBとCの両方を待つため5日目に開始し、さらに5日かかって全体は10日となる。最長経路はA→C→Dである。B→Dは9日なので1日の余裕があり、クリティカルパスではない。

問題 10

ある製品の販売単価は1個5,000円、1個当たりの変動費は3,000円、期間固定費は800,000円である。販売数量と生産数量は等しく、単価と変動費は一定とする。

損益分岐点となる販売数量は何個か。

解説を見る

1個販売するごとに固定費の回収へ充てられる限界利益は、5,000-3,000=2,000円である。固定費800,000円を2,000円で割ると400個となり、この数量で売上2,000,000円と総費用2,000,000円が一致する。固定費を販売単価だけで割る160個では変動費を回収できない。