メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.551) 第11回テスト 回答  2005/04/13


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第551回 第11回テスト 回答
 発行    2005年4月13日(水曜日)
 発行数   約2600

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンは、主にまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・横60文字で作成し、インデントは大抵半角スペース4つです。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、メルマガのホームページでお願いします。
・過去ログはバックナンバー(下欄参照)を活用して下さい。
・内容は私が感じたもので、最新の技術も、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。
・セキュリティ突破のため、暗号化された単語があります。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 このメルマガでは、50の倍数の回にテストとしょうして、
ちょっとした問題を出題しています。

 今回は、第11回目のテストの回答を示します。

{magclick}
/*========================================================*/
 今回のお題  << 第11回テスト 回答 >>
/*========================================================*/

/*========================================================*/
第1問 第549回からの出題です。
    次の計算によって求められるcの値は何になりますか?
    可能性のあるものを2つ選択してください。

USHORT a = 30000;
USHORT b = 40000;
ULONG c = ( ULONG )( a + b );

1.70000
2.0x70000
3.4464
4.0x4464

ヒント、かも
http://www.mailux.com/mm_bno_dsp.php?mm_id=MM3E1AEE285AB4F&bno=20050406050006



 答えは、1番は当然として、場合によっては3番が考えられ
ます。

 USHORT同士の足し算なので、オーバーフローが発生するのです。

 USHORT同士の足し算を16ビットで行うのか32ビットで行う
のかは、コンパイラの気分しだいです。

 つまり、ソースコードがあいまいであるため発生する問題です。

 もしもオーバーフローを期待しない場合は、

ULONG c = ( ULONG )a + b;

 もしもオーバーフローをあえて期待する場合は、

ULONG c = ( ULONG )( USHORT )( a + b );

 とします。



/*========================================================*/
第2問 第506回からの出題です。
    CEditコントロールにおいて、現在カーソルのある行の
    行番号を取得している処理を1つ選択してください。

CEdit* pEdit = ( CEdit* )GetDlgItem( IDC_EDITBOX );

1.int line_no = pEdit->GetLine();
2.int line_no = pEdit->GetLine() + 1;
3.int line_no = pEdit->LineFromChar();
4.int line_no = pEdit->LineFromChar() + 1;

ヒント、かも
http://www.mailux.com/mm_bno_dsp.php?mm_id=MM3E1AEE285AB4F&bno=20041004050010



 4番です。
 行番号なので、+1が必要です。

 CEdit::LineFromChar は、文字インデックスを行インデックスに
変換します。
 引き数を省略した場合は、カーソルの位置が利用されます。

 行インデックスは0から始まるので、+1すると1から始まる
行番号になります。



/*========================================================*/
第3問 あゆしゃの世界のサンプルから出題です。
    MSVC++7.0において、Jpegフォーマットファイルをロード
    する処理を1つ選択してください。

CString filename = "test.jpg";
CImage img;

1.img.Load( filename );
2.img.Read( filename );
3.img.LoadImageJpeg( filename );
4.img.Save( filename );

ヒント、かも
http://ayusya.hp.infoseek.co.jp/ProgramCTip.html



 1番が正解です。

 他の選択肢は嘘っぱちです。

 得に4番、保存してどうするのですか?



/*========================================================*/
第4問 ベクターから出題です。
    あゆしゃが提供するソフトの中で最もダウンロード数が
    多いソフトはデスクトップショットですが、2番目は?

1.LC 大型計算機
2.LCE 大型計算機 廉価版
3.Measure
4.ミニクロック

ヒント、かも
http://www.mailux.com/mm_bno_dsp.php?mm_id=MM3E1AEE285AB4F&bno=20050114050006



 答えは3番です。

 3月28日現在における最新のダウンロード状況は、以下のように
なっています。

デスクトップショット 31+2201

Measure 422

LC 大型計算機 25+17+111+109

LCE 大型計算機 廉価版 182

ミニクロック 71+127

 結果が足し算になっているのは、更新するたびにカウントが
リセットされるためです。(MeasureとLCEは更新なし)

 大型計算機のシリーズ合計262に大きく差をつけ、Measureが
2番目に多いのです。



/*========================================================*/
第5問 あゆしゃの戯言から出題です。
    血液型によって性格が変わる原因は何ですか?

1.脳の発育過程が異なるから
2.ホルモンの運搬速度が異なるから
3.ヘモグロビンの運搬する酸素の種類が異なるから
4.N型半導体とP型半導体の境界に光が当たるから

ヒント、かも
http://www.mailux.com/mm_bno_dsp.php?mm_id=MM3E1AEE285AB4F&bno=20050202050010



 2番です。まぁ持論ですが。

 4番は太陽電池の仕組みのことです。(参考:目が点)



/*========================================================*/
第6問 第545回からの出題です。
    最終的に特許を許可する機関はどこですか?

1.東京特許許可局
2.地方の特許許可局
3.特許庁
4.最高裁判所

ヒント、かも(誤植あり)
http://www.mailux.com/mm_bno_dsp.php?mm_id=MM3E1AEE285AB4F&bno=20050307050004



 3番です。
 第545回において、この答えを「最高裁判所」と書きましたが
間違いでした。

 正解は特許庁の審査員です。

 誰かが取得した特許に対して、それが違法だと訴える場合、それ
を(いきなり)高等裁判所に起訴(?)できます。

 最終的にはそれを最高裁判所に特別上告(?)できる、という
ことです。

 裁判用語は怪しいですが。。。(汗)



{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 今後の予定表です。

第552回 CImageサンプルの説明(していなかった?)
第553回 ヒステリシス1 ヒステリシスとは座標変換
第554回 ヒステリシス2 ヒステリシスとは状態遷移
第555回 ヒステリシス3 本当の意味でのヒステリシス
第556回 ヒステリシス4 テンプレートで作成しよう
第557回 ヒステリシス5 クラスにまとめよう
第558回 テンプレート木構造1 TreeMasterをテンプレートに
第559回 テンプレート木構造2 クラス設計
第560回 テンプレート木構造3 追加、検索
第561回 テンプレート木構造4 ソート、left検索
第562回 テンプレート木構造5 マクロ定義
第563回 ガベージコレクタ1 テンプレートの隠蔽
第564回 ガベージコレクタ2 ユーザ設計
第565回 ガベージコレクタ3 クラス設計
第566回 ガベージコレクタ4 登録、削除処理
第567回 ガベージコレクタ5 Attach、Detachの処理
第568回 キャラエディッタ1 ソフトの説明

 あくまでも予定です。

 アイデアはいろいろあるのですが、時間が足りません。

 なぜかというと、G一年戦争で指が痛いからです。

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は4月15日(金曜日)に、第552回をお送りします。
 お題は「CImageサンプル」

 チップ集で紹介している、Jpegファイルを読み書きするソフト
について、その内部を説明します。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されていますか?
 このメールマガジンの内容に文面の引用はありませんか?
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
テストが終わってすぐゲーム なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

ホームページ::あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

まぐまぐ::アイディー
0000020674

まぐまぐ::登録と解除
http://www.mag2.com/m/0000020674.htm

まぐまぐ::バックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

めーらっくす::アイディー
MM3E1AEE285AB4F

めーらっくす::登録と解除
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F 

めーらっくす::バックナンバー★最近のものならこちらが便利★
http://www.mailux.com/mm_bno_list.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。