ソフトウェア開発&基本情報技術者試験対策を中心に初級シスアドや高度区分まで幅広く対応。流行のIT用語の解説も行っているので,パソコンについて勉強したい人,資格取得で収入をアップしたいビジネスマンに最適です。
- 最新号:2008-10-06
- 発行周期:週5日(土日休み)
- 読んでる人:4944人
- 創刊日:1999-02-23
- Score!:91点
- コメント数 : 17
- メルマガID:189
- バックナンバー:全て公開
- 発行者サイト:あり
- >> 月間ランキング
J Question vol.1785
発行日: 2008/1/14
▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓
┃┃ のんびりやろう!情報処理試験! 〜1問1問コツコツと〜 ┃┃
┃┃ 2008.1.14 vol.1785 19,200 部発行 http://www.shunzei.com/ ┃┃
┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼
--PR------------------------------------------------------------------
◇◆ C言語対策の決定版!アルゴリズム力を身に付けるための1冊! ◆◇
◆◇ 【基本情報技術者試験 C言語の切り札】 ◇◆
◇◆ http://www.shunzei.com/book/kirifuda_c.html ◆◇
◆◇◆ ◆◇◆
◇◆◇ C言語対策の定番として継続的に売れています(^^) ◇◆◇
----------------------------------------------------------------------
┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓
┃早┃め┃の┃転┃職┃を┃を┃お┃考┃え┃の┃貴┃方┃へ┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
■業界トップクラスの求人情報と専任コンサルタントが転職をサポート■
【パソナの無料転職サポートはこちらへ 】
http://px.a8.net/svt/ejp?a8mat=10G6CP+9VFSXE+AZA+65EOJ
------------------------------------------------------------------PR--
>/******************** 今日の問題はお休みします。********************/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(回答編)★vol.1782(2008.1.7)の質問に対する回答
----------------------------------------------------------------------
今回の質問はこちらでした。(出典:H19.秋 基本情報 問39)
----------------------------------------------------------------------
プログラムの各種特性に関する記述のうち、適切なものはどれか。
ア 再帰的処理のためには、実行途中の状態を FIFO 方式で記録し、
制御する必要がある。
イ 再入可能プログラムを実現するためには、プログラムを手続き部分と
データ部分に分割して、データ部分をプロセスごとにもつ必要がある。
ウ 逐次再使用可能なプログラムは、再入可能でもある。
エ 複数のプロセスで同時に実行できるようにしたプログラムは、
再帰的である。
----------------------------------------------------------------------
> この問題の内容がなかなか頭に入りません。
> 参考書にある内容を地道に覚えるしかないのでしょうか。
というコメント付きでした。それでは、みなさんの回答を紹介しますね。
○オケマツさん
> プログラムの分類について自分の文章で整理しなおしてみると、
> 理解の助けになると思います。
>
> (1) 再利用不可能プログラム
> 「そのままでは(メモリ上で)再利用できない」プログラムです。
>
> プログラム中の変数が、タスクが実行された後にも変更されたまま保持される
> ので、(初期値を用いて)もう一度利用するには副記憶装置(ディスク)から
> 主記憶装置(メモリ)にリロード(再呼び出し)しなければなりません。
>
> これに対し、再使用可能(リユーザブル)プログラムは、タスクの実行後に
> 値が初期状態に戻るため、プログラムをリロードする必要がありません。
> ((2)と(3)は再使用可能プログラムです。)
>
> (2) 逐次再使用可能(シリアリユーザブル)プログラム
> タスクの終了後であれば、リロードすることなく使用することのできる
> プログラム。
> プログラム内の変数がタスク終了後にリセット(初期化)されます。
> (逐次=順番を待って、次が実行される)
>
> (3) 再入可能(リエントラント)プログラム
> ひとつのタスクが終了していなくても、別のタスクを実行できる
> プログラム。
> タスク別にそれぞれのデータ領域を持つことによって、複数タスクを
> 並行して実行できるようになります。
> (リ=再・エントランス=入り口)
>
> (4) 再帰的(リカーシブ)プログラム
> タスクが自分自身のプログラムを呼び出し、呼び出したタスクの
> 終了後には元に戻る(再帰)ことが出来るプログラムです。
> 呼び出し元のタスクのデータを、スタック(FILO)の中に保持することで
> 実現されます。
> (多段階に再帰すると、最初のデータはどんどん深いところに埋もれて
> いくイメージです。)
> <参考>
> http://mt-net.vis.ne.jp/ADFE_mail/0163.htm
>
> (5) 再配置可能(リロケータブル)プログラム
> メモリのどの位置にあっても(移動しても)実行可能なプログラム。
> データの位置を固定(直接指定)すると実現できないので、ベース
> アドレス指定方式や自己相対アドレス指定方式を使います。
> (リ=再・ロケーション=配置)
> ※ (1)〜(4)とは別の概念と考えた方が良いです。
どうもありがとうございました。正解は「イ」で良いでしょう。
再入可能プログラムとは、あるプロセスが実行しているプログラムを
他のプロセスが同時に実行できるようにしたプログラムなので、
データ領域を別に持つ必要がありますね。
僕が説明文を書く時は、試験に出てくるような言葉で
書くようにしているのですが、これらの用語は自分で整理しなおした方が
頭にも残るし、おすすめですね。
○もんさん
> ×ア 再帰的処理とは、関数の中で自分を再度呼び出すことです。
> 自分自身を呼び出すには、データ部分が各呼び出しごとに確保されて
> おり(FIRST IN)、呼び出しが終了した場合に元の状態が取り出せな
> ければなりません(LAST OUT)。
>
> 例をあげて説明します。
>
> n(n-1)…1を再帰的処理の関数で作成してみます。
>
> unsigned int sub(unsigned int n) {
> if (n == 0) return 1;
> else return n*sub(n-1);
> }
>
> この関数で使用されているデータは、入力変数です。
> これは、スタックに確保されています。
>
> sub(1) の場合の、スタックの状態を見てみましょう。
> ※スタックの状態は、簡略化して記述しています。
>
> 1.sub(1) の呼び出し時のスタックの状態(FIRST IN)
> sub関数の先頭 if (n==0) の先頭
> ┌────────────────┐
> │ sub(1)呼び出しの戻りアドレス │
> ├────────────────┤
> │ 入力パラメータ ( 1 ) │
> └────────────────┘
>
> 2.sub(0) の呼び出し時のスタックの状態
> else return 1*sub(0)の呼び出しで、再度sub関数の先頭へ
> sub(0)呼び出しの戻り先と入力パラメータが積まれています。
>
> ┌────────────────┐
> │ sub(0)呼び出しの戻りアドレス │(LAST IN FIRST OUT)
> ├────────────────┤
> │ 入力パラメータ ( 0 ) │
> ├────────────────┤
> │ sub(1)呼び出しの戻りアドレス │
> ├────────────────┤
> │ 入力パラメータ ( 1 ) │
> └────────────────┘
>
> 3.sub(0) の呼び出しが完了 (LAST OUT)
> ┌────────────────┐
> │ sub(1)呼び出しの戻りアドレス │
> ├────────────────┤
> │ 入力パラメータ ( 1 ) │
> └────────────────┘
>
> ○イ 再入可能とは、同時かつ非同期に呼び出されることが可能なことを
> 言います。
> 同時に実行可能にするには、可変部分であるデータが、呼び出しごと
> に独立して確保されている必要があります。
>
> 勿論、再帰的であれば、再入可能です。
>
> ×ウ 逐次再使用可能とは、主記憶にロードされたプログラムが、実行を終
> えた後も、ロードし直さずに、再度、実行可能であることを言います。
>
> 再使用可能であっても、再入可能とは言えません。
>
> 例をあげて説明します。
>
> int sub(int n) {
> static int a;
> a = n;
> return a;
> }
>
> 上記は、スタティック変数を使った例です。
> スタティック変数は、プログラムがロードされた時点で、領域が確保
> されます。
> このような場合、a の領域は一つしかないため、同時に関数が呼ばれ
> ると、正しい値を返せません。
>
> ×エ 複数のプロセスで同時に実行できるようにしたプログラムは、
> 再入可能プログラムのことです。
>
>
> 《ご参考》
> ■ IT用語辞典 e-Words
>
> 再帰呼び出し 【recursive call】
> http://e-words.jp/w/E5868DE5B8B0E591BCE381B3E587BAE38197.html
>
> 再入可能 【リエントラント】
> http://e-words.jp/w/E5868DE585A5E58FAFE883BD.html
>
>
> ■ フリー百科事典『ウィキペディア(Wikipedia)』
> プロセス
> http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9
より具体的な例を挙げていただき、どうもありがとうございました。
プログラムの特性といえば、数年前にヒットしたこの本がお薦めです。
第2版が出たのは、僕も知りませんでした。
僕は以前第1版を読んだのですが、うちを探したら見つからなかったので
復習用として、たった今注文しちゃいました(^^;
プログラムはなぜ動くのか 第2版
http://tinyurl.com/2fzbf6 (amazonへのリンク)
> 第2版では、第1版で特に関心の高かったプログラムがメモリーを
> どう利用しているかについて、より丁寧な説明を加えたほか、
> 多くの注釈を入れました。また、サンプル・プログラムを、第1版の
> Visual Basicからプログラムの動きが見えやすいC言語に統一し、
> 巻末にC言語の構文を説明した補章を追加しました。初級者、中級者の人、
> どちらにもお勧めです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(質問編)★ 回答期限:1月19日(土)の夜まで
----------------------------------------------------------------------
「この問題がわからないっ!!」という、
読者からの質問をみなさんに回答してもらおう!というコーナーです。
今回の質問はこちらです。(出典:H19. セキュリティ 問48)
----------------------------------------------------------------------
DMZ 上の公開 Web サーバで入カデータを受け付け、内部ネットワークの
DB サーバにそのデータを蓄積するシステムがある。DB サーバヘの
不正侵入を防ぐファイアウォールの有効な設定はどれか。
ア DB サーバの受信ポートを固定にし、Web サーバから DB サーバの
受信ポートヘ発信された通信だけをファイアウォールで通す。
イ Web サーバの発信ポートは任意のポート番号を使用し、
ファイアウォールでは、いったん終了した通信と同じ発信ポートを
使った通信を拒否する。
ウ Web サーバの発信ポートを固定し、その発信ポートの通信だけを
ファイアウォールで通す。
エ ファイアウォールで、DB サーバあての受信パケットだけ通す。
--[回答のめやす(横幅:全角34文字)]--------------------------------
> 1234567890123456789012345678901234
----------------------------------------------------------------------
セキュリティの問題ですが、ソフトウェア以上の高度系受験者の方には
ぜひ理解しておいて欲しい問題です。
これに対する回答(解説)を1月19日(土)の夜までにお願いします。
このコーナーで取り上げてほしい問題のリクエストも募集中です。
回答&お便りはこちらからでもOKです。
http://www.shunzei.com/about/mail.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります)
----------------------------------------------------------------------
> Webビーコン(web beacon) って?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> *********************** 投稿募集中のテーマ *********************** <
----------------------------------------------------------------------
●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答
●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト
●「その他、試験などに関するお便り(テーマフリー)」
ハンドル名を添えて、このメールマガジンに返信して頂ければ届きます。
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_は @ に)までお願いします。
----------------------------------------------------------------------
○メールマガジンの購読の登録・解除は個人の責任で行ってください。
しゅんぜいは一切代行しません!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!の答え▼
----------------------------------------------------------------------
(システム管理平成19年春問47エ)
(ソフトウェア平成19年春問73エ)
(基本情報平成19年春問67エ)の選択肢より
> 利用者のアクセス動向などの情報を収集するために Web ページなどに
> 埋め込まれた画像
Webビーコン(web beacon)とは、ウェブページやメールで使われる
HTMLを利用して、利用者の情報を収集するための仕組みのことを言います。
ウェブページで利用した場合は、利用者のアクセス動向などの情報を
収集することが可能になります。また、HTMLメールで利用した場合は、
送信先でメールが閲覧されたかどうか確認することができます。
(開封確認とは違います)
Webビーコンを用いると、ユーザの気づかないところで情報収集が
可能となります。
よくあるのが、次のようなHTMLのimgタグを用いた方式です。
<img src="abc.cgi">
例えば、ウェブページにこのようなタグを埋め込んでおくと、
ユーザがそのウェブページを見たときに、このタグが読み込まれ、
「abc.cgi」のCGIスクリプトが実行されます。
このCGIスクリプトに、ブラウザのリファラ(referer)を取得する
スクリプトが書かれていれば、ユーザがどこのサイトから訪問したのかが
取得することが可能になります。
なお、試験に出たのは今回が初めてですが、Webビーコン自体は、
かなり昔から使われています。
自分のホームページを作ったことがある人はわかるかもしれませんが、
ウェブサイトにどれくらいのユーザがアクセスしているのかを調べるための
「カウンタ」はよくこの仕組みで実現されています。
ちなみに、beacon は「灯台」や「照らす」という意味です。
=-=[あとがき]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
今日は3連休最終日ですね。
こないだ、とあるメールを書いている時に1つ疑問にぶつかりました。
メールの内容は
「サーバとストレージをファイバチャネルで接続するために
FCカードが必要なので…」というような内容を書いていたのですが、
「FC」って書いても相手には伝わらないだろうなーって思い、
それなら、フルスペルで書いておくかって思いました。
# FCカード:ファイバチャネルカード
ところが、「ファイバ」のスペルに自信が無かったので、
ネットで調べていたのですが、検索すると「fiber」と「fibre」の
2つが出てくるんですよね。
なんとなく前者が正しいように見えたのですが、検索ヒット数も
ほぼ同じぐらいだったので、あちこち調べていると次のサイトに
ぶつかりました。
ファイバチャネルFAQ(よく出る質問)
http://www.jdsf.gr.jp/fciaj/answer1.html
> ・ファイバチャネルの英綴は、「fiber」ではなく「fibre」と綴ります。
> 何か意味があるのですか?
>
> 開発当初、ファイバチャネルは、光ファイバケーブルのみをサポート
> しました。数年前にファイバチャネルの追加機能として、カッパーケーブル
> のサポートが追加され、ISO(International Standards Organization)
> タスクフォースは、この技術の名称を変更することを決定したのです。
> 委員会は、培われた「Fiber Channel」技術の名称を生かしかつ、
> かつ光ファイバのイメージばかりが前面にでないようにする為に、
> これまでの「Fiber」を、仏語の綴りを使用して「Fibre」と改めました。
というわけで、Fibre が正しいようです。
みなさん、知ってました?
----------------------------------------------------------------------
◆のんびりやろう!情報処理試験!はこちらから http://www.shunzei.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
このメルマガを読んでいる人はこんなメルマガも読んでいます
- キッチンカブーのメールマガジン
- 株式情報サイトとして人気の『キッチンカブー』。さらにメルマガだけの特集を集めて毎日無料配信いたします。
- ポピュラー・サイエンス・ノード
- 科学が好きな普通の人々に送る無料メールマガジンです。「科学ファン」の視点で面白いもの、科学に関する情報、URL紹介や書評、エッセイなどをお送りします...
- ビジネスマン必読!1日3分で身につけるMBA講座
- 【受講者数1万5千人以上!】 MBAホルダーがビジネスに必須のビジネス理論をわかりやすく解説。経営戦略、マーケティング、ファイナンス、人事・組織戦...
- 天才児.NET:科学・雑学 なぜ?なに?どうして?
- 読者数2万人突破!空はなぜ青い? どうして地震は起る?・・・。子供にわかりやすく説明するのは、意外と難しいですよね。(その前に原理がわからない事も多...
- 先人の知恵に学ぼう!驚くほど役に立つ「名言集」
- 歴史の試練に耐え民衆の支持を受け続ける先達の言葉に耳を傾けてみよう。金言や格言とは凝縮された言葉の中に隠された真理を通して、私たちに気付きや勇気を与...
![メルマガスタンド[メルマ!]](/img/common/backnumber_article/melma_logo.gif)


