平成21年度技術士第一次試験専門科目問題(情報工学部門)   各部門の部屋Topへ
第一次試験過去問題Topへ

W 次の35問題のうち25問題を選択して解答せよ。(専門科目解答欄に1つマークすること。)


IV−1 次のC言語のプログラムを実行して得られる出力を,@〜Dの中から選べ。ただしchar型の変数値の内部表現は,8ビットの2の補数表現とする。

#include <stdio.h>
int main(void)
{
char i, x;
x = 0;
for (i = 1; i <= 2 0; i++) x += i;
printf("%d\n", x);
return 0;
}

@ -82
A -46
B 46
C 82
D 210


IV−2 C言語を用いて実験データ処理用のプログラムを作成する。いま, double型変数a,bに2つの測定データが格納されている。a,bの値はともに有効桁数が7桁あり,それぞれ次の範囲内にあることがわかっている。
   3 < a < 3.0001     2. 9999 < b < 3
 @〜Dの演算を行ったときに もとのa,bと比べて最も顕著に演算結果の有効桁数が失われるものを選べ。

@ a +b
A a - b
B a * b
C a / b
D sqrt (a*a + b*b)

IV−3 C言語で,次のように関数fを定義し,呼び出した。このとき変数xに代入される値を@〜Dの中から選べ。

 関数の定義:
