のんびりやろう!情報処理試験!-1問1問コツコツと- RSSを登録する

情報処理技術者試験のソフトウェア開発,基本情報技術者の午前問題を中心に初級シスアドやセキュリティ,ネットワークなどの高度区分まで幅広く対応!問題/用語のリクエストも受付中!役立つIT知識を増やしたい方はぜひ。

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2008/06/09

J Question vol.1845

この記事を取り寄せる


 ▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓
┃┃  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜  ┃┃
┃┃ 2008.6.9 vol.1845 19,526 部発行   http://www.shunzei.com/  ┃┃
┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ 

--PR------------------------------------------------------------------

           お父さんは宇宙が好き?!

         ◆父の日限定『月の土地』ギフト◆
   宇宙で使えるスペースペンと月の土地が、父の日限定ギフトに!
     夢のギフトをお父さんにありがとうの気持ちを添えて。
    http://px.a8.net/svt/ejp?a8mat=10G6CP+9TNI42+4T2+60WN7 

----------------------------------------------------------------------

◇◆ C言語対策の決定版!アルゴリズム力を身に付けるための1冊! ◆◇
◆◇       【基本情報技術者試験 C言語の切り札】      ◇◆
◇◆      http://www.shunzei.com/book/kirifuda_c.html     ◆◇
◆◇◆                             ◆◇◆
◇◆◇    C言語対策の定番として継続的に売れています(^^)   ◇◆◇

------------------------------------------------------------------PR--

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今日の問題■☆☆(等幅フォントで見てね!)
----------------------------------------------------------------------
 スタックとキューの二つのデータ構造がある。次の手続きを
 順に実行した場合、変数 x に代入されるデータはどれか。ここで、

  データ a をスタックに挿入することを、push(a) 
  スタックからデータを取り出すことを、pop() 
  データ a をキューに挿入することを、enq(a) 
  キューからデータを取り出すことを、deq() 

 とそれぞれ表す。 

  push(a)
  push(b)
  enq(pop())
  enq(c)
  push(d)
  push(deq())
  x ← pop()

 ア a

 イ b

 ウ c

 エ d



















━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H13.秋 基本情報 問13)
----------------------------------------------------------------------
 イ b

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 コンピュータサイエンスの特集に入っています。
 今日は、データ構造(スタックとキュー)に関する問題でした。


 スタック(stack) とは、複数のデータを記録する方法の1つです。
 後入れ先出し法や LIFO(Last-In First-Out) とも言います。

 スタックには複数のデータを記録できますが、取り出すときには
 最後に入力されたデータから1つずつ取り出していきます。

 一方、キュー(queue) は、先入れ先出し法や待ち行列、
 FIFO(First-In First-Out) とも言います。

 スタック同様、キューにも複数のデータを記録することができますが
 データを取り出すときには一番古いデータから取り出していきます。


 今回は、スタックとキューでのデータの流れを以下のように表して
 実際にデータの流れを追っていきたいと思います。

      スタック      キュー

    ──┐ ┌─→      │
      ↓ │        ↓
     │   │     │   │
     │   │     │   │
     │   │     │   │
     └───┘       │
                 ↓

 念のため、もう一度問題を載せておきますね。

>  データ a をスタックに挿入することを、push(a) 
>  スタックからデータを取り出すことを、pop() 
>  データ a をキューに挿入することを、enq(a) 
>  キューからデータを取り出すことを、deq() 

>   push(a)
>   push(b)
>   enq(pop())
>   enq(c)
>   push(d)
>   push(deq())
>   x ← pop()


 では、解いていきましょう。

>   push(a):データ a をスタックに挿入

      スタック      キュー

     │   │     │   │
     │   │     │   │
     │ a  │     │   │
     └───┘

>   push(b):データ b をスタックに挿入


     │   │     │   │
     │ b  │     │   │
     │ a  │     │   │
     └───┘

>   enq(pop()):スタックからデータを取り出して、キューに挿入


     │   │     │   │
     │   │     │   │
     │ a  │     │ b  │
     └───┘

   後からスタックに入った b が取り出され、b がキューに入ります。

>   enq(c):データ c をキューに挿入


     │   │     │   │
     │   │     │ c  │
     │ a  │     │ b  │
     └───┘

>   push(d):データ d をスタックに挿入

     │   │     │   │
     │ d  │     │ c  │
     │ a  │     │ b  │
     └───┘

>   push(deq()):キューからデータを取り出して、スタックに挿入

     │ b  │     │   │
     │ d  │     │   │
     │ a  │     │ c  │
     └───┘

   先にキューに入った b が取り出され、b がスタックに入ります。

>   x ← pop():スタックからデータを取り出して、x に代入

     │   │     │   │
     │ d  │     │   │
     │ a  │     │ c  │
     └───┘

      x = b


 したがって、x には b が代入されます。



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(質問編)★ 回答期限:6月9日(月)の夜まで
----------------------------------------------------------------------
 「この問題がわからないっ!!」という、
 読者からの質問をみなさんに回答してもらおう!というコーナーです。


 今回の質問はこちらです。(出典:H20.春 ソフトウェア 問12)
