┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃裏版 宿題メール                  .&&&& **** %%%%. ┃ ┃                         &&&&&&******%%%%%% ┃ ┃from 斎藤末広 jhomework@yscon.co.jp        '&┃&''*┃*''%┃%' ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━┻━━┻━━┛ ========================================================================  2005年1月21日分 裏版 宿題メール   この"裏版宿題メール"は,"宿題メール(総合編)"を補完する関係です。    →宿題メールとは http://www.3721p.com/homework ======================================================================== 前回分の解答と解説 ------------------------------------------------------------------------ *[解説:テクニカル(データベース)向け]  関係データベース上に実装するエンティティの主キーが複合キーであり,複合 キーを構成している属性数が多すぎるので,少なくして扱いやすくしたい。この 場合の対応として,適切なものはどれか。  ア 複合キーを構成している属性のうち,エンティティの性格を最もよく表し   ている属性を主キーとし,残りの属性は非キー属性に替え,外部キーとして   指定する。  イ 複合キーを構成している属性のうち,エンティティの性格を最もよく表し   ている属性を主キーとし,残りの属性は非キー属性に替え,代替キーとして   指定する。  ウ 複合キーを連番などの意味のない代用キーに置き替え,複合キーを構成し   ている属性はすべて非キー属性に替え,外部キーとして指定する。  エ 複合キーを連番などの意味のない代用キーに置き替え,複合キーを構成し   ている属性はすべて非キー属性に替え,代替キーとして指定する。 ■キーワード■ 複合キーの単純化 ■解答■   テクニカルエンジニア(データベース)午前平成16年問27  エ 複合キーを連番などの意味のない代用キーに置き替え,複合キーを構成し   ている属性はすべて非キー属性に替え,代替キーとして指定する。 ------------------------------------------------------------------------ *[解説:テクニカル(ネットワーク)向け]  ソフトウェア開発手法に関する記述のうち,適切なものはどれか。  ア オブジェクト指向設計では,プログラムが実現する機能の階層化を最初に   行う。  イ ダイクストラらが提唱した構造化プログラミングは,データ中心設計の一   つである。  ウ プログラムの論理構造を図式表現するのに,NSチャートや流れ図などが   使用される。  エ プロトタイピングは,最初に全体の仕様と構造を確定してから,開発に着   手する方法である。 ■キーワード■ ソフトウェア開発手法 ■解答■   テクニカルエンジニア(ネットワーク)午前平成15年問12  ウ プログラムの論理構造を図式表現するのに,NSチャートや流れ図などが   使用される。 ------------------------------------------------------------------------ *[解説:上級シスアド向け]  オブジェクト指向でシステムを開発する場合,カプセル化の効果として適切な ものはどれか。  ア オブジェクトの内部データ構造やメソッドの実装を変更しても,その影響   をほかのオブジェクトに及ぼしにくい。  イ 親クラスの属性を子クラスが利用できるので,親クラスの属性を子クラス   の属性の定義に利用できる。  ウ 既存の型に加えてユーザ定義型を追加できるので,問題領域に合わせてプ   ログラムの仕様を拡張できる。  エ 同一メッセージを送っても,受け手のオブジェクトによって,それぞれが   異なる動作をするので,メッセージを受け取るオブジェクトの種類が増えて   も,メッセージを送るオブジェクトには影響がない。 ■キーワード■ カプセル化 ■解答■   上級システムアドミニストレータ午前平成14年問15   情報セキュリティアドミニストレータ午前平成14年問09   テクニカルエンジニア(ネットワーク)午前平成14年問11  ア オブジェクトの内部データ構造やメソッドの実装を変更しても,その影響   をほかのオブジェクトに及ぼしにくい。 ------------------------------------------------------------------------ *[解説:テクニカル(システム管理)向け]  二つの装置がともに稼働しているときに全体として稼働するシステムがある。 各装置の MTBF がそれぞれ 270 時間,540 時間であるとき,このシステム全体 の MTBF はおよそ何時間か。  ア 150  イ 180  ウ 270  エ 405 ■キーワード■ 故障率,MTBF ■解答■   テクニカルエンジニア(システム管理)午前平成16年問11   ソフトウェア開発技術者午前平成16年問37  イ 180 > 故障率 = 1/MTBF > > MTBFが270時間、540時間の装置の故障率は1/270, 1/540 > 故障率 = 1/270 + 1/540 = 3/540 > > MTBF=540/3=180 > > http://www.mirai.ne.jp/~suehiro/homework/hwbackup/200404/hw2004043 > 0-ura.txt > 過去メールそのまんまでしたが > どうして2つの装置の故障率を足せばOKなのかがわかりませんでした。 二つの装置がともに動作していないといけないとき,それぞれの故障率を,1/3, 1/4 とすると 稼動する確率は (1 - 1/3)*(1 - 1/4) = 1^2 - 1*(1/3 + 1/4) + (1/3)*(1/4) です。 ここで,故障率が 1/30000 , 1/40000 だとすると 1^2 - 1*(1/30000 + 1/40000) + (1/30000)*(1/40000) となります。 最後の(1/30000)*(1/40000)は,とても小さい数ですので,無視をすると 1 - 1*(1/30000 + 1/40000) で,故障率は, 1*(1/30000 + 1/40000) で,結果として,2つの装置の故障率を足した答えと同じになります。これは, 故障率が十分に小さいときに簡単に計算するための公式です。 ------------------------------------------------------------------------ *[解説:ソフトウェア開発向け]  次の手順はシェルソートによる整列を示している。データ列"7,2,8,3,1, 9,4,5,6"を手順(1)〜(4)に従って整列するとき,手順(3)を何回繰り返して 完了するか。ここで,[ ]は小数点以下を切り捨てた結果を表す。 [手順] (1) [データ数 ÷ 3] → H とする。 (2) データ列を互いに H 要素分だけ離れた要素の集まりからなる部分列とし,  それぞれの部分列を,挿入法を用いて整列する。 (3) [H ÷ 3] → H とする。 (4) H が 0 であればデータ列の整列は完了し,0 でなければ(2)に戻る。  ア 2  イ 3  ウ 4  エ 5 【実習課題】実際にプログラムを作成してみよう。 ■キーワード■ シェルソート ■解答■   ソフトウェア開発技術者午前平成16年問11   同等:二種午前平成12年秋問13  ア 2 > データ数は 9 なので > 手順(1)で [9 ÷ 3] = [3] = 3 → H > 手順(2)を実行 > 手順(3)で [3 ÷ 3] = [1] = 1 → H【1 回目】 > 手順(4)で H ≠ 0 なので手順(2)に戻る > 手順(2)を実行 > 手順(3)で [1 ÷ 3] = [0.33…] = 0 → H【2 回目】 > 手順(4)で H = 0 なので終了  どうもありがとうございました。 > "7,2,8,3,1,9,4,5,6" > (整列1回目)9÷3=3、H=3 > ・・・7⇔3⇔4、2⇔1⇔5、8⇔9⇔6 > ・・・3,1,6,4,2,8,7,5,9 > (整列2回目)3÷3=1、H=1 > ・・・1,2,3,4,5,6,7,8,9(整列完了) > (整列3回目)1÷3=0.33・・・=0(終了) > 上記(整列2回目)(整列3回目)が(3)に該当。 > よって答は2回でアが正解。  どうもありがとうございました。 > シェルソート >  ソート(並べ替え)アルゴリズムの一つで、挿入ソートを改良 > したもの。 >  要素を数個とびに拾い集めて挿入ソートをかけ、次第にソー > トする要素の間隔を詰めていき、最後に単純な挿入ソートで完 > 全に整列させる。 >  大幅に離れた2つの要素を一気に交換することで交換回数を > 減らし、高速化をはかったアルゴリズムであるが、クイックソ > ートなどに比べると若干速度は落ちる。 > 参考:e-words > http://e-words.jp/w/E382B7E382A7E383ABE382BDE383BCE38388.html > > 挿入ソート(インサートソート) >  もっとも基本的なソート(並べ替え)アルゴリズムの一つ。 >  まず、並んだ要素のうち最初の2つを取り出し比較し、望み > の順序に並べる。次に、3つ目の値を整列した2つと順に比較し > 、適切な位置に挿入する。4つ目以降も同様にして、整列済み > の列の適切な位置に一つずつ挿入していく。 >  与えられた要素がソート済み状態に近ければ比較的高速だが > 、要素が逆順に並んでいるととてつもない時間を要する。この > 欠点をある程度緩和した改良版にシェルソートである。 >  ちなみに、挿入ソートは人間がもっとも簡単に行えるソート > 方法だといわれている。 > 参考:e-words > http://e-words.jp/w/E68CBFE585A5E382BDE383BCE38388.html >  どうもありがとうございました。 ------------------------------------------------------------------------ *[解説:情報セキュアド向け]  Java アプレットに関する記述のうち,最も適切なものはどれか。  ア クライアントにアドインとして組み込んで実行する。  イ サーバからダウンロードしてクライアントで実行する。  ウ サーバ側にある HTML 文書と連携しながら処理を行う。  エ ソースプログラムは,コンパイルせずに実行できる。 ■キーワード■ Javaアプレット ■解答■   情報セキュリティアドミニストレータ午前平成15年問08  イ サーバからダウンロードしてクライアントで実行する。 > ア:単独のクラスではないことからJava Beans > ウ:Javaスクリプト > エ:インタプリタ言語 > 参考サイト:http://www.kimura-kouichi.com/security/h15/2003/15aman1.htm#08  どうもありがとうございました。 > Javaアプレット > http://e-words.jp/w/JavaE382A2E38397E383ACE38383E38388.html > > ネットワークを通じてWebブラウザにダウンロードされ、ブラウザのウィンドウ > に埋め込まれて実行されるJavaプログラムのこと  どうもありがとうございました。 ------------------------------------------------------------------------ *[解説:高度共通向け]  表に示すタスク A 〜 D の集合に対して,ラウンドロビン方式の CPU スケ ジューリングを適用する。タイムクウォンタムを 1 秒から 2 秒に変更すると, タスク B のターンアラウンドタイムはどうなるか。ここで,タスクが到着した 時には,CPU 待ち行列の先頭に置かれるものとする。OS のオーバヘッドは考慮 しないものとする。また,表の処理時間は各タスクを単独で実行したときのもの であり,各タスクともすべて CPU 処理だけである。            単位 秒 ┌───┬────┬────┐ │タスク│到着時刻│処理時間│ ├───┼────┼────┤ │  A │  0  │  6  │ ├───┼────┼────┤ │  B │  3  │  6  │ ├───┼────┼────┤ │  C │  4  │  4  │ ├───┼────┼────┤ │  D │  5  │  3  │ └───┴────┴────┘  ア 2 秒短くなる。  イ 1 秒短くなる。  ウ 変わらない。  エ 1 秒長くなる。 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ■キーワード■ ラウンドロビン,タイムクウォンタム ■解答■   AN/PM/AE共通午前平成15年問04  ウ 変わらない > タイムクウォンタムが 1 秒の場合 > 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19(秒) > +─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─ > A o━+━+━+     +━+     +━+     +━* > B      o━+     +━+     +━+     +━+  ━+━* > C        o━+     +━+     +━+     +━* > D          o━+     +━+     +━* > B のターンアラウンドタイムは 19 − 3 = 16 秒 > > タイムクウォンタムが 2 秒の場合 > 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19(秒) > +─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─+─ > A o━+━+━+━+           +━+━* > B      o         +━+━+         +━+━+━+━* > C        o━+━+           +━+━* > D          o +━+━+           +━* > B のターンアラウンドタイムは 19 − 3 = 16 秒 >  ※ o:到着時刻 *:終了時刻 +━+:実行時間  どうもありがとうございました。 ======================================================================== 裏版宿題メール,過去のフォロー  (特になし) ======================================================================== ★★ 本日の宿題 裏版 ★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------------------------------ *[宿題:テクニカル(データベース)向け]  概念レベルのデータモデル中のエンティティ"会計取引"に対する制約の意味に ついて,適切な説明はどれか。ここで,モデルの表記には UML を用いる。  ┌────┐    ┌────┐     ┌────┐  │ 勘定 │    │仕訳記入│     │会計取引│  ├────┤1   *├────┤2..*   1├────┤  │残高  ├────┤金額  ├─────┤取引日 │  │    │    │    │     │    │  └────┘    └────┘     └────┘               △           \          │            \       ┌─┴─┐      ┌─────────┐ ┌──┐ ┌──┐    │制約:      │ │借方│ │貸方│    │ 関連する仕訳記入│ └──┘ └──┘    │の金額の借方計と貸│              │方計が一致すること│              └─────────┘  ア 会計取引に対応する仕訳記入の金額が今後も変化しないことを保証する。  イ 勘定間を移動する金額が,その会計取引において一致することを保証する。  ウ 勘定の残高が,その会計取引を記録するごとに計算されることを保証する。  エ 同一の勘定同士で会計取引が行われないことを保証する。 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html 【実習課題】実際に UML を描いてみよう。職場では,どんなツールを使って描い ているか教えて下さい。 ------------------------------------------------------------------------ *[宿題:テクニカル(ネットワーク)向け]  ソフトウェアの再利用技術に関する記述のうち,リバースエンジニアリングの 説明として適切なものはどれか。  ア 既存のプログラムから,そのプログラムの仕様を導き出す技術である。  イ 既存のプログラムから導き出された仕様を修正して,新規プログラムを開   発する技術である。  ウ 既存のプログラムを部品化し,それらの部品を組み立てて,新規プログラ   ムを開発する技術である。  エ クラスライブラリにある既存のクラスを再利用しながら,新規プログラム   を開発する技術である。 ------------------------------------------------------------------------ *[宿題:上級シスアド向け]  図のアローダイアグラムの説明のうち,適切なものはどれか。         6        6     (2) ──────→(4)───→(7)     ┐ \       \     \5    7/   \5       \     \   /     \       :      ┘  /       ┘      │3     (9) (1)         (5)     │     ┐  \9       ┐  \   │    /   \     4/    \4  │   /4    \   /      \ │  /     ┘ /        ┘↓ /     (3) ───→(6) ───→(8)         3     7  ア (2)→(4)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  イ (2)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  ウ (3)→(5)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。  エ (6)→(8)の仕事が 1 日早く終われば,全体の仕事も 1 日早く終わる。 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ------------------------------------------------------------------------ *[宿題:テクニカル(システム管理)向け]  故障率 1.0 × 10^-6(回/秒)の機器 1,000 台が稼働している。200 時間経過 後に,故障していない機器の平均台数に最も近いものはどれか。  必要であれば,故障率を λ 回/秒,稼働時間を t 秒とする次の指数関数のグ ラフから値を読み取って,計算に使用してよい。       指数関数 F(t) = exp( -λt) F(t) 1. 0┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓   ┃:  │ │ │ │ │ │ ┃   ┃:  │ │ │ │ │ │ ┃   ┠ *──┼───┼───┼───┼───┼───┼───┨   ┃ :  │ │ │ │ │ │ ┃   ┃ :  │ │ │ │ │ │ ┃   ┠─ *─┼───┼───┼───┼───┼───┼───┨   ┃  : │ │ │ │ │ │ ┃   ┃  : │ │ │ │ │ │ ┃   ┠── *┼───┼───┼───┼───┼───┼───┨   ┃   :│ │ │ │ │ │ ┃   ┃   :│ │ │ │ │ │ ┃   ┠───・───┼───┼───┼───┼───┼───┨   ┃   │: │ │ │ │ │ ┃   ┃   │ : │ │ │ │ │ ┃ 0.5┠───┼─* ─┼───┼───┼───┼───┼───┨   ┃   │ : │ │ │ │ │ ┃   ┃   │ : │ │ │ │ │ ┃   ┠───┼── *┼───┼───┼───┼───┼───┨   ┃   │ "* │ │ │ │ ┃   ┃   │ │:. │ │ │ │ ┃   ┠───┼───┼─* ─┼───┼───┼───┼───┨   ┃   │ │ :. │ │ │ │ ┃   ┃   │ │ " *. │ │ │ ┃   ┠───┼───┼───┼ "* ─┼───┼───┼───┨   ┃   │ │ │ :. │ │ │ ┃   ┃   │ │ │ ' * : │ │ ┃   ┠───┼───┼───┼───┼ "*. ┼───┼───┨   ┃   │ │ │ │ '*... │ ┃   ┃   │ │ │ │ │ " " *"" ... *  0 ┗━━━┷━━━┷━━━┷━━━┷━━━┷━━━┷━━━┛ 0.5 1.0  1.5 2.0 2.5 3.0 λt  ア 50  イ 500  ウ 950  エ 995 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ------------------------------------------------------------------------ *[宿題:ソフトウェア開発向け]  与えられた 1 〜 8 の整数の列をヒープソートによって降順に並べ替えるため, 列の全体をヒープに構成したところ,     1,4,2,5,8,3,6,7 となった。ここで先頭の要素と最後の要素を交換して     7,4,2,5,8,3,6,1      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ とし,次に下線の部分をヒープに構成する手続を実行する。このとき,実行直後 の列はどうなるか。ここで,ヒープは列の 1 番目(左端)の要素が根,列の i 番 目の要素の子が 2i 番目と 2i + 1 番目の要素と見なした完全 2 分木上に構成 されるものとする。  ア 2,4,3,5,8,7,6,1  イ 4,2,5,8,3,6,7,1  ウ 7,4,5,8,3,6,2,1  エ 8,7,6,5,4,3,2,1 【実習課題】実際にプログラムを作成し,確かめてみよう。 ------------------------------------------------------------------------ *[宿題:情報セキュアド向け]  DFD で用いる記号の一つであるバブル(丸印)の意味はどれか。  ア データの吸収  イ データの源泉  ウ データの処理  エ データの蓄積 ------------------------------------------------------------------------ *[宿題:高度(シスアナ,プロマネ,アプリケーション)共通向け]  表に示す仕様の磁気ディスク装置において,500 バイトのデータを読取りに要 する平均時間は何ミリ秒か。 ┌───────────┬────────┐ │回転数        │ 5,000 回転/分 │ ├───────────┼────────┤ │平均シーク時間    │ 10.00 ミリ秒 │ ├───────────┼────────┤ │転送速度       │ 10 M バイト/秒 │ ├───────────┼────────┤ │コントローラの処理時間│ 2.00 ミリ秒 │ └───────────┴────────┘  ア 12.15  イ 16.05  ウ 18.05  エ 24.05 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ======================================================================== 下の部分を回答用紙として返信してください。返信されたものは,著作権放棄を したとみなします。 ------------------------------------------------------------------------ 宿題メール 裏版 回答用紙 ------------------------------------------------------------------------ 裏 テクニカル(データベース)向け   _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 テクニカル(ネットワーク)向け   _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 上級シスアド向け         _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 テクニカル(システム管理)向け   _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 ソフトウェア開発向け       _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 情報セキュアド向け        _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ 裏 高度共通向け           _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ その他(宿題メール本編に掲載することがあります)