int f( int n, int a, int b ) {
if (n == 1) { return a; }
else { return f( n - 1, b, a + b ); }
関数の呼び出し:
int x = f ( 6, 1, 1 );

@ 5
A 6
B 7
C 8
D 13

IV−4 二項演算子#, $, @の優先順位及び結合の方向が次の表のように定義されている。



式 a @ b $ c @ d # e # f と同じ意味の式を,@〜Bの中から選べ。

@ (a @ b) $ (((c @ d) # e) # f)
A ((a @ b) $ c) @ (d # (e # f))
B a @ ( (b $ c) @ ( (d # e) # f))
C (a @ (b $ c) ) @ (d # (e # f))
D (a @ ((b $ c) @ d)) # (e # f)

IV−5 以下の命令を待ったスタックマシンを想定する。
 push a スタックにデータaをプッシュする。
 dup   スタックの最上部のデータを複製してスタックにプッシュする。
 exch  スタックの最上部の2つのデータの位置を交換する。
 add   スタックから2つのデータをホップし,その和をスタックにプッシュする。
 sub   スタックから2つのデータをホップし,その差をスタックにプッシュする。
      (スタック最上部2番目のデータから最上部のデータを引く。)
 mul   スタックから2つのデータをホップし,その積をスタックにプッシュする。

このとき,次のように記述されたプログラムが最終的にスタックに残す結果は,どの式を
処理したものと同じか。@〜Dの中から選べ。
  push a
  push b
  sub
  dup
  dup
  mul
  exch
  push 2
  add
  mul

@(a - b)×2
A(a - b + 2)^2
B(a - b)^2 × (a - b + 2)
C(a - b)×2 + (a - b + 2)
D(a-b)^2×2



IV−6 次のJavaプログラムを実行した時に出力される結果を,次の@〜Dの中から選べ。

class A {
int f() {
return 1;
}
}

class B extends A {
int f() {
return 2;
}

int g() {
return this. f () ;
}

int h() {
return super.f ();
}
}

class C extends B {
int f() {
return 3;
}
}

class Main {
public static void main(String[] argv) {
C c;
c = new C ( ) ;
System.out.println (c.g() ++ "," ++ c.h() );
}
}


@ 2,1
A 2,2
B 3,1
C 3,2
D 3,3


IV−7 ガページコレクション(ごみ集め)に関する次の記述のうち,最も適切なものを選べ。

@ ガページコレクションは,使用済のスタック領域を自動的に回収して再利用に供するための機構である。
A ガページコレクションは,一般的に,オペレーティングシステムによって提供される機能である。
B ガベージコレクションの処理による負荷を軽減するために,プログラムの実行中に動的な型検査を行うことが一般的である。
C ガベージコレクションは, PerlやRubyのようなスクリプト言語に対しては実装されていない。
D ガベージコレクションを備えている言語のプログラムであっても,意図しないオブジェクトヘの参照が原因で回収されないメモリが残り,性能低下を起こすことがある。



IV−8 次の論理式Fのカルノー図として正しいものを@〜Dの中から選べ。




IV−9 プロセッサに関する次の記述のうち,最も適切なものを選べ。

@ マルチコアプロセッサの最大の特徴は,1つの命令に対し複数のデータストリームを並列に実行できる点てある。
A 対称型マルチプロセッシングを行うには,同時マルチスレッディングが必須である。
B 複数のプロセッサコアを1つのCPUパッケージに集積したマイクロプロセッサのことをマルチコアプロセッサという。
C スーパースカラープロセッサとは,パイプラインのステージ数を増やし命令レベルの並列性を高めたプロセッサの二とてある。
D 同時マルチスレッディングを用いると複数の命令列を同時に実行できるため,プロセッサ内部の実行ユニットの使用効率は低下する。


IV−10 次の記述の,[ア]〜[エ]に入る用語の組合せとして最も適切なものを@〜Dの中から選べ。

[ア]によるCPU資源の浪費を避けるため,通常のCPUでは,[イ]を用いて入出力デバイスの操作の完了を知る仕組みになっている。入出力デバイスの操作が完了すると,たとえば[ウ]を参照し[エ]にジャンプする。

    ア        イ         ウ       エ
@ スピンロツク   割込み      割込みパンドラ  割込みベクタ
A スピンロック   ビジーウェイト  ロックペクタ   ロツクハンドラ
B スピンロツク   ビジーウェイト  ロックハンドラ  ロツクペクク
C ビジーウェイト  割込み      割込みパンドラ  割込みベクタ
D ビジーウェイト  割込み      割込みベクタ   割込みパンドラ


IV−11 仮想アドレス,物理アドレスともに16ビット幅のコンピュータがある。どの仮想ページも同じページサイズであり,1つの仮想アドレス空間が64個の仮想ページを持つ。
 このコンピュータでは2段階のページテーブルを用いており,ページテーブルの設定が下図のようになっているとき,仮想アドレス0xbad3が変換される物理アドレスとして正しいものを@〜Dの中から選べ。なお,ページテーブルには物理ページ番号のみを10進数で記載してある。空欄のエントリは対応する物理ページが存在していないことを表す。
 また,0xで始まる表記は16進数を示す。



@ 0x46d3
A 0x56d3
B 0xba46
C Oxba56
D 対応する物理ページは存在しない


IV−12 ある計算機が16個の32バイトからなるブロック(M0〜M15)で構成されている主記憶を持っているとする。この計算機は,4個の32バイトからなるブロック(C0〜C3)で構成されるキャッシュを持っており,次のようなセットアソシアティブ(Set Associative)方式で制御されているとする。
「キャッシュブロックC0とC2は偶数メモリブロック(M0, M2, ...,M14)を格納することができ,キャッシュブロックC1とC3は奇数メモリブロック(Ml, M3,...,M15)を格納することができる。
 この計算機のCPUが次のようなメモリブロックのアクセスを行うとき,キャッシュの追い出しにLRU (Least Recently used)アルゴリズムを用いた場合のキャッシュの最終状態を@〜Dの中から選べ。ただし,キャッシュブロックヘの格納はC0→C2, C1→C3の順に行われるものとする。
アクセス順 M0, M1,M2,M3,MO,M1,M4,M5,M4,M5,Ml,M3
 
@ C0 : M4, Cl : M3, C2 : M2, C3 : M1
A C0 : M4, Cl : M5, C2 : M2, C3 : M3
B C0 : M0, Cl : Ml, C2 : M4, C3 : M3
C C0 : M0, C1 : M3, C2 : M4, C3 : M5
D C0 : M0, Cl : M1, C2 : M4, C3 : M5

IV−13 CPUのキヤツシュメモリヘのアクセス時間を10ナノ秒,主記憶へのアクセス時間を60ナノ秒とする。このとき,キャッシュヒット率が90%であった場合,平均アクセス時間として正しいものを次の中から選べ。

@ 7ナノ秒
A 15ナノ秒
B 32ナノ秒
C 55ナノ秒
B 63ナノ秒


IV−14 スレッドをサポートしているオペレーティングシステムにおける,プロセスとスレッドに関する次の記述のうち,最も適切なものを選べ。

@ 1つのスレッドは,複数のプロセスにおいて同時に実行できる。
A 同じプロセス内の複数のスレッドは,マルチコアで同時に実行できる。
B 同じプロセス内の複数のスレッドは,プロセス内のデータを共有しない。
C 同じプロセス内の複数のスレッドは,同じスタックを用いて実行される。
D プロセス切り替えに要するコストとスレッド切り替えに要するコストは同じである。

IV−15 実行可能な4つのプロセスA, B, C, Dがこの順番に実行可能キューに入っており, CPUの割付待ち状態になっているとする。各プロセスの実行時間は,Aは800ミリ秒,Bは400ミリ秒,Cは200ミリ秒,Dは600ミリ秒とする。オペレーテインブシステムがこれらのプロセスを200ミリ秒のタイムクォンタム(タイムスライス)で切り替え,ラウンドロビンスケジューリングを行う。実行可能キューの先頭のプロセスから実行を開始し1.5秒経過した時点の実行中のプロセス名とそのプロセスが使用したCPU時間を選べ。プロセス切り替えの時間は無視してよい。

@ プロセスA, 500ミリ秒
A プロセスB, 100ミリ秒
B プロセスC, 100ミリ秒
C プロセスD, 500ミリ秒
D プロセスD, 100ミリ秒

IV−16 次のプログラムはある銀行口座への入金を行うプログラムである。 2人が同時に入金を行うと2つのスレッドが作られ,関数do_depostの部分が交互にCPUを使いながら動作する可能性がある。変数balanceは銀行口座の残高,変数depostは銀行口座に入金する金額を表す。共用変数balanceへの相互排除を実現するためセマフォを用いることとした。セマフォSの初期値,及びプログラム中の[ア],[イ]に入る正しい組合せを@〜Dの中から選べ。

int balance; /*銀行口座の残高。スレッド間で共用される*/
void do_deposit(int deposit){
  int x;
  [  ア ] ;
  x = balance;
  x = x + deposit;
  balance = x ;
  [ イ ] ;
}

   セマフォ Sの初期値   ア        イ
@       1      signal(S)      wait(S)
A       1      wait(S)       signal(S)
B       0      signal(S)      wait(S)
C       0      wait(S)       signal(S)
D  任意の値でよい     signal(S)      wait(S)


IV−17 次の記述の,[ア]〜[ウ]に入る数値の組合せとして,最も適切々ものを@〜Dの中から選べ。
 ITU-T G.711勧告におる音声符号化方式PCMでは,300 Hz 〜[ア]kHzの帯域を持つ音声信号を,[イ]kHzでサンプリングし,[ウ]ビット値で量子化する。これによって,64 kビット/秒の伝送速度で音声信号を伝送する。

  ア  イ  ウ
@ 3.4  8   8
A 3.4  125  256
B 7.0  8   8
C 9.6  20   8
B 9.6  125  256


IV−18 HTML(HyperText Markup Language)では,文字などの色を指定する方法の1つとして,#に続く16進6桁の数値を用いる二とができる。この数値は,色を3原色(R,G,B)で表したときの各成分を00〜FFの16進2桁で表現し, R,G,Bの順で左(上位桁)から並べたものである。たとえば,#FFO000は赤,#0000FFは青, #FFFF00は黄,#808080は灰色を,それぞれ表現する。
黄緑を表現する数値の1つとして,次のうち最も適切なものを選べ。

@ #FFO080
A #FF8000
B #FF8080
C #8000FF
D #80FF00


IV−19 ディジタルカメラで静止した風景を撮影する。下図に示すようにある位置Pから撮影した画像Aと,カメラを水平かつ光軸と垂直に平行移動させ,位置Qから撮影した画像Bとを比較した。すると,数十km先の山並みは全く同じ位置に写っていたが,電柱Eは画像上で40画素ずれて写っており,車Cは画像上で20画素ずれて写っていた。電柱Eと車Cはともにカメラのほぼ正面にあり,移動前後のカメラ位置を結石直線PQから電柱Eまでの距離は4mである。このとき,直線PQから車Cまでの距離として,@〜Dのうち最も近いものを選べ。



@ 2m
A 5.7 m
B 8m
C 16m
D 24m



IV−20 次の手法,理論,技術のうち,知識処理と最も関連性の薄いものを選べ。

@ Zバッフア法
A フレーム理論
B エキスパートシステム
C セマンティックネットワーク
D 述語論理


IV−21 近距離通信(PAN : Personal Area Network)や無線センサネットワークで用いられる通信方式として,表の[ア]〜[ウ]に当てはまる語句の組合せとして最も適切なものを@〜Dの中から選べ。



   ア     イ       ウ
@ Bluetooth  ZigBee    高速無線PAN/UWB
A Bluetooth  ZigBee    WLAN
B ZigBee   Bluetooth   高速無線PAN/UWB
C ZigBee   Bluetooth   WLAN
D ZigBee   Bluetooth   WiMAX


IV−22 レイヤ2スイッチに接続されたサーバの通信データを調べるために,パケット解析装置をレイヤ2スイッチの空きポートに接続する。二のとき必要となるレイヤ2スイッチの設定として最も適切なもの@〜Dの中から選べ。



@ MACテーブルにパケット解析装置の物理アドレスを登録する。
A ループが発生しないように,スパニングツリープロトコルの定義変更を行う。
B 空きポートに対しポートミラージンクの定義を行う。
C 空きポートとサーバ接続ポートを同じVLANに所属させる。
D 空きポートとサーバ接続ポートを同じブロードキャストドメインにする。


IV−23 ネットワークの管理情報に関する次の記述のうち,最も適切なものを選べ。

@ ARP(Address Resolution Protocol)を用いることで,通信相手の論理アドレスを知らなくても通信が可能となる。
A DHCP(Dynamic Host Configuration Protocol)を用いることで,通信相手の論理アドレスを知らなくても通信が可能となる。
B DNS(Domain Name System)を用いることで,通信相手のドメイン名を知らなくても通信が可能となる。
C TCP (Transmission Control Protocol)では,通信相手を論理アドレスとドメイン名の組合せにより識別する。
D IP(Internet Protocol)では,通信相手を論理アドレスにより識別する。


IV−24 A社では,イントラネット内のサーバ保守を,イントラネット内の保守端末からtelnetを使って行っている。今後,インターネットに接続された保守端末からも行うことになり,検討の結果, telnetの代わりにsshを使うことにした。A社がsshに変更することを決めた理由として最も適切なものを次の中から選べ。

@ 低速の回線を経由しても,大量のデータを短時間で伝送できるようにするため。
A 品質の悪い回線を経由しても,データ伝送誤りが発生しないようにするため。
B 保守端末のグローバルアドレスが外部に漏洩することを防ぐため。
C サーバにログインする際のパスワードが外部に漏洩することを防ぐため。
D サーバのプライベートアドレスが外部に漏洩することを防ぐため。

IV−25 JIS Q 27001 : 2006 (ISO/IEC 27001 : 2005)対応の情報セキュリティマネジメントシステム(ISMS)認証基準に関する次の記述のうち,最も不適切なものを選べ。

@ 完全性とは,認可されたエンティテイが要求したときに,情報のアクセス及び利用を可能にする特性である。
A 機密性とは,認可されていない個人,エンティテイ又はプロセスに対して,情報を使用不可又は非公開にする特性である。
B 責任追跡性とは,あるエンティテイの動作がその動作から動作主のエンティテイまで一意に追跡できることを確実にする特性である。
C 否認防止とは,ある活動又は事象が起きたことを,後になって否認されないように証明する能力である。
D リスクの受容とは,リスクを受容する意思決定であり,そこには受容可能なリスクを組織として保有するという組織の意思かおる。


IV−26 「地域」「避難場所」「場所設備」「設備」の4つのテーブルがある。それぞれの関係スキーマ及び設備表は次のとおりである。ここで,下線部を主キーとする。



       地  域 (地域ID,地域名)
       避難場所 (避難場所ID,地域ID,場所名,収容人数)
       場所設備 (避難場所ID,設備ID)
       設  備 (設備ID,設備名)

地域防災計画のため,飲料水貯水槽のある避難所の収容人数について地域ごとの集計表を作成するSQL文を作成した。[ ア ],[ イ ]に入る組合せとして最も適切なものを@〜Dの中から選べ。

  SELECT A.地域名, SUM(P.収容人数〉FROM地域AS A, 避難場所AS P
WHERE A.地域)ID = P.地域ID
AND [  ア  ]
 (SELECT L.避難場所ID  FROM 場所設備 AS L, 設備 AS S
WHERE L.設備ID = S.設備ID  AND S.設備名='飲料水貯水槽')
[  イ  ]

      ア       イ
@ P.避難場所ID IN   GROUP BY A.地域名
A P.避難場所ID IN   HAVING A.地域名
B P.避難場所ID=   ORDER BY A.地域名
C P.避難場所ID=   GROUP BY A.地域名
D P.避難場所ID=   HAVING A.地域名


IV−27 次のUMLクラス図について,最も適切な説明を@〜Dの中から選べ。



@ 「ぼかし処理」クラスは多重継承をしている。
A 「画像」クラスは抽象クラスであリ,「画像処理」クラスは具象クラスである。
B 「画像」クラスと「画像形式」クラスの関係を,集約という。
C 「TIFF画像」クラスのインスタンスは,ぼかし処理を利用できる。
B 「シャープ処理」クラスのインスタンスは, TIFF画像を読み込むことができない。


IV−28 UML (Unified Modeling Language)で定義されている次のダイアグラムの説明のうち,最も適切なものを選べ。

@ ステートマシン図は,オブジェクトの状態変化を表現するダイアグラムであり,並行状態を記述することができる。
A コミュニケーション図は,オブジェクトの動的な関係を記述するためのダイアグラムであり,アクティビテイ図の一種である。
B コンポーネント図は,システムを構成するハードウェアを表現するダイアグラムである。
C オブジェクト図は,オブジェクトを記述するためのダイアグラムであり,オブジェクト図の要素を実体化するとクラス図になる。
D 配置図は,システムが利用するメモジの論理的な配置を表現する。


IV−29 ソフトウェアの内部構造を示す語として最も適切なものを次の中から選べ。

@ ストラテジ
A プロジェクト
B マネジメント
C メトリクス
D アーキテクチヤ


IV−30 次のシーケンス図に基づくモデルの説明として,@〜Dのうち最も適切なものを選べ。なお,図中のboolean, void, float, longはメッセージの戻り値の型を示す。



@ メッセージr1はr2よりも前に発生する。
A ClasslとClass2には関連はない。
B メッセージmethod3は,Class2の操作を呼び出す。
C ClasslからClass3への誘導可能性はある。
D メッセージr3はboolean型である。


IV−31 情報システムの要求を分析する作業として,最も不適切なものを次の中から選べ。

@ 開発する情報システムに関連する概念を抽出し,概念データモデルを作成する。
A システムとユーザとのインタラクションをユースケースシナリオで記述する。
B システムに対する要件をユーザからヒアリングし整理する。
C 利用するユーザの種類や必要となるシステムの機能について検討する。
D ハードウェアとソフトウェアの詳細を定義する技術的な設計書を作成する。


IV−32 あるシステムの開発に要する作業の日数が次のアローダイアグラムの通りであるとき,全ての作業が完了するまでにかかる口数を@〜Dの中から選べ。なお,点線の矢印はダミーの作業を示し,所要口数はゼロである。



@ 11日
A 12日
B 13日
C 14日
D 15日



IV−33 ソフトウェア開発におけるプロセスモデルについて,業務背景と適用するモデルの説明として最も不適切な事例を@〜Dの中から選べ。

@ 当社の得意とする分野の業務システムであり,取引の長い顧客から明確な要求も伝えられている。打ち合わせの結果,要求仕様の途中変更の可能性も低いと判断された。本プロジェクトには,ウォーターフォールモデルを適用する。
A 新たにパッケージ商品を開発し,販売を計画している。基盤となるアーキテクチヤを検討した後,機能については戦略的に順位付けをし,早期にリリースしていきたい。本プロジェクトには,インクリメンタルモデルを適用する。
B 産学合同プロジェクトヘソフトウェア開発担当として参加する。研究的側面があり,成果をシミュレーションシステムとする以外,詳細な仕様,アーキテクチヤ,開発体制等が明確でない。本プロジェクトには,スパイラルモデルを適用する。
C システムで実現するビジネスルールは整理されているものの,具体的なユーザインタフェースについて,委託元の担当者も決めかねている。初期に確認しつつ進めたほうがよさそうだ。本プロジェクトには,コードアンドフイックスモデルを適用する。
D 万が一の不具合が,多数の人命に関わる制御システムを開発する。安全性確保のためには,期間とコストは十分な支援が期待できる状況である。欠陥の防止に最大限の対策を行いたい。本プロジェクトには,フォーマルメソッドを適用する。


IV−34 ソフトウェア開発において,次の特徴を持つレビュー方法を@〜Dの中から選べ。
  「対象である成果物に対して,通常3〜6人で実施する。参加者には記録係などの役割を与えられ,モデレータが全体をコーディネートする。チェツクリスト等を用いて欠陥を確認し,結果を記録に残す。その結果を分析することで,開発プロセスの改善を目指す。

@ ピアレビュー
A インスペクション
B パスアラウンド
C ウォークスルー
D ラウンドロビンレビュー


IV−35 コンピュータシステムの開発は,外部のシステム開発業者と契約を結び,連携して実施する場合が多い。契約について,最も不適切な説明を次の中から選べ。
 @ 一般的に,当事者の数だけ契約書を用意し各契約書に各々が記名,押印し,各1通を保有することで契約が成立する。簡易に,発注者が受注者へ注文書を発行し,受注者が注文請書を発行することで成立とする場合もある。
 A すべての開発工程を一括委託する一括契約に対し,開発工程ごとに契約を分ける分割契約かおる。規模が大きい開発等,完成型が曖昧なケースでは,コスト超過等のリスク回避のため,分割契約が望ましい。
 B 委託契約において,上流工程(設計まで)のみの契約では完成の定義が曖昧であることから準委任の契約が適している。下流工程(プログラミング以降)では,完成基準が明らかなことから請負契約がよい。
 C 請負契約で受注者仰のエンジニアが発注者側へ常駐する形態を採ることがある。常駐するエンジニアに対して,発注者側のマネーブヤは,指揮・命令を行うことができる。
 D 委託契約による開発において,委託先との間で著作権の帰属先が問題となることがある。著作者人格権を除く著作権は/契約により帰属を変更できる。



正解
問題 正解 問題 正解 問題 正解 問題 正解 問題 正解 問題 正解 問題 正解
1 2 6 3 11 1 16 2 21 3 26 1 31 5
2 2 7 5 12 3 17 1 22 3 27 3 32 4
3 4 8 4 13 2 18 5 23 5 28 1 33 4
4 4 9 3 14 2 19 3 24 4 29 5 34 2
5 3 10 5 15 1 20 1 25 1 30 4 35 4