J Question vol.1880
▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓
┃┃ のんびりやろう!情報処理試験! 〜1問1問コツコツと〜 ┃┃
┃┃ 2008.9.5 vol.1880 19,609 部発行 http://www.shunzei.com/ ┃┃
┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼
--PR------------------------------------------------------------------
全国のバイト・パート情報満載!好きな街・沿線から探すなら【anエリア】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【高校生】高校生OK&部活の後でもできるバイト有り★
【大学生】便利な駅でのアルバイト!おしゃれ・面白いバイト満載!
【主婦】物価高に打ち勝て!週1-2でもOKパート★
【アルバイター】シフト自由・髪形服装自由!便利なバイト満載♪
このほかにもおいしいバイト・パート情報たくさん!!!急いで=3=3=3
http://px.a8.net/svt/ejp?a8mat=1BR40L+CL2W4Y+1D74+HW2QB
----------------------------------------------------------------------
◇◆ C言語対策の決定版!アルゴリズム力を身に付けるための1冊! ◆◇
◆◇ 【基本情報技術者試験 C言語の切り札】 ◇◆
◇◆ http://www.shunzei.com/book/kirifuda_c.html ◆◇
◆◇◆ ◆◇◆
◇◆◇ C言語対策の定番として継続的に売れています(^^) ◇◆◇
------------------------------------------------------------------PR--
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今日の問題■☆☆(等幅フォントで見てね!)
----------------------------------------------------------------------
次のメインプログラムを実行した結果はどれか。
ここで、static は静的割当てを、auto は動的割当てを表す。
メインプログラム
┌──────────┐
│ auto int x, y; │
│ x = f1(2) + f1(2); │
│ y = f2(2) + f2(2); │
└──────────┘
関数 f1(u) 関数 f2(u)
┌──────────┐ ┌──────────┐
│ auto int u; │ │ auto int u; │
│ auto int v = 1; │ │ static int v = 1; │
│ v = v + u; │ │ v = v + u; │
│ return v; │ │ return v; │
└──────────┘ └──────────┘
ア x = 6, y = 6
イ x = 6, y = 8
ウ x = 8, y = 6
エ x = 8, y = 8
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H16. ソフトウェア 問44)
----------------------------------------------------------------------
イ x = 6, y = 8
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
オペレーションシステム(OS) に関する問題の特集を続けています。
今日は、静的割当てと動的割当てに関する問題でした。
先日の問題とよく似ていますね(^^;;
この年のソフトウェアでは、立て続けに2問出題されました。
静的変数(static)は、プログラムの実行開始時にメモリ上に記憶領域が
確保され、プログラム終了まで保持されます。
また、動的変数(auto)は、プログラムの実行中に記憶領域が確保されます。
つまり、関数が呼び出されるたびに記憶領域が割り当てられ、
初期化されます。
これを踏まえつつ、プログラムを見ていきましょう。
> メインプログラム
> ┌──────────┐
> │ auto int x, y; │
> │ x = f1(2) + f1(2); │
> │ y = f2(2) + f2(2); │
> └──────────┘
>
> 関数 f1(u) 関数 f2(u)
> ┌──────────┐ ┌──────────┐
> │ auto int u; │ │ auto int u; │
> │ auto int v = 1; │ │ static int v = 1; │
> │ v = v + u; │ │ v = v + u; │
> │ return v; │ │ return v; │
> └──────────┘ └──────────┘
まず、メインプログラムを見ると、1行目でint型の変数 x, y が
動的変数として確保され、2行目と3行目でそれぞれ関数f1, f2が二回ずつ
呼び出されています。
> x = f1(2) + f1(2);
関数 f1 を見ると、int型の変数 u と v がいずれも動的変数(auto)で
宣言されています。つまり、プログラムが呼び出されるたびに
メモリ領域が確保され、値の初期化が行われます。
よって、u は引数ですので u=2 となり、v は 1 で初期化され
v=1 となるので、
v = v + u = 1 + 2 = 3
となり、x = 3 + 3 = 6 となります。
> y = f2(2) + f2(2);
関数 f2 を見ると、int型の変数 u は動的変数(auto)、int型の変数 v は
静的変数(static)で宣言されています。
つまり、u についてはプログラムが呼び出されるたびにメモリ領域が
確保されますが、v は最初の実行時に呼び出された後は終了まで
メモリ領域が確保されたままになります。
よって、1回目の f2 の実行では
v = v + u = 1 + 2 = 3
となりますが、2 回目の実行時には変数 v は初期化されずに
3 が入ったままとなり、
v = v + u = 3 + 2 = 5
となります。
つまり、y = 3 + 5 = 8 となります。
したがって、x = 6, y = 8 となり、正解は「イ」となります。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★これ、おしえてっ!(質問編)★ 回答期限:9月8日(月)の夜まで
----------------------------------------------------------------------
「この問題がわからないっ!!」という、
読者からの質問をみなさんに回答してもらおう!というコーナーです。
今回の質問はこちらです。(出典:H19. エンベデッド 問15)
----------------------------------------------------------------------
図の回路において出力が x=0,y=1 である状態から,
x=1,y=0 に変える入力 a 及び b の組合せはどれか。
┬─\
ここで, ) )○─ は否定論理和を表す。
┴─/
a ○──┬─\
) )○ ┬───○ x
┌─┴─/ |
\ |
\ /
\ /
\/
/\
/ \
/ \
/ |
└─┬─\ |
) )○ ┴───○ y
b ○──┴─/
ア a=0, b=0
イ a=0,b=1
ウ a=1,b=0
エ a=1, b=1
注)問題はこちらからの転載です。
http://www.mirai.ne.jp/~suehiro/homework/hwbackup/200705/hw20070517z.txt
--[回答のめやす(横幅:全角34文字)]--------------------------------
> 1234567890123456789012345678901234
----------------------------------------------------------------------
エンベデッドの問題のリクエストです。
今回も回答が来ないかもしれませんが、リクエストがあったので
取り上げてみます。
これに対する回答(解説)を9月8日(月)の夜までにお願いします。
このコーナーで取り上げてほしい問題のリクエストも募集中です。
回答&お便りはこちらからでもOKです。
http://www.shunzei.com/about/mail.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります)
----------------------------------------------------------------------
> ロールバック(roll back) って?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> *********************** 投稿募集中のテーマ *********************** <
----------------------------------------------------------------------
●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答
●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト
●「その他、試験などに関するお便り(テーマフリー)」
ハンドル名を添えて、このメールマガジンに返信して頂ければ届きます。
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年秋問68)の問題文より
> データベースを更新するトランザクションが異常終了したとき、
> DBMSが行うべき処理
(セキュアド平成17年問12エ)
(初級シスアド平成15年秋問43エ)
(初級シスアド平成14年春問41エ)の選択肢より
> 更新前ジャーナルを用いて、トランザクション開始直前の状態にまで
> データを復旧させる。
(基本情報平成17年春問47ウ)の選択肢より
> ロールバックとは、OLTPなどの実行中に障害が発生したとき、
> トランザクション開始直前の状態にデータベースを復旧する処理をいう。
(2種平成12年秋問49)の問題文より
> データベース操作において障害が発生した際に、データベースの状態を
> トランザクション開始前の状態に戻す障害回復処理
ロールバック(roll back) とは、データベースに論理的な障害
(プログラムの強制終了など)が発生した場合のリカバリ(修復)方法です。
後退復帰ともいいます。
一時的に保持された更新データを破棄し、データベースを
トランザクション開始前の状態に戻す(なかったことにする)ことを
いいます。
簡単に言うと、真っ白にしてしまうことです(^^;;
「論理的障害」には「ロールバック」と覚えておきましょう。
=-=[あとがき]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
夏フェスラッシュが過ぎ去りましたが、今度は結婚式ラッシュです。
早速、明日は友達の結婚式があるのですが、
僕は楽器がちょろっとできることもあって、明日も余興を頼まれてます。
(明日「も」と言うのは、よくやらされてるので)
有名な曲をカバーするのですが、さっきから全然覚えられません(^^;;
いやぁー、ちゃんと覚えられるかな。。。
祝われる側にとっては一生に一度の機会なのに、我ながらひどいなぁ。。
----------------------------------------------------------------------
◆のんびりやろう!情報処理試験!はこちらから 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)