----------------------------------------------------------------------

 16進数で表される 9 個のデータ 1A, 35, 3B, 54, 8E, A1, AF, B2, B3 を
 順にハッシュ表に入れる。
 ハッシュ値をハッシュ関数 f(データ)=mod(データ, 8) で求めたとき、
 最初に衝突が起こるのはどのデータか。ここで、mod(a, b)は a を b で
 割った余りを表す。

 ア 54

 イ A1

 ウ B2

 エ B3


--[回答のめやす(横幅:全角34文字)]--------------------------------
> 1234567890123456789012345678901234
----------------------------------------------------------------------

 またまたソフトウェアのリクエストです。ある意味人気ですね(^^;
 でも、この問題はソフトウェア受験者には確実に解いてほしいかも。

 これに対する回答(解説)を6月9日(月)の夜までにお願いします。

 このコーナーで取り上げてほしい問題のリクエストも募集中です。
 回答&お便りはこちらからでもOKです。
 http://www.shunzei.com/about/mail.html 


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります)
----------------------------------------------------------------------

> ブリッジ(bridge) って?



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> *********************** 投稿募集中のテーマ *********************** <
----------------------------------------------------------------------

 ●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答
 ●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト
 ●「その他、試験などに関するお便り(テーマフリー)」

 ハンドル名を添えて、このメールマガジンに返信して頂ければ届きます。
 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年問22)
 (ソフトウェア平成17年秋問60)の問題文より

> CSMA/CD 方式の LAN で使用されるスイッチングハブ(レイヤ2スイッチ)は、
> フレームの蓄積機能、速度変換機能や交換機能を持っている。
> このようなスイッチングハブと同等の機能をもち、
> 同じ階層で動作する装置

 (ネットワーク平成19年問48)

> 複数の LAN を接続するために用いる装置で、OSI 基本参照モデルの
> データリンク層のプロトコルに基づいてデータを中継する装置

 (ソフトウェア平成13年問68)の問題文より

> 複数の LAN を接続するために用いる装置で、データリンク層以下の
> プロトコルに基づいてデータの受渡しをする装置

 (初級シスアド平成13年秋問16イ)
 (1種平成11年問36イ)の選択肢より

> 同じ論理リンク制御プロトコルを使用する二つの LAN を相互接続する。

 ブリッジ(bridge) とは、データリンク層での中継を行う装置です。
 フレームのフィルタリング機能を持っています。

 送信データのヘッダ内にある MAC アドレスをチェックして、
 中継すべきかどうか判断して転送します。

 この判断時には、特定のフレームを通す・通さないの判断を行う
 フィルタリング機能や、MAC アドレスの学習機能もあります。

 ちなみに「フレーム」という言葉を使う場合は、必ず
 データリンク層の話になります。

 # 同じビット列の固まりでも、レイヤによって呼び名が変わり、
 # セション層より上位層では「メッセージ」
 # トランスポート層では「セグメント」もしくは「データグラム」
 # ネットワーク層では「パケット」といいます。


 データリンク層で動作する機器としては、他にスイッチングハブが
 あります。

 スイッチングハブ(switching hub)とは、データリンク層で動作する
 ネットワーク機器の1つです。単にスイッチと呼んだり、
 レイヤ2スイッチ(Layer 2 switch, L2 switch)と呼ぶことが多いです。

 スイッチはブリッジと同様に MAC アドレスを解釈して、
 レイヤ2レベルでのフィルタリングを行いますが、
 ブリッジと異なる点としては、ブリッジではソフトウェアベースで
 処理が行われるのに対し、スイッチは ASIC と呼ばれる専用のチップで
 処理を行うので、ブリッジよりも高速な処理が可能です。

 他にも、VLAN によってブロードキャストドメインを分割したり、
 ポート密度が高かったり、フレームの転送方式が複数あったり、
 フロー制御や全二重通信、オートネゴシエーション機能があったりと
 さまざまな機能を備えています。



=-=[あとがき]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 どちらかと言うと、僕は運動しないタイプですが、
 (ロックフェスではしゃいだりはしますが)
 昨日は会社の同じ部署の人たちに連れられて、佐野藤岡まで
 ゴルフのコースデビューをしてきました。
 打ちっぱなしにすら行ったことないのに(笑)

 前日にとりあえず靴と手袋だけ買いに行き、
 クラブは一緒に行く人に借りてプレーしてきました。

 思ってたよりは、ボールが前に飛んでくれましたが、
 ドライバーを持てば大きく右に反れ、アイアンを持てば
 ボールの上叩いたり、ダフったりで、まー当たり前ですね(^^;;
 全然まともにミートできませんでしたが、なかなか楽しかったです。

 たまにはカラダを動かすのも良いですねー。


----------------------------------------------------------------------
◆のんびりやろう!情報処理試験!はこちらから http://www.shunzei.com/ 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

この記事を取り寄せる
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る