▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓ ┃┃  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜  ┃┃ ┃┃ 2002.12.13 vol.1007 21,497 部発行 http://www.shunzei.com/ ┃┃ ┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ ━PR━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆◆◆◆◆◆◆◆ ただいま「短期コース」お申込受付中! ◆◆◆◆◆◆◆◆ 「試験種別に特化した短期コースをお正月からはじめたい」という方へ 12/18(水)までにお申込 ⇒ 年内発送 ⇒ 初詣は合格祈願 ⇒ 学習開始 詳細とお申込は http://www.itec.co.jp/ から ◆◆◆◆ 《IT技術者教育のパイオニア》 アイテックの通信講座 ◆◆◆◆ ---------------------------------------------------------------------- ◆募集 【つくば周辺】ひたち野うしく・荒川沖・土浦で働きたいEngineer◆ ◆◆ソフトウェア開発(SE・PG) NETWORKエンジニア≪経験者のみ募集≫ ◆◆ ◆◆◆  [交通]:最寄の各駅よりバスにて20〜40分 交通費支給  ◆◆◆ ◆◆◆◆つくば周辺のエンジニアのお仕事、着実に増加中![テクノブレイン] やる気のある方!詳しくは⇒ http://211.10.20.135/a/a.cgi?k03985Fm01027 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━PR━ >/*** 今日の問題はお休みします。楽しみにされている方、スイマセン。***/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★これ、おしえてっ!(回答編)★ vol.1002(2002.12.6)の質問に対する回答 ----------------------------------------------------------------------  vol.1002 の質問はこちらでした。(出典:H10. 1種 問10) ----------------------------------------------------------------------  次に示すユークリッドの互助法(方法1,方法2)で、正整数 a, b の  最大公約数は、m と n のどちらの変数に求まるか。  ここで、m mod n は m を n で割った余りを表す。       方法1            方法2      _____          _____     ( 開 始 )        ( 開 始 )       ̄ ̄│ ̄ ̄           ̄ ̄│ ̄ ̄    ┌───┴───┐      ┌───┴───┐    │  a → m  │      │  a → m  │    │  b → n  │      │  b → n  │    └───┬───┘      └───┬───┘    ┌───┴───┐        ──┴──    │ m mod n → r │       / ループ2 \    └───┬───┘      │       │      ──┴──        └───┬───┘     / ループ1 \       ┌───┴───┐    │  r = 0  │      │ m mod n → r │    └───┬───┘      └───┬───┘    ┌───┴───┐      ┌───┴───┐    │  n → m  │      │  n → m  │    └───┬───┘      └───┬───┘    ┌───┴───┐      ┌───┴───┐    │  r → n  │      │  r → n  │    └───┬───┘      └───┬───┘    ┌───┴───┐      ┌───┴───┐    │ m mod n → r │      │  r = 0  │    └───┬───┘       \ ループ2 /    ┌───┴───┐        ──┬──     │       │        ──┴──      \ ループ1 /        ( 終 了 )      ──┬──           ̄ ̄ ̄ ̄ ̄      ──┴──       ( 終 了 )       ̄ ̄ ̄ ̄ ̄  ┌─┬─────┬─────┐  │ │ 方法1 │ 方法2 │  ├─┼─────┼─────┤  │ア│  m   │  m   │  │イ│  m   │  n   │  │ウ│  n   │  m   │  │エ│  n   │  n   │  └─┴─────┴─────┘ ----------------------------------------------------------------------  ユークリッドの互助法に関する問題でしたが、いかがでしたか?  それでは、みなさんの回答を紹介します。  ○パチュリさん > 実際の数字を入れて考えました。 > a:18 b:12とすると > > 方法1は、18/12=1余り6(r=6) > 12→m、6→n > 12/6=2余り0 > 最大公約数は6なのでn > > 方法2は、18/12=1余り6(r=6) > 12→m、6→n > 12/6=2余り0 > 6→m、0→nなので最大公約数の6はm > > 答 ウ  どうもありがとうございました。正解は「ウ」で良いでしょう。  ユークリッドの互助法が何か良くわからなくても、  とりあえず値を代入してみると正解にたどり着くのではないでしょうか?  ○cobaltさん > 仮に,m=12, n=18とします. > > 方法1 > > m:12  18  12 > n: 18  12  6 > r:  12  6  0 > > と,各変数の値は変化していき,プログラム終了時には,m=12, n=6, r=0. > > 方法2 > > m:12  18  12  6 > n: 18  12  6  0 > r:  12  6  0 > > と,各変数の値は変化していき,プログラム終了時には,m=6, n=0, r=0. > > 12と18の最大公約数は6なので,方法1ではnに,方法2ではmに求まっている. > 従って,ウが正解だと思います. > > ・ユークリッドの互除法: > http://www.hokuriku.ne.jp/fukiyo/math-obe/euclid.htm  このページはなかなかわかりやすそうでした。  どうもありがとうございました。  ○かなめさん > <ユークリッドの互除法> >   mとnの最大公約数を求める方法。 >  ・ m mod n = 0 のとき、最大公約数は n >  ・ m mod n ≠ 0 のとき、n → m > r → n を繰り返す。 >  (m,nの最大公約数とn,rの最大公約数は等しい。) > > > 方法1では、 > ループに入らずに終了する場合を考えると(例:m = 6, n = 3, r = 0)、 > 最大公約数は n に求まります。 > > 方法2では、 > r = 0 でループをぬける事を考えると、 > r → n より n は0になります。 > よって、最大公約数は m に求まります。 > > と、きちんとトレースしませんでした。  この問題なら、きちんとトレースしなくても十分ですね。  どうもありがとうございました。  ユークリッドの互助法とは、最大公約数を求める方法の1つです。  なぜ最大公約数が求まるのかと言う証明は、シャインさんの  数学メールマガジンで扱ってくれているのではないでしょうか?(^^;; > ユーグリッドの互除法の確認をしておくと… > > 1.二つの数値A、Bのうち、大きい方をXとし、小さい方をYとする。 > 2.XをYで割った余りR1を求める。 > 3.次にYをR1で割った余りR2を求める。 > 4.更に、R1をR2で割った余りR3を求める。 > 5.以下同様に、新しく求めた余りで一つ前の余りを割って、次々に余りを >   求めていく。 > 6.ここで何回目かの除数において余りが0となるはずであるが、そのときの >   除数がAとBの最大公約数である。  どうもありがとうございました。  手計算でやると非常にめんどくさいですが、コンピュータにとっては  非常に計算しやすい求め方ですね。  その他、カスミソウさん、鮎師さん、オケマツさんも  回答どうもありがとうございました。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆お便りコーナー◆ テーマフリーです。ご自由にどうぞ。 ----------------------------------------------------------------------  昨日の「今日の問題」の解説で以下の部分に誤りがありました。 > 最後に参照されるのは、5 ですね。ここはページフォールトです。 > >     1 2 3 >    ┌―┬―┬―┐ >    │5│1│3│ ページフォールト:10回 >    └―┴―┴―┘  の部分ですが、当然      1 2 3     ┌―┬―┬―┐     │5│4|1| ページフォールト:10回     └―┴―┴―┘  が正しいですね。教えてくれたみなさん、どうもありがとうございました。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★これ、おしえてっ!(質問編)★ 回答期限:12月16日(月)の夜まで ----------------------------------------------------------------------  「この問題がわからないっ!!」という、  読者からの質問をみなさんに回答してもらおう!というコーナーです。  今回の質問はこちらです。(出典:H10. プロダクション 問71) ----------------------------------------------------------------------  あるソフトウェア会社の社員は週 40 時間働く。  この会社が、開発工数 440 人時のプログラム開発を引き受けた。  開発コストを次の条件で見積もるとき、10 人のチームで開発する場合の  コストは、1 人で開発する場合のコストの約何倍になるか。  【条件】  (1) 10 人のチームでは、コミュニケーションをとるための工数が    余分に発生する。  (2) コミュニケーションはチームのメンバがお互いに総当たりでとり、    その工数は2人1組の組合せごとに週当たり4時間    (1人あたり2時間)である。  (3) 社員の週当たりコストは社員間で差がない。  (4) (1)〜(3) 以外の条件は無視できる。  ア 1.2     イ 1.5     ウ 1.8     エ 2.1 --[回答のめやす(横幅:全角34文字)]-------------------------------- > 1234567890123456789012345678901234 ----------------------------------------------------------------------  これに対する回答(解説)を12月16日(月)の夜までにお願いします。  このコーナーで取り上げてほしい問題のリクエストも募集中です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > *********************** 投稿募集中のテーマ *********************** < ----------------------------------------------------------------------  ●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答  ●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト  ●「その他、試験などに関するお便り(テーマフリー)」  ハンドル名を添えて mail@shunzei.com まで送ってください!! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります) ---------------------------------------------------------------------- > メモリインタリーブ(memory inter leave) って? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜(週5日発行) ----------------------------------------------------------------------  編集・発行:しゅんぜい mail@shunzei.com      ─ 発行部数 ─    発送:melma!   http://www.melma.com/     5,495 部       :まぐまぐ  http://www.mag2.com/     11,995 部       :めろんぱん http://www.melonpan.net/   4,007 部                           ───────  登録・解除:http://www.shunzei.com/mm/        21,497 部(total)  ○本の購入:http://books.rakuten.co.jp/itexam/  ○バックナンバー  ダウンロード: http://www.shunzei.com/mm/backnumber.html  立ち読み  : http://www.melma.com/mag/89/m00000189/index_bn.html  転載について: http://www.shunzei.com/about/disclaimer.html  広告掲載に関しては mail@shunzei.com まで、直接お願いします。 ----------------------------------------------------------------------  ○メールマガジンの購読の登録・解除は個人の責任で行ってください。   しゅんぜいは一切代行しません! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!の答え▼ ----------------------------------------------------------------------  (基本情報平成13年秋問23)の問題文より > 主記憶を複数バンクに分割し、多重処理の考え方を導入することによって、 > 主記憶へのアクセス時間を減少させようとする方式  (基本情報平成13年春問22)の問題文より > 主記憶装置の高速化の技法として、主記憶を幾つかのアクセス単位に > 分割し、各アクセス単位をできるだけ並行動作させることによって、 > 実効的なアクセス時間を短縮する方法  メモリインタリーブ(memory inter leave) とは、主記憶(メモリ)を  複数のバンク(bank) と呼ばれる領域に分割し、連続したメモリアドレスを  割当て、この複数の領域に並列処理(array processing) で、同時に  アクセスすることによって、高速アクセスを可能にする方法です。  メモリインタリーブを図示すると下のようになります。4つのバンクを  同時にアクセスすれば、4倍の速さで読みこめますね。    バンク0    バンク1    バンク2    バンク3   ┌────┐  ┌────┐  ┌────┐  ┌────┐  0│    │ 1│    │ 2│    │ 3│    │   ├────┤  ├────┤  ├────┤  ├────┤  4│    │ 5│    │ 6│    │ 7│    │   ├────┤  ├────┤  ├────┤  ├────┤     :       :       :       :     :       :       :       :   ├────┤  ├────┤  ├────┤  ├────┤   │    │  │    │  │    │  │    │   └─┬┬─┘  └─┬┬─┘  └─┬┬─┘  └─┬┬─┘     ││      ││      ││      ││     ││      ││      ││      ││  ┌──┴┴──────┴┴──────┴┴──────┴┴──┐  │          処理装置(CPU)           │  └──────────────────────────────┘  interleave は「重ね合わせる」とか「多重化する」という意味があります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ==PR================================================================== ▼24時間いつでもどこでも本が買える!【インターネット上の本屋さん】▼  のんびりやろう!〜楽天ブックス http://books.rakuten.co.jp/itexam/ ======================================================================