J Question vol.1864
▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓
┃┃ のんびりやろう!情報処理試験! 〜1問1問コツコツと〜 ┃┃
┃┃ 2008.7.23 vol.1864 19,712 部発行 http://www.shunzei.com/ ┃┃
┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼
--PR------------------------------------------------------------------
■ママも安心・便利! 自宅で楽々お買い物!
Oisix旬の食材おためしセットが、1980円〜(税込)で送料無料■
───────────────────────────────────
「子供に安心して食べさせられる」食材宅配Oisix(おいしっくす)より
安全な野菜や卵、フルーツなど、こだわり食材販売中。
お買い物は⇒ http://px.a8.net/svt/ejp?a8mat=15X4NQ+BRB7W2+3RK+2TAH5F
----------------------------------------------------------------------
◇◆ C言語対策の決定版!アルゴリズム力を身に付けるための1冊! ◆◇
◆◇ 【基本情報技術者試験 C言語の切り札】 ◇◆
◇◆ http://www.shunzei.com/book/kirifuda_c.html ◆◇
◆◇◆ ◆◇◆
◇◆◇ C言語対策の定番として継続的に売れています(^^) ◇◆◇
------------------------------------------------------------------PR--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今日の問題■☆(等幅フォントで見てね!)
----------------------------------------------------------------------
表の仕様の磁気ディスク装置に、1 レコードが 500 バイトの
レコード 50 万件を順編成で記録したい。50 レコードを 1 ブロックとして
記録するときに必要シリンダ数は幾つか。
ここで、一つのブロックは複数のセクタにまたがってもよいが、
最後のセクタで余った部分は利用されない。
┌──────────┬─────┐
│トラック数/シリンダ│ 20│
├──────────┼─────┤
│セクタ数/トラック │ 25│
├──────────┼─────┤
│バイト数/セクタ │ 512│
└──────────┴─────┘
ア 960
イ 977
ウ 980
エ 1,000
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H17.秋 基本情報 問23)
----------------------------------------------------------------------
ウ 980
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
コンピュータアーキテクチャの特集に入っています。
今日は、磁気ディスクの容量計算に関する問題でした。
初級シスアド、基本情報向けです。
用語が多くて混乱しやすいと思いますが、問題文で登場した用語は
2つに分けられます。1つは磁気ディスクの記録部分に関する用語と
もう1つは記録データに関する用語です。
○磁気ディスクの記録部分に関する用語(データが記録される箱の話)
セクタ、トラック、シリンダ
○記録データに関する用語(記録するデータの話)
レコード、ブロック、バイト
なかなか理解しにくいところですが、この問題を元に理解していきましょう。
問題文をもう一度見ていきましょう。
> 表の仕様の磁気ディスク装置に、1 レコードが 500 バイトの
> レコード 50 万件を順編成で記録したい。50 レコードを 1 ブロックとして
> 記録するときに必要シリンダ数は幾つか。
> ここで、一つのブロックは複数のセクタにまたがってもよいが、
> 最後のセクタで余った部分は利用されない。
>
> ┌──────────┬─────┐
> │トラック数/シリンダ│ 20│
> ├──────────┼─────┤
> │セクタ数/トラック │ 25│
> ├──────────┼─────┤
> │バイト数/セクタ │ 512│
> └──────────┴─────┘
まず、表の部分から見ていきましょう。
ここは「磁気ディスクの記録部分に関する用語」が載っています。
どれくらいのデータが記録できるか?という話です。
単位に気をつけてまとめると次のような意味となります。
1 シリンダのトラック数:20
1 トラックのセクタ数 :25
1 セクタのバイト数 :512
これらを単位の小さい方から見ていくと、1 セクタのバイト数が
512 バイトというのは次のようなイメージです。
1セクタ(512バイト)
←─→
┌───┐
│ │ 1セクタには512バイト記録可能
└───┘
セクタを 25 個集めたものが 1 トラックなので
1トラック
←───── 25個 ─────→
┏━━━┯━ ━┯━━━┓ 1トラックには
┃ │ ……… │ ┃ 512×25バイト記録可能
┗━━━┷━ ━┷━━━┛
となり、さらにトラックを 20 個集めたものがシリンダです。
1シリンダ
←───── 20個 ───→
┏━━━┳ ┳━━━┓ 1シリンダには
┃ ┃ ……… ┃ ┃ 512×25×20バイト記録可能
┗━━━┻ ┻━━━┛
また、この問題で与えられている条件は
> 1 レコードが 500 バイトのレコード 50 万件を順編成で記録
>
> 50 レコードを 1 ブロックとして記録するときに必要シリンダ数
の 2 つですね。こちらが「記録データ」に関する話です。
記録するデータは 1 レコードが 500 バイトを 50 個集めた時に
1 ブロックとするので、1 ブロックあたりのデータは
500 × 50 = 25000 バイト
となります。
また、50 レコードを 1 ブロックとすることから、記録するブロック数は
50万件 ÷ 50 = 10000 ブロック
となり、この時に必要なシリンダ数を求めます。
さらに、今回は以下の条件があります。
> ここで、一つのブロックは複数のセクタにまたがってもよいが、
> 最後のセクタで余った部分は利用されない。
1 ブロックは 25000 バイトなので、1バイト記録するのに必要なセクタは
25000 ÷ 512 = 48.8 セクタ
となります。最後のセクタで余った部分は利用されないことから
記録イメージは次のようになります。
1セクタ 48セクタ 49セクタ
←─→ ←─→ ←─→ ←─→ ←─→ ←─→ ←─→
┌───┬───┬───┬───┬ ┬───┬───┬───┐
│■■■■■■■■■■■■■■■■・・・■■■■■■■■■■■□│
└───┴───┴───┴───┴ ┴───┴───┴───┘
48.8
■の部分が記録されるデータで、□の部分が余った部分となります。
よって、1 ブロックを 49 セクタとして、レコード 50 万件分
(つまり、10000 ブロック分)を格納するのに必要なセクタ数は
49 × 10000 = 490000 セクタ
となり、表で見たように 1 トラック=25 セクタ、1 シリンダ=20 トラック
であることから、
490000 ÷ 25 = 19600 (トラック)
19600 ÷ 20= 980 (シリンダ)
以上より、必要なシリンダ数は 980 シリンダとなります。
正解は「ウ」となります。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(回答編)★vol.1861(2008.7.16)の質問に対する回答
----------------------------------------------------------------------
今回の質問はこちらでした。(出典:H19. 上級シスアド 問49)
----------------------------------------------------------------------
A 社のトナーカートリッジの消費数量は 1,200 個/年である。
定量発注方式を採用するときの発注と在庫に関する費用が次の場合、
発注 1 回当たりの最適発注数量は何個か。
【発注と在庫の費用】
発注費 30,000円/回
1年間の在庫維持費 800円/個
ア 150
イ 200
ウ 250
エ 300
----------------------------------------------------------------------
上級シスアドで出題された定量発注方式に関する問題でした。
システム開発をしている人には馴染みの薄い問題なので、
一度もこの手の問題を解いたことが無い人には、ちょっと難しいかも。
それでは、みなさんの回答を紹介しますね。
○Sさん
> (↓先ず、b.の計算式のもとになる考え方について)
> a.
> 1年に 1 回(年度始めに)1,200 個を発注した場合で仮定計算します。
> 発注費は、30,000円/回 × 1 回=30,000円
> 在庫に関する費用については、
> 発注直後は 1,200 個あるので、1,200 個分の在庫費用がかかりますが、
> ちょうど半年後には 600 個、
> 年度末の次の発注直前には 0 個になると見做して、仮定計算します。
>
> よって、在庫量を平均すると 1 回の発注量の 1/2 となり、1 回の発注で
> 1,200 個を発注した場合は 平均在庫量 600 個で仮定計算します。
> よって、1年間の在庫維持費は 800円/個×600個=480,000円
> 発注と在庫に関する総費用=30,000円+480,000円=510,000円となります。
>
> b.
> 上の計算手順を考慮し、最適発注数量 = α 個/回として、仮定計算します。
> 発注回数は、1年間の消費数量 1,200 個/年を 1 回当たりの発注数量で
> 割って、1,200個/年 ÷ α 個/回 = 1,200÷α (回/年)
> よって、発注費は 30,000(円/回)× 1,200÷α (回/年) となります。
>
> 一方、在庫維持費は {α (個/回)×1/2}×800(円/個) となります。
> ここで、(経済的)最適発注数量とは、年間の
> 在庫維持費+発注費 の合計金額が最小となるときの発注数量ですが、
> これは (グラフを描くと視覚的に解るのですが)
> 在庫維持費=発注費 となるときの発注数量となります。
>
> よって、(経済的)最適発注数量は
> α÷2×800=30,000×1,200÷α
> α×α×400=30,000×1,200
> α×α=30,000×3=90,000=300×300
> よって、α=300 となり
> (経済的)最適発注数量は、エ 300 が正解です。
>
> 1/2α×1年間の在庫維持費 = (年間の総消費数量÷α)× 1 回の発注費
> という式を覚えてしまってもいいのでしょうが、
> Pointは、在庫数量は 1 年間に平均的に減少すると見做す。よって、
> 在庫量を平均すると 1 回の発注量の 1/2 となると見做す、と仮定計算を
> することでしょうか。
どうもありがとうございました。正解は「エ」で良いでしょう。
平均在庫量を発注量の半分として考えられるという部分は
覚えておくと良いですね。あとは方程式で解いているやり方です。
ちなみに、僕は見做す(みなす)が読めませんでした(^^;;
○もんさん
> 発注方式は、以下の2種類に大きく分類できます。
> ・定量発注方式
> 発注量固定
> 発注時期を調整
> ・定期発注方式
> 発注時期は定期的(例:毎月1回)
> 発注量を調整
>
> 定量発注方式とは、発注してから入荷するまでの間での受注量を予測し、
> 現在の在庫量−入荷するまでの予測受注量 >= 安全在庫量
> となるように、発注時期を調整する方式です。
>
> 安全在庫とは、受注の変動をあらかじめ考慮して、
> 余分に在庫を持つことです。
>
> この設問では、安全在庫について記載がないため、0として計算します。
>
> <図>
> 在庫量
> │
> │\ │\
> │ \ │ \
> │ \ │ \
> │ \ │ \
> │ \ │ \
> │ \│ \
> 0└──────┴───────
> ▲ △ 日
> 発注→ 入荷
>
>
> 在庫にかかるコストを計算する場合は、平均値で考えます。
> 最大数で計算すると実際の額より多く計算してしまうことになります。
>
> 在庫量
> │
> │\ │\
> │ \ │ \
> │ \ │ \
> ⇒├………\……│………\……… 面積が同じになるように考える。
> │ \ │ \
> │ \│ \
> 0└──────┴───────
> ▲ △ 日
> 発注→ 入荷
>
>
> 【問題の回答】
> 1 回当たりの最適発注数量をxとすると、以下が成り立ちます。
>
> 発注回数: 1,200 個/x
> 平均在庫量: x/2
>
> 従って、発注と在庫の費用総計は、以下で計算できます。
>
> 30,000(円/回)×〔1,200/x〕(回) … 年間の発注費用
> +
> 800(円/個)×〔x/2〕(個) … 年間の在庫維持費用
>
> これが最低になるように計算します。
>
> 試験の場合、回答に選択肢があるため、難しく考えずにそれぞれを計算
> します。
>
> ア x=150
> 発注回数: 8回
> 平均在庫量: 75個
> 費用総計: 300,000円
>
> イ x=200
> 発注回数: 6回
> 平均在庫量: 100個
> 費用総計: 260,000円
>
> ウ x=250
> 発注回数: 4.8回
> 平均在庫量: 125個
> 費用総計: 244,000円
>
> エ x=300
> 発注回数: 4回
> 平均在庫量: 150個
> 費用総計: 240,000円
>
> 従って、答えは、エ。
>
>
> 真理追究派には、計算式をこねくり回して見ましょう。
> 最小値が分かれば良いので、全体を100で割って簡単な式にします。
>
> y = 360000/x + 4x
>
>
> グラフの傾きが変化する箇所を見つけます。(微分ですね。)
>
> y' = − 360000/x^2 + 4
>
> これがy'= 0 になった時が最小となる値です。
>
> 従って、x=300
どうもありがとうございました。
そうですね。選択肢の値を当てはめて、費用合計を出してしまうのも
良い解き方ですね。
日にちと在庫量の関係がわかりやすく表現されているので、これで
平均すると半分で良いということがわかりますね。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(質問編)★ 回答期限:7月28日(月)の夜まで
----------------------------------------------------------------------
「この問題がわからないっ!!」という、
読者からの質問をみなさんに回答してもらおう!というコーナーです。
今回の質問はこちらです。(出典:H20. データベース 問42)
----------------------------------------------------------------------
“学生”表に対し次の SELECT 文を実行した結果、導出される表はどれか。
ここで表中の“−”は、値がNULLであることを示す。
SELECT 学生番号, 氏名 FROM 学生
WHERE 住所 = '東京都' AND 自宅電話 IS NOT NULL
AND クラブ <> 'テニス'
学生
┌────┬────┬─────┬──┬──────┬────┬───┐
│学生番号│ 氏名 │ 生年月日 │性別│ 自宅電話 │ 住所 │クラブ│
┝━━━━┿━━━━┿━━━━━┿━━┿━━━━━━┿━━━━┿━━━┥
│ S001 │佐藤一郎│1986-05-15│男性│03-1111-1111│東京都 │ − │
├────┼────┼─────┼──┼──────┼────┼───┤
│ S002 │鈴木花子│1988-01-10│女性│044-222-2222│神奈川県│テニス│
├────┼────┼─────┼──┼──────┼────┼───┤
│ S003 │田中太郎│1986-11-05│男性│03-3333-3333│東京都 │ 野球 │
├────┼────┼─────┼──┼──────┼────┼───┤
│ S004 │高橋次郎│1988-08-26│男性│ − │千葉県 │テニス│
├────┼────┼─────┼──┼──────┼────┼───┤
│ S005 │渡辺一代│1986-09-14│女性│045-444-4444│神奈川県│ − │
├────┼────┼─────┼──┼──────┼────┼───┤
│ S006 │高橋恵子│1985-03-02│女性│ − │東京都 │ 水泳 │
└────┴────┴─────┴──┴──────┴────┴───┘
ア ┌────┬────┐
│学生番号│ 氏名 │
┝━━━━┿━━━━┥
│ S001 │佐藤一郎│
├────┼────┤
│ S003 │田中太郎│
├────┼────┤
│ S006 │高橋恵子│
└────┴────┘
イ ┌────┬────┐
│学生番号│ 氏名 │
┝━━━━┿━━━━┥
│ S001 │佐藤一郎│
├────┼────┤
│ S003 │田中太郎│
└────┴────┘
ウ ┌────┬────┐
│学生番号│ 氏名 │
┝━━━━┿━━━━┥
│ S003 │田中太郎│
└────┴────┘
エ ┌────┬────┐
│学生番号│ 氏名 │
┝━━━━┿━━━━┥
│ S003 │田中太郎│
├────┼────┤
│ S006 │高橋恵子│
└────┴────┘
--[回答のめやす(横幅:全角34文字)]--------------------------------
> 1234567890123456789012345678901234
----------------------------------------------------------------------
SQLのリクエストは久々かも?
これに対する回答(解説)を7月28日(月)の夜までにお願いします。
このコーナーで取り上げてほしい問題のリクエストも募集中です。
回答&お便りはこちらからでもOKです。
http://www.shunzei.com/about/mail.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります)
----------------------------------------------------------------------
> インヘリタンス(inheritance) って?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> *********************** 投稿募集中のテーマ *********************** <
----------------------------------------------------------------------
●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答
●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト
●「その他、試験などに関するお便り(テーマフリー)」
ハンドル名を添えて、このメールマガジンに返信して頂ければ届きます。
WebからでもOK! http://www.shunzei.com/about/mail.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
のんびりやろう!情報処理試験! 〜1問1問コツコツと〜(週3日発行)
----------------------------------------------------------------------
編集・発行:しゅんぜい mail_at_shunzei.com (_at_は @ に)
発送:melma! http://www.melma.com/ (ID:189)
:まぐまぐ http://www.mag2.com/ (ID:24856)
:めろんぱん http://www.melonpan.net/ (ID:78)
登録・解除:http://www.shunzei.com/mm/
○バックナンバー
立ち読み : http://www.melma.com/backnumber_189/
ダウンロード: http://www.shunzei.com/mm/backnumber.html
転載について: http://www.shunzei.com/about/disclaimer.html
広告掲載は mail_at_shunzei.com (_at_は @ に)までお願いします。
----------------------------------------------------------------------
○メールマガジンの購読の登録・解除は個人の責任で行ってください。
しゅんぜいは一切代行しません!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!の答え▼
----------------------------------------------------------------------
(セキュリティ平成20年問9ウ)の選択肢より
> 基底クラスで定義されたデータ構造と手続をサブクラスで引き継いで使える。
(ソフトウェア平成18年春問42ア)の選択肢より
> あるクラスのサブクラスを定義するとき、基底クラスで定義された
> データ構造と手続をサブクラスで引き継いで使うことができる。
(セキュアド平成16年問9)の問題文より
> オブジェクト指向の概念で、上位のクラスのデータやメソッドを
> 下位のクラスで再利用できる性質
(ソフトウェア平成15年問49ア)の選択肢より
> あるクラスのサブクラスを定義するとき、上のクラスで定義された
> データ構造と手続をサブクラスで引き継いで使うことができる。
(ネットワーク平成13年問14)の問題文より
> オブジェクト指向の概念で、上位のクラスのデータやメソッドを
> 下位のクラスで再利用できる性質
(基本情報平成13年春問47エ)の選択肢より
> 継承という概念によって,モデルの拡張や変更の際に変更部分を
> 局所化できる。
(2種平成12年秋問53エ)の選択肢より
> クラスは,その親のクラスから属性とメソッドを継承できる。
(1種平成11年問62ウ)の選択肢より
> 上位クラスの属性とメソッドを下位クラスが引き継ぐこと
オブジェクト指向では、既に定義したクラスに変数やメソッドを付け加える
ことによって、新しいクラスを定義することができます。
インヘリタンス(inheritance) とは、既存のクラスを利用して
新しいクラスを作成するときに、既存のクラスの属性(変数やメソッド)を
引き継ぐことをいいます。
インヘリタンスを利用することで、既存のクラスと処理が異なる部分だけを
記述すればよくなるので、差分だけのプログラミングで済むこととなります。
ここで、新しいクラスをサブクラス(sub class)と言い、
元のクラスをスーパークラス(super class)と言います。
=-=[あとがき]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
毎日暑いですねぇ。
3連休のうちの2日間は、なんとか奥多摩へ行けましたが、
結局、毎日電話で仕事の対応をしていました(^^;;
まー、こればっかりはしょうがないですね。
そんな中、一昨日の夜、Tシャツのデザインに挑戦してみました。
「夏フェスでみんなで着ようよ!」って話で盛り上がったので、
試しにやってみたのですが、初めて作るのでいったいどんなカンジに
出来上がるのかはよくわかりません。
今、いくつかのサイトに見積もりを依頼しているのですが、
もしうまくできたら、読者プレゼントにでもしましょうか(^^;;
----------------------------------------------------------------------
◆のんびりやろう!情報処理試験!はこちらから http://www.shunzei.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


![転職なら[en]社会人の転職情報!転職成功者続出 転職なら[en]社会人の転職情報!転職成功者続出](http://kamogawa.mag2.com/bn/recommend/sya.gif)
![派遣のお仕事探しなら[en]派遣のお仕事情報 派遣のお仕事探しなら[en]派遣のお仕事情報](http://kamogawa.mag2.com/bn/recommend/haken.gif)
![アルバイト探しは[en]本気のアルバイト アルバイト探しは[en]本気のアルバイト](http://kamogawa.mag2.com/bn/recommend/baito.gif)
![就職サイトは[en]学生の就職情報 就職サイトは[en]学生の就職情報](http://kamogawa.mag2.com/bn/recommend/gakusei.gif)
![転職なら[en]転職コンサルタントキャリアを活かした転職に! 転職なら[en]転職コンサルタントキャリアを活かした転職に!](http://kamogawa.mag2.com/bn/recommend/consul.gif)