検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1993年4月号

月刊 C MAGAZINE 1993年4月号から 161件ヒットしました。

月刊 C MAGAZINE 1993年4月号


月 刊 情 報 処 理 試 験 の ノ ウ ハ ウ を 結 集 ! 情 報 処 理 受 験 参 考 書 ・ こ れ だ け は 知 っ て お き た い 情 報 処 理 の 基 礎 知 識 定 価 1 , 650 円 ・ 初 め て 受 験 す る 人 の た め の 情 報 処 理 入 門 1 / 2 / 3 1 ・ 定 価 1 , 240 円 3 / 定 価 1 , 400 円 ・ 情 報 処 理 技 術 者 試 験 受 験 用 語 ハ ン ド ブ ッ ク 定 価 1 , 860 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 ソ フ ト ウ ェ ア 徹 底 マ ス タ ー 定 価 2 , 500 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 ハ ー ド ウ ェ ア 徹 底 マ ス タ ー 定 価 2 , 580 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 CO L 徹 底 マ ス タ ー 改 訂 版 定 価 2 , 900 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 FORT N 徹 底 マ ス タ ー 定 価 2 , 890 円 ・ 一 石 ニ 鳥 の プ ロ グ ラ ミ ン グ 学 習 書 ! 流 れ 図 で 学 ぶ プ ロ グ ラ ミ ン グ ス 門 定 価 2 , 200 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 午 前 問 題 オ リ ジ ナ ル 演 習 18 定 価 2 , 300 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 午 後 問 題 オ リ ジ ナ ル 演 習 定 価 2 , 400 円 ・ 第 2 種 情 報 処 理 技 術 者 試 験 実 戦 模 擬 テ ス ト 定 価 2 , 200 円 ・ ア セ ン ブ ラ CASL を マ ス タ ー ! 短 期 合 格 ! ア セ ン プ ラ C 定 価 1 , 900 円 ・ 1993 年 度 第 1 種 情 報 処 理 試 験 総 整 理 と 徹 底 対 策 定 価 2 , 000 円 ・ 1993 年 度 版 第 1 種 情 報 処 理 技 術 者 試 験 問 題 集 定 価 2 , 400 円 ・ プ ロ グ ラ ム 設 計 が わ か る ! 短 期 合 格 ! プ ロ グ ラ ム t 定 価 2 , 200 円 ・ 第 1 種 情 報 処 理 技 術 者 試 験 プ ロ グ ラ ム 設 計 徹 底 マ ス タ ー 定 価 2 , 900 円 ・ お 近 く の 書 店 で お 求 め く だ さ い ・ 定 価 は 税 込 で す ソ フ ト バ ン ク 出 版 事 業 部 150 C MAGAZINE 1993 4 モ ニ タ 募 集 BORLAND C 十 十 Ver. 3 ℃ e e s , R ① ① 綴 じ 込 み 葉 書 で ご 応 募 く だ さ い QUATTRO PRO fo 「 提 供 : ボ ー ラ ン ド ( 株 ) TEL 03 ( 5350 ) 9370 BORL Å ND 0 、 FORWJNDQWS TEL 03 ( 5350 ) 9370 提 供 : ホ ー ラ ン ド ( 株 ) バ ッ ケ ー ジ ク ッ シ ョ ン Turbo C 十 十 C & C 十 十 コ ン パ イ ラ DOS 環 境 ・ Windows 環 境 の 両 方 に 対 応 し た プ ロ 1 名 3 名 様 の Windows 提 供 : ホ ー ラ ン ド ( 株 ) TEL 03 ( 5350 ) 9370 ( 希 望 メ デ ィ ア を 明 記 し て く だ さ い ) 1 名 『 COMPUTER LANGUAGEJ 提 供 : C マ ガ ジ ン 編 集 部 ! ゝ ー リ 島 弖 - の ナ D EC. PHARAOH 日 1 、 第 0 料 PER 効 と さ せ て い た だ き ま す 。 2 名 Turbo C 十 十 の パ ッ ケ ー ジ と 同 じ デ ザ イ ン の ク ッ シ ョ ン ◇ 綴 じ 込 み の 葉 書 に 必 要 事 項 ( ア ン ケ ー ト の ・ 応 募 の 注 意 る 場 合 , 綴 じ 込 み 葉 書 以 外 で の こ 応 募 は 無 ◇ 記 入 も れ や モ ニ タ 番 号 が 複 数 記 入 さ れ て い 番 号 ) を 明 記 の う え こ 応 募 く だ さ い 。 回 答 , 住 所 , 氏 名 , 電 話 番 号 , 希 望 モ ニ タ ① 巻 頭 イ ン タ ビ ュ ー ② Programming on Purpose 綴 じ 込 み 葉 書 裏 面 の き 記 事 評 価 ア ン ケ ー ト に は 右 記 の 数 字 を こ 記 入 く い 。 ③ 提 携 記 事 「 AWK は 一 味 違 っ た 言 語 だ 」 ④ 提 携 記 事 「 論 理 を 自 然 に 記 述 で き る PROLOG 」 ⑤ 提 携 記 事 「 C プ ロ グ ラ ミ ン グ の 中 で ex と yacc の 使 い 方 」 ⑩ X68k 活 用 講 座 ⑥ フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト ⑦ BOOk Review ⑧ 特 集 「 ゼ ロ か ら 学 ぶ C 言 語 入 門 」 ⑨ djgcc 詳 解 講 座 Hello GCC WorId ⑩ 実 践 ア ル ゴ リ ズ ム 戦 略 解 法 の テ ク ニ ッ ク ① 丹 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ ⑩ 新 MS ー DOS プ ロ グ ラ ミ ン グ 入 門 @Try The C 十 十 ◇ モ ニ タ に 選 ば れ た 方 に は , 後 日 ア ン ケ ー ト な ど の 形 式 で 編 集 に こ 協 力 い た だ き ま す 。 こ 了 承 く だ さ い 。 ◇ 締 め 切 り は 4 月 18 日 必 着 で す 。 @Readers' Room @lnformation from Compiler Makers @C マ ガ 電 脳 ク ラ ブ ⑩ フ ィ ン ロ ー ダ の あ つ ば れ ご 意 見 番 @News Square @Conference Room $ANSI C ー more $Dr. 望 洋 の プ ロ グ ラ ミ ン グ 道 場 ⑩ 三 田 典 玄 の ラ ン ダ ム ア ク セ ス ⑩ C 言 語 フ ォ ー ラ ム

月刊 C MAGAZINE 1993年4月号


EDITORSV >5 月 号 ( 4 月 18 日 発 売 ) 000M な お , 予 告 内 容 を 変 更 す る こ と が あ り ま す 。 次 号 予 告 好 評 連 載 C プ ロ グ ラ ミ ン グ 設 計 技 法 Part I プ ロ グ ラ ミ ン グ 設 計 基 礎 学 Partn プ ロ グ ラ ミ ン グ 設 計 の 実 際 巻 頭 イ ン タ ビ ュ ー Thomas Atwood Object Design 社 創 立 者 ・ C 言 語 雑 学 講 座 ・ 新 MS ー DOS プ ロ グ ラ ミ ン グ 入 門 ・ 実 践 ア ル ゴ リ ズ ム 戦 略 ・ C 十 十 入 門 講 座 ・ T Ⅳ The C 十 十 特 別 付 録 5 ″ 2HD ・ グ ラ フ ィ ッ ク エ テ イ タ 「 SG E 」 ・ あ く し よ ん ノ ヾ ズ ル ケ ー ム 「 す こ つ ぶ 君 」 ・ す こ つ ぶ 君 専 用 面 テ ー タ 工 テ イ タ 「 す こ っ ぺ 」 ・ 本 誌 掲 載 ソ ー ス プ ロ グ ラ ム COMPUTER LANGUAGE 提 携 記 事 lssues 0f Programming ー Debatable Data 編 集 後 記 ◇ バ ブ ル 崩 壊 が 個 人 消 費 に 影 響 を 与 え た と 言 わ れ て 久 し い が , ど う や ら 編 集 ス タ ッ フ に バ ブ ル 崩 壊 は 無 縁 ら し い 。 一 応 , 表 面 的 に は 金 欠 病 を 装 っ て い る が , 毎 週 の ご と く ス キ ー 場 へ 通 っ た り , Mac を 衝 動 買 い し た り , 挙 句 は , 車 検 が 切 れ る と い っ て 新 車 購 入 に 動 き 回 っ た り い っ た い 金 欠 病 は ど こ へ い っ た の や ら 。 あ い か わ ら ず バ ブ っ て い る 。 ( ホ ) ◇ Centris シ リ ー ズ の 発 表 に と も な い Ⅱ シ リ ー ズ は 旧 ミ ッ ド レ ン ジ マ シ ン と 位 置 付 け ら れ る よ う に な り , う ち の llci は 完 全 に 過 去 の マ シ ン と な っ た 。 し か し , う ち の Ⅱ ci の 要 求 は , 歯 止 め が か か ら す , 「 HD が 欲 し い , M O が 欲 し い , カ ラ ー プ リ ン タ も 欲 し い , そ れ に 見 合 う ソ フ ト も 欲 し い , て 、 き れ ば メ モ リ も ・ ・ ・ ・ ・ 」 と お 金 の な い 私 ( 洋 ) を 悩 ま せ て い る 。 ◇ い よ い よ NEC も 低 価 格 マ シ ン を 出 し , 価 格 競 争 が 本 格 化 し た 。 い ま や , 486SX マ シ ン て 、 あ れ ば 30 万 円 て 、 ハ ー ド 環 境 が 整 う 。 そ う い え ば , Dynabook の 衝 撃 的 デ ビ ュ ー ド だ け て 、 な く , ソ フ ト の 低 価 格 化 を 期 侍 さ せ た が ・ ・ ・ ・ ・ ・ 今 回 の ハ ー ド の 価 格 競 争 が ソ フ ト に も 広 が る こ と を 期 待 し て い る 。 そ う す れ ば , パ ソ コ ン 市 場 も も っ と 活 気 づ く 。 (TEN) ◇ 十 年 程 前 に 買 っ た 自 転 車 に ま だ 乗 っ て い る が , 最 近 , 走 行 時 の 安 定 性 が 悪 く な っ た 。 休 日 に し か 乗 ら な く な っ て へ タ に な っ た と 勝 手 に 納 得 し て い た が , 自 転 車 屋 て 、 「 か な り フ レ ー ム が 曲 っ て い ま す ね 。 危 険 だ か ら あ ま り ス ヒ 。 ー ド を 出 さ な い よ う に 」 と 言 わ れ た 。 そ の 日 , 自 転 車 て 、 秋 葉 原 ま て 、 行 っ て き た ば か り ・ ・ 。 か な り ス ヒ 。 ー ド 出 し て た な あ 。 (Yas) 発 行 所 ソ フ ト バ ン ク 株 式 会 社 編 集 人 稲 葉 俊 夫 発 行 人 橋 本 五 郎 ◇ 友 人 達 と 車 て 、 行 っ た ス キ ー か ら の 帰 り , 下 り 坂 を ス ヒ 。 ー ド を 出 し て 走 っ て い た 。 カ ー プ へ 突 入 す る と 道 が 凍 っ て い る ! 車 は 反 対 車 線 へ 飛 び 出 し た 。 必 死 の ハ ン ド ル 操 作 て 、 , 壁 に 激 突 す る 寸 前 て 、 立 ち 直 っ た 。 眠 て い た 同 乗 者 は 車 の 揺 れ に び っ く り し て い た が , 何 が 起 き た の か わ か ら な い よ う だ 教 訓 。 ス ピ ー ド の 出 し オ ぎ に は 気 を つ け よ う 。 (JUN) プ ロ グ ラ ム ・ バ グ の お 問 い 合 わ せ 03 ( 5488 ) 1325 ・ 掲 載 記 事 , プ ロ グ ラ ム に つ い て の ご 質 問 は , 月 曜 日 か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 、 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ さ い 。 152 C MAGAZINE 1993 4 月 刊 MAGAZINE 4 月 号 平 成 5 年 4 月 一 日 発 行 出 版 事 業 部 〒 田 8 東 京 都 港 区 高 輪 2 一 円 一 口 NS 高 輪 ビ ル 編 集 部 ・ TEL03 ( 5488 月 田 8 / 出 版 営 業 部 ・ TEL03 ( 5488 ) ロ 60 / 広 告 営 業 部 ・ TEL03 ( 5488 ) ロ 65 編 集 長 星 野 慎 ー 副 編 集 長 宮 田 洋 一 流 王 天 編 集 渡 辺 淳 一 高 森 昭 安 広 告 丹 羽 弘 祐 斎 藤 誠 一 郎 校 正 ( 有 ) ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 0 円 93 雑 誌 325 ー 4 安 枝 奈 穂 子 赤 井 晴 美 機 部 進 若 江 啓 子 株 式 会 社 風 芽

月刊 C MAGAZINE 1993年4月号


PC ・ 9801 DOS/V Macintosh 」 ・ 3100 FM ・ TOWNS X 000 UNIX ( MIDI ( 吋 ) AI MS-Windows GUI 武 ff—L ・ 、 ↓ ヾ MAGAZINE M. AGAZINE 4 1 . 凵 ー 、 2. 鱗 ・ 卦 ・ 3. 4. 燿 10. 11 . 斗 ー メ 12. 》 13. 匯 14. 15. 洋 ・ ま 新 16. 小 Ø 言 1 . 》 耋 酥 2. 斗 ー メ ・ コ 3. 嚀 蟶 鑄 4. 鑄 5. 洋 6. 7. 新 鑄 8. 斗 ー メ 鑄 9. 洋 当 10. 11 . Ø 言 ・ 望 b ワ ÜA ・ B ・ CØ Ø 行 〇 四 一 斗 ペ ^ ワ 。 (A.±B ロ 、 誕 . B. 新 涬 . C. A ) F04 A B C : ・ 土 ー 邸 F 1 1 7 A B C F03 A B C ・ : ・ メ ・ 74 ン 129 A B C 001 A B C : ・ N E C 1 31 A B C 002 A B C : 7 4 ・ ・ ー 154 A B C 007 A B C : 、 ま メ ト 155 A B C 008 A B C : 、 ま メ ト 156 A B C 081 A B C : = 凵 ー 157 A B C 099 A B C : ・ H 凵 。 い ー ! メ ト 一 58 A B C MAGAZINE

月刊 C MAGAZINE 1993年4月号


~ 知 り た い 時 が 欲 し い 時 情 ・ 報 ・ を ・ お ・ ・ が ・ し . ま ・ す こ ち ら の ハ ガ キ 蕉 お 申 し 込 さ い 。 広 告 資 料 請 求 カ ー ド 記 入 例 0 い い ハ E 広 告 資 料 講 求 カ ー ド MAGAZINE 広 告 資 料 請 求 シ ス テ ム 郵 使 は が き ー 0 8-0 0 コ ン ヒ ュ ー タ 関 2. 農 林 業 ・ 業 ・ 鉱 襄 3. 建 設 4. 製 造 業 5. 商 社 ・ 卸 売 り 6. 小 売 襄 7. 融 業 物 . 諸 券 ・ 保 強 業 ! イ 、 勦 ま 高 局 爪 認 10 ・ 輸 業 . サ ー ビ ス 業 に . 公 務 ロ . 教 育 関 係 ロ . 療 関 係 ソ 2 東 . 放 送 ・ 出 版 川 . そ の 他 1804 ( 職 種 ) I. 企 襄 経 営 2. 商 1. サ ー ビ ス ・ 自 営 3. 管 理 職 の 専 門 職 5. 技 術 職 広 出 ト . 6. 事 務 職 7. 版 売 物 8. サ ー ビ ス 職 9. 教 師 川 . 学 生 . そ の 他 差 出 有 効 期 間 1 3 港 告 版 く 、 ( 主 に 使 用 す る コ ン ビ ュ - タ ) 円 9 ~ 年 8 月 引 日 ま で 営 事 ク s 高 盟 覆 名 -9 ル / 高 輪 業 業 株 部 部 ・ 服 求 し た い 番 号 を 選 び A ・ 日 ・ c の 希 望 の 項 目 に 0 印 を 付 け て 下 さ い 。 行 ( い . カ タ ロ グ 送 付 希 望 . B. 直 説 明 を 聞 き た い . c. 購 人 希 望 ) ・ ポ ー ラ ン ド ジ ャ パ ン 0 8 C 185 ・ ・ ・ 防 シ ス テ ム リ ン ク A 8 C F03 工 ル エ ス ア イ ジ ャ ′ 、 ン 0 B C 186 ド A 8 0 ラ ン 第 、 -- 81 ・ ・ ナ ッ ク ゾ フ ト & サ ー ビ ス A 8 C ー 87 ・ ・ 富 l: ゾ フ ト ウ ェ ア A 8 C ・ C.SD A 8 C 301 ・ ・ " 電 気 書 A 。 B C 83 ・ ・ ビ ッ ト ラ ン A 0. C 302 ・ ・ マ グ ロ ウ ヒ ル 出 版 A ー 8 0 84 ・ ・ 富 。 ′ ク 叫 ン ム A(B'C 303 " ・ 五 代 学 社 A 8 C ・ 富 l: ゾ フ ト ウ ェ ア ー 0 田 C 304 ・ ト ッ ′ 、 ン A B C 175 ・ ・ テ ィ ッ ? ス 0 旦 . を 305 A 8 C ー 77 ア ー セ ル A ー 8 C ・ ビ し ッ ジ セ ン グ ー A 8 C 179 ・ 嘉 マ イ ク 。 コ ン ヒ ュ ー ク A 0 195 ・ ・ 日 ナ レ ッ ジ ・ ツ ス ・ ・ ツ ー ル ク ラ フ ト A'B 0 196 ・ ・ ア フ リ っ ? ス A B C ・ は 1 ・ エ - % は ン ・ ゞ 1 冫 , A 8 0 7 ー A B C 182 日 第 冫 チ ム A B C 85 ・ オ ヤ ッ カ 商 事 A B C 183 ・ ・ ・ 仕 な セ ル ル ス チ ム 開 A B C 99 ・ ・ 情 皺 れ 理 町 究 所 A B C ・ ′ ー チ ッ ク A 8 C 料 金 受 取 人 払 広 告 を こ 覧 に な っ て 、 よ り 詳 し い 製 品 内 容 を 知 り た い 、 直 接 商 品 説 明 を 聞 き た い 、 商 品 を 購 入 し た い ・ ・ 。 そ の よ う な こ 要 望 を お 持 ち に な っ た 方 は 、 こ の 広 告 資 料 請 求 シ ス テ ム を こ 利 用 下 さ い 。 ス ピ ー テ ィ に 、 広 告 主 か ら 八 ン フ レ ッ ト 等 こ 要 望 に 基 つ い て 情 報 提 供 が 受 け ら れ ま 魂 本 誌 と じ 込 み の 広 告 資 料 請 求 カ ー ド に 、 必 要 事 項 を こ 記 入 の 上 、 こ 投 函 下 さ い 。 ( 沖 Ⅳ 4 月 号 こ の カ ー ト の 有 効 期 限 は 一 年 6 月 慴 日 ま で で す . フ リ カ 引 性 マ 名 03 ぐ 新 創 / 36 タ ! 高 輪 / 9 ・ / 3 ]. 会 吐 名 ソ 7 ト バ 、 ン ク 曜 0 引 送 付 先 ・ = 応 用 技 術 印 を 付 け ) 物 務 先 て く た さ い 広 告 主 広 告 主 広 告 主 ・ 広 告 資 料 請 求 番 号 は 各 頁 の 下 欄 に ・ 氏 名 の フ リ カ ナ 、 電 話 番 号 、 こ 住 記 し て あ り ま す 。 所 の 番 地 ま で 、 正 確 に こ 記 入 下 さ ・ 広 告 資 料 請 求 カ ー ド は 、 お 手 数 で い 。 資 料 か 正 し く お 届 け 出 来 な い 宛 名 シ ー ル を 提 供 も 全 項 目 に こ 記 入 下 さ い 。 場 合 も こ ざ い ま す 。 重 ソ フ ト ^ ン ク 株 式 会 社 〒 / 0 8 広 告 資 料 請 求 カ ー ド 1- と 送 り 先 読 者 の 皆 様 資 料 送 付 ・ 自 宅 ソ フ ト バ ン ク 出 版 事 業 部

月刊 C MAGAZINE 1993年4月号


ln 川 a ⅱ 行 m 町 ⅱ 計 Ma れ 門 ボ ー ラ ン ド BorIand C 十 十 3 ℃ す る た め の プ ロ グ ラ ム 例 を 掲 載 し SBFRAME. H Q ObjectWindows を 使 っ て DL ま す 。 1 : #include く applicat. h> L を 作 成 し て い る の で す が , ラ イ プ ま ず , MFILEAPP ℃ PP の #incl 2 : #include く button. h> 3 : ude "mfileapp. h" の 直 後 に #includ ラ リ を 静 的 に リ ン ク し よ う と す る 4 : / / ボ タ ン の 定 義 5 : const ID_BUTTONI e ” sbframe. h" を 追 加 し ま す 。 と リ ン ク エ ラ ー が 発 生 し て し ま い 6 : const ID_BUTTON2 7 : 8 : / / TWindow の 下 位 で あ る TSpeedBar を 宣 言 ま す 。 次 に , TMDIFileWindow を TM 9 : CLASSDEF(TSpeedBar) 10 : class -CLASSTYPE TSpeedBar : public TWindow { DIFrame て 、 な く TMDISpeedBar 1 1 ・ pub ⅱ c : A 0bjectWindows て 、 DLL プ 0 TSpeedBar(PTWindows0bject AParent) . TWindow(AParent, Frame か ら 継 承 さ せ , コ ン ス ト ラ SetFlags(WB_MDlCHILD, False); グ ラ ム を 作 成 す る と き に は , 静 的 ク タ の 定 義 て 、 も TMDIFrame て 、 な Attr. Style : WS_CHILDWINDOW ー WS_VISIBLE; new TButton(this, ID_BUTTONI, FALSE) ; 0 , 0 , 30 , 20 , new TButton(this, ID_BUTTON2, , 30 , 0 , 30 , 20 , FALSE); ラ イ プ ラ リ て 、 は な く , 必 す ダ イ ナ く TMDISpeedBarFrame を 呼 び 18 : virtual void Paint(HDC hdc, PAINTSTRUCT& ps) ミ ッ ク ラ イ プ ラ リ を リ ン ク し な け 出 す よ う に し ま す 。 こ れ に よ っ て , 20 : Fi llRect(hdc, &ps. rcPaint, GetStock0bject(LTGRAY_BRUSH)) : 簡 単 な ス ヒ 。 ー ド バ ー が 実 現 て 、 き ま れ ば な り ま せ ん 。 MoveTo(hdc, 0 , ps. rcPaint. bottom - 22 : 23 : LineTo(hdc, ps. rcPaint. right, ps. rcpaint. bottom Borland C 十 十 に 付 属 し て い る 24 : Select0bject(hdc, GetStock0bject(WHITE_PEN)); 25 : MoveTo(hdc, 0 , の : LineT0(hdc, ps. rcPaint. right, 0 ) : 26 : ラ イ プ ラ リ は , す べ て CLASSDL BWCC の 機 能 を 使 う こ と て 、 , ス 27 : 28 : virtual void HandleButtonlMsg(RTMessage Msg) = [ID_FIRST + ID_BUTTONIJ ピ ー ド バ ー の ボ 、 タ ン と し て ビ ッ ト L と い う 識 別 子 て ダ イ ナ ミ ッ ク な リ 29 : 30 : SendMessage(Parent->HWindow, WM_COMMAND, CM_MDI 日 LENEW, 0 ) : マ ッ プ ボ 、 タ ン を 使 う こ と も て 、 き ま ン ク か 静 的 な リ ン ク か を 選 択 す る 32 : virtual void HandleButton2Msg(RTMessage Msg) = CID_FIRST + ID_BUTTON2] 33 : よ う に な っ て い ま す 。 し た が っ て , す 。 こ の 場 合 は , TButton ク ラ ス 34 : PTWindow win ((PTMDIFrame)Parent)->ActiveChild; 35 : if (win) win->CloseWindow(); ダ イ ナ ミ ッ ク に リ ン ク す る か 静 的 の 代 わ り に TBButton ク ラ ス (bbu 36 : に リ ン ク す る か を す べ て の ラ イ プ tton. h て 、 定 義 ) を 使 っ て く だ さ い 38 : 39 : CLASSDEF(TMDISpeedBarFrame) ラ リ に つ い て 統 一 し て お か な け れ BWCC の ビ ッ ト マ ッ プ ボ タ ン に つ 40 : c lass -CLASSTYPE TMDISpeedBarFrame : publi c TMDIFrame { int SpeedBarSi ze : 4 2 : PTWindov SpeedBarWindow; ば な り ま せ ん 。 い て は , 本 誌 ' 92 年 10 月 号 の 本 コ ー 43 : pub ⅱ c : TMDISpeedBarFrame( し PSTR ATi tle, LPSTR MenuName, PTModule AModule = NULL) 44 : こ の ル ー ル は , 新 た に 作 成 す る ナ ー を ご 覧 く だ さ い 45 : : TMDIFrame(ATitle, MenuName, AModule) 46 : DLL に も あ て は ま り ま す 。 新 た に 47 : SpeedBarWindow : new TSpeedBar( this ) ; 4 8 : SpeedBarSi ze ニ 20 ; 作 成 す る DLL を 使 う 場 合 , や は り 5 0 : virtual void WMSize(RTMessage Msg) : [WM_FIRST + WM_SIZE] Q メ イ ン の ア プ リ ケ ー シ ョ ン て 、 CLA ObjectWindows の プ ロ グ ラ ム 5 2 : TMDIFrame: :WMSize(Msg); 53 : MoveWindow(GetClient()->HWindow, 0. SpeedBarSize, SSDLL を 定 義 す る こ と に な り ま す で , ダ イ ア ロ グ ボ ッ ク ス に EDIT コ 54 : Msg. LP. LO, Msg. LP. Hi ー SpeedBarSize, TRUE) : 55 : MoveWindow(SpeedBarWi ndow->HWindow, 0 , 0 , が , こ れ は ほ か の ヘ ッ ダ フ ァ イ ル ン ト ロ ー ル を 張 り 付 け て 複 数 行 の 56 : Msg. し P. LO, SpeedBarSi ze, TRUE) : 5 7 : 入 力 を さ せ て い ま す 。 し か し , 58 : } : に 対 し て も ク ラ ス や 関 数 が ダ イ ナ ミ ッ ク リ ン ク て 、 提 供 さ れ る こ と を キ ー を 押 す と デ フ ォ ル ト ボ タ ン を 意 味 し ま す 。 し た が っ て , あ る ラ 押 し た も の と 解 釈 さ れ て し ま い , イ プ ラ リ だ け を 静 的 に リ ン ク す る E 団 T コ ン ト ロ ー ル の 中 で 改 行 さ れ ま せ ん 。 ど う す れ ば , 改 行 の 意 味 と 矛 盾 が 生 じ て し ま い ま す 。 1 : #include く edit. h> 2 : 3 : _CLASSDEF(TEdi tEx) に 変 更 で き る で し よ う か 。 4 : class TEditEx: public TEdit { 5 : pub ⅱ c : TEditEx(PTWindows0bject AParent, 6 : i n t I D, WORD Len) Q A 一 般 に , ダ イ ア ロ グ ボ 、 ツ ク ス ObjectWindows で MDI ア プ リ . TEdi t(AParent, ID, Len) { } 7 : TEdi tEx(PTWindows0bject AParent, 8 : i n t I D, LPSTR AText, の 中 て 、 は キ ー を 押 し た と き に デ ケ ー シ ョ ン を 開 発 し て い る の で す 9 : int X, int Y, int W, int H, WORD Len, B00 し Multiline) : TEdi t(AParent, ID, AText, X, Y, H, Len, Multiline) { } フ ォ ル ト ボ 、 タ ン を 押 し た も の と 解 が , Turbo C 十 十 fo 「 Windows の 1 1 . virtual void WMKeyDown(RTMessage Msg) ニ CWM_FIRST + WM_KEYD()WN] よ う な ス ピ ー ド バ ー の 機 能 を つ け 釈 し ま す 。 こ れ は , Windows に お if (Msg. WParam = VK_RETURN) lnsert( ” YrYn"); た い と 思 い ま す 。 ど う す れ ば よ い け る プ ロ グ ラ ミ ン グ ス タ イ ル の 一 e ー se DefWndProc(Msg) : で し よ う か 。 種 な の て 、 あ ま り 変 更 さ れ な い ほ う が よ い て し よ う 。 複 数 行 の 入 力 を A 皿 + 国 を 押 せ List 1 に ス ピ ー ド ハ ー を 実 現 す る た め に は , List 1 = 102 : (LPSTR)" ” ) TEdit の 拡 張 List 2 C MAGAZINE 1993 4 146

月刊 C MAGAZINE 1993年4月号


ロ ッ ク に は 複 数 の ド ラ イ バ や 制 御 プ ロ ッ ク が 収 ま っ て い ま す 。 こ れ ら は Fig. 4 に 示 し た よ う な 構 造 を し て お り , MCB と 同 じ 手 順 て チ ェ ー ン を た ど っ て い け ば あ る 程 度 , 識 別 コ ー ド て 、 判 別 す る こ と が 可 能 て す 。 メ モ リ マ ッ プ 表 示 の 使 用 法 そ れ て 、 は メ モ リ マ ッ プ を 表 示 す る ユ ー テ ィ リ テ ィ を 紹 介 し ま す omemmap. c( 付 録 デ イ ス ク 収 録 ) は , ' 92 年 11 月 号 付 録 デ ィ ス ク に 収 め た も の を MS ー DOS 5.0 に 対 応 さ せ た バ ー ジ ョ ン て す 。 使 用 法 オ プ シ ョ ン ス イ ッ チ に は 以 下 の も の が あ り , オ プ シ ョ ン ス イ ッ チ を 指 定 し な い と す べ て の 状 態 を 表 示 し ま す 。 ( 1 ト m MCB リ ン ク の 状 態 を 表 示 し ま す 。 ( 2 ) -u UMB リ ン ク の 状 態 を 表 示 し ま す 。 こ の ス イ ッ チ を 指 定 す る と MS-DOS の シ ス テ ム デ ー タ セ グ メ ン ト (Fig. 4 ) の 詳 細 も 表 示 し ま す 。 ま た , HMA(FFFF : IO—FFFF : FFFF) が あ れ ば 最 後 に 表 示 し ま す 。 HMA は MCB や UMB と は 別 の XMS (eXtendedMemoryS pecification : 通 常 は HIMEM. SYS て 、 登 録 さ れ る ) て 、 管 理 さ れ て い る た め , ひ と つ の プ ロ ッ ク と し て 表 示 し ま す 。 こ の ス イ ッ チ は MS-DOS 5.0 以 降 て 、 有 効 て 、 , そ れ 以 前 の バ ー ジ ョ ン て 、 は 無 視 し ま す ( 実 際 は シ ス テ ム デ ー タ セ グ メ ン ト だ け は M S-DOS 4. x て も 存 在 す る の て 、 す が , MS-D OS 5.0 が リ リ ー ス さ れ た 今 と な っ て は MS -DOS 4. x の 存 在 価 値 は MS ー DOS 2. x よ り も な い も の と 思 わ れ ま す か ら , 手 を 抜 い て 7 78 C MAGAZINE 1993 4 デ バ イ ス ド ラ イ バ チ ェ ー ン の 状 態 を 表 示 ( 3 ) -d い ま す ) 。 し ま す 。 ( 4 ) -e EMS の 状 態 を 表 示 し ま す 。 簡 単 な ヘ ル プ メ ッ セ ー ジ を 表 示 し ま す 。 memmap の 実 行 例 を Fig. 5 に , そ の 実 行 例 に お け る UMB の 詳 細 を Fig. 6 に 示 し ま 7 メ モ リ マ ッ プ 表 示 メ モ リ マ ッ プ を 表 示 す る 部 分 て は , ① プ ロ グ ラ ム 領 域 (OwnerID=MCB セ グ メ ン ト 十 1 ) ② 環 境 変 数 領 域 (Fig. 7 ) ③ バ ッ チ フ ァ イ ル 管 理 プ ロ ッ ク す 。 Fig. 4 Fig. 3 UMB 制 御 プ ロ ッ ク の 構 造 'Z'(5Ah) : 最 終 プ ロ ッ ク ・ M ' ( 4Dh ) : 次 の プ ロ ッ ク に 続 く 識 別 コ ー ド UMB プ ロ ッ ク の 開 始 な ら ば UMB の 先 頭 セ グ へ ン ト UMB プ ロ ッ ク の 終 わ り な ら ば 000A UMB の バ ラ グ ラ フ 数 “ UMB ” : UMB プ ロ ッ ク の 開 始 "SM" : UMB プ ロ ッ ク の 終 わ り ↓ 十 0 十 1 十 2 十 3 十 4 UMB 十 5 未 使 用 十 8 十 F シ ス テ ム テ ー タ セ グ メ ン ト 制 御 プ ロ ッ ク の 構 造 識 別 コ ー ド 'E' : テ パ イ ス ド ラ イ バ 付 属 プ ロ ッ ク 'D' : テ ノ ヾ イ ス ド ラ イ ノ ヾ :lFS(lnstaIIabIe FiIe System) ド ラ イ バ シ ス テ ム テ ー タ の 先 頭 セ グ メ ン ト ト ラ ン ジ ェ ン ト コ ー ド 制 御 プ ロ ッ ク 制 御 プ ロ ッ ク 制 御 プ ロ ッ ク ( EMS ) 作 業 領 域 制 御 プ ロ ッ ク 制 御 プ ロ ッ ク ( fo 「 日 LES > 5 ) 'T' : INSTALL 'S' :STACKS ゼ . LASTDRIVE ・ B' :BUFFERS ℃ ' :BUFFERS/X Ⅸ ' : FCBS 下 ' : FILES シ ス テ ム テ ー タ セ グ メ ン ト の バ ラ グ ラ フ 数 ド ラ イ パ フ ァ イ ル 名 ↓ 十 0 十 1 十 2 十 3 十 4 十 5 未 使 用 十 8 十 F シ ス テ ム テ ー タ

月刊 C MAGAZINE 1993年4月号


ー ) 。 DOS な ど の キ ャ ラ ク タ 指 向 環 境 な ら ば , void main( ) 「 何 も し な い 」 プ ロ グ ラ ム List い に り い 」 い ( ( い ( に ン い - い 」 ~ い ~ ~ い に い ~ に 」 に 第 い い 一 い い ー ー ー 1 : #include く .. /owl/include/owl . h 〉 2 : 3 : / / ndows の メ イ ン ル ー チ ン 4 : int PASCAL WinMain(HANDLE instance, HANDLE previnstance, LPSTR cmd, int cmdshow) / / ア プ リ ケ ー シ ョ ン の イ ン ス タ ン ス を 作 成 TApplication app ( " な ~ ん に も し な い " 7 : / / 実 行 さ せ る app. Run(); / / 実 行 結 果 を 返 す return app. Status; と い う た か だ か 3 行 の コ ー ド に な り ま す 。 し か し , Windows の 場 合 に は , 何 も し な い と は い え , 曲 が り な り に も Windows プ ロ グ ラ ム て 、 す の て 、 , 決 め ら れ た お 作 法 を 守 る 必 要 が あ り ま す 。 つ ま り , マ ル チ タ ス ク に 加 え , 「 移 動 」 「 最 小 化 」 「 最 大 化 」 「 ク ロ ー ズ 」 な ど の 最 低 限 の 機 能 は 実 現 し て お か ね ば な り ま せ ん 。 C マ ガ ジ ン 1992 年 11 月 号 て 、 は , 柴 田 望 洋 氏 が 「 MS-Windows プ ロ グ ラ ミ ン グ 基 礎 学 」 と い う 特 集 を 書 か れ お り , 単 に C て 、 書 い た 「 何 も し な い プ ロ グ ラ ム 」 の 例 が 載 っ て い ま す 。 コ メ ン ト の 量 も 非 常 に 多 い と は い え ま せ ん が , C て 、 は 「 何 も し な い 」 だ け な の に 65 行 も の 長 き に わ た っ て い る の て 、 す 。 こ れ が 本 来 の , つ ま り ク ラ ス ラ イ プ ラ リ の 援 助 な し の , W indows プ ロ グ ラ ミ ン グ の 裸 の 姿 て 、 す 。 List 1 に 「 OWL 版 何 も し な い ( が Window s プ ロ グ ラ ム て 、 は あ る ) 」 プ ロ グ ラ ム の ソ ー ス コ ー ド を 示 し ま す 。 実 行 画 面 を Fig. 1 に 示 し ま す 。 あ あ , あ ま り に も 短 い : ー ) 。 コ メ ン ト を 入 れ て も 12 行 し か あ り ま せ ん 。 こ ん な に 短 く て い い の て 、 し よ う か ? Windows の 場 合 , ウ イ ン ド ウ ブ ロ シ ー ジ そ う な ん て 、 す 。 OWL の 場 合 , 自 分 て 、 何 も ヤ を 始 め と し て , 定 型 的 な 処 理 が 数 多 く あ し な い だ け な ら 本 当 に こ れ て 、 全 部 て 、 す 。 り ま す 。 SDK を 使 っ て い る 人 の 中 に は , 自 C に よ る Windows プ ロ グ ラ ミ ン グ て 、 は 真 っ 先 に お 目 に か か る は ず の 「 メ ッ セ ー ジ ル ー 分 用 の 何 も し な い プ ロ グ ラ ム の テ ン プ レ ー プ 」 や 「 ウ イ ン ド ウ ブ ロ シ ー ジ ャ 」 は , ど こ に ト が あ り , そ れ に 処 理 を 付 け 加 え て い く 形 て 、 プ ロ グ ラ ム を 作 成 す る 人 も い る と 聞 き ま も 見 当 た り ま せ ん 。 こ れ ら の 機 能 は , TAp す 。 な ら ば , そ れ ら 定 型 処 理 は ラ イ プ ラ リ plication ク ラ ス や そ の ほ か の Object Wind ows ラ イ プ ラ リ の 中 に す っ か り 取 り 込 ま れ て に 任 せ て し ま っ て も よ い て 、 は あ り ま せ ん か 。 い る か ら て 、 す 。 OWL プ ロ グ ラ マ は そ れ ら を こ れ ら の 効 能 に よ り , OWL の プ ロ グ ラ ミ ン グ は 「 普 通 の Windows プ ロ グ ラ ミ ン グ 」 と 意 識 し た り 目 に す る 必 要 は あ り ま せ ん 。 つ ま り , Windows プ ロ グ ラ ム と し て の 骨 格 は は か な り 異 な る 形 に な り ま す 。 OWL が す て 、 に 内 部 に 持 っ て い る の て 、 , 我 々 は そ れ に 関 し て 何 も タ ッ チ す る 必 要 は な い C 子 : 効 能 , 肩 凝 り ・ 腰 痛 ・ ・ プ ラ 子 : あ , 保 守 も 楽 に な る か ら , と い う こ と て 、 す 。 ほ ん と instance, previnstance, cmdshow) : cmd, Fig. 1 「 何 も し な い 」 プ ロ グ ラ ム の 実 行 画 面 プ ロ グ ラ ム マ ネ ー ジ ャ な ~ ん に も し な い サ イ ズ 類 ③ 最 小 化 最 大 化 凶 特 果 ( ク ロ ー ズ 0 A け + F4 タ ス ク リ ス ト ( 工 ) … Ctrl + Esc イ 。 イ ht Wo 「 p に 効 く か も ね 。 な ん だ か 温 泉 行 き た く な っ ち ゃ っ た ぶ ら な り あ : ぶ つ ぶ く 。 ぶ ー OWL の ク ラ ス 階 層 参 考 ま て 、 に , OWL て 、 の ク ラ ス 階 層 を 『 Ob jectWindows for C 十 十 ユ ー ザ ー ズ ガ イ ド 』 か ら 引 用 し て , Fig. 2 に あ げ て お き ま す 。 詳 細 は , あ る 程 度 OWL プ ロ グ ラ ミ ン グ に 慣 れ た と き に 見 る こ と に し ま し よ う 。 C 子 : ち ょ っ と ち ょ っ と 。 い き な り ク ラ ス 階 層 だ け 見 せ ら れ て も , 何 が な ん だ か わ 86 C MAGAZINE 1993 4

月刊 C MAGAZINE 1993年4月号


C MAGA 「 Turbo C 十 十 ク ッ シ ョ ン 」 プ レ ゼ ン ト キ ャ ン ペ ー ン ボ ー ラ ン ド 株 ボ 、 一 ラ ン ド 株 は , Turbo C 十 十 (DOS 版 , Windows 版 ) を 購 入 者 に 「 Turbo C 十 十 ク ッ シ ョ ン 」 を も れ な く プ レ ゼ ン ト す る プ レ ゼ ン ト キ ャ ン ペ ー ン を ' 93 年 2 月 1 日 よ り 行 っ て い る 。 ボ 、 一 ラ ン ド セ ン タ ー 加 盟 店 て 、 の 購 入 者 が 対 象 と な り , ク ッ シ ョ ン が な く な り 次 第 キ ャ ン ペ ー ン 終 了 と な る 。 問 い 合 わ せ 先 ボ 、 一 ラ ン ド 株 〒 151 東 京 都 渋 谷 区 笹 塚 1 ー 64 ー 8 笹 塚 サ ウ ス ビ ル TEL 03 ( 5350 ) 9380 「 iDEB Ⅲ - Z80 」 岩 崎 技 研 工 業 株 岩 崎 技 研 工 業 株 は , 同 社 の 8 ビ ッ ト イ ン サ ー キ ッ ト エ ミ ュ レ ー タ 「 PROICE-Z80/PC 」 に お け る , C 言 語 デ バ ッ ガ 「 iDEB Ⅲ ー Z80 」 を 同 製 品 は , 8 ビ ッ ト CPU の Z80 に 対 応 し た マ ル チ ウ イ ン ド ウ タ イ プ の C ソ ー ス レ ベ ル デ ノ ヾ ッ カ 。 お も な 特 徴 は 以 下 の と お り 。 ・ コ ー ド ウ イ ン ド ウ て 、 表 示 さ れ て い る デ ー タ 構 造 の ま ま て , 構 造 体 / 共 用 体 な ど の デ ー タ の 参 照 / 変 更 が 可 能 な イ ン ス ペ ク ト 機 能 を 搭 載 ・ EMS を サ ポ ー ト ・ マ ル チ ジ ョ ブ 機 能 搭 載 く 動 作 環 境 > ・ 対 応 CPU Z80 A/B/H ・ 対 応 コ ン パ イ ラ LSI C -80 , MCC80 く 価 格 > iDEBIII-Z80 PROICE-Z80/PC ICC-Z80, 100 , 000 円 398 , 000 円 問 い 合 わ せ 先 岩 崎 技 研 工 業 株 〒 612 京 都 市 伏 見 区 下 鳥 羽 平 塚 町 13 ー 3 TEL 075 ( 602 ) 7878 第 3 回 Wingnut セ ミ ナ ー 「 GNU C コ ン バ イ ラ GCC 」 コ ー ス 株 S 日 A 「 Wingnut セ ミ ナ ー 事 務 局 」 (fiSRA 「 Wingnut セ ミ ナ ー 事 務 局 」 は , FSF か ら 配 布 さ れ て い る , 最 適 化 C コ ン パ イ ラ に つ い て , お も に C 言 語 の フ ロ ン ト エ ン ド を 中 心 と し た セ ミ ナ ー を 開 催 す る 。 セ ミ ナ ー は , ひ と り 一 台 の ワ ー ク ス テ ー シ ョ ン や X 端 末 を 用 意 し , 実 際 に BSDUN Ⅸ 環 境 下 て 、 GCC(Ver. 2. x) を 使 っ て の コ ン パ イ ル 作 業 を 体 験 し な が ら す す め ら れ る 予 定 。 会 場 に は , 「 GNU 相 談 コ ー ナ ー 」 も 併 設 , Wingn ut ス タ ッ フ が GNU に 関 す る 相 談 を 受 け 付 け セ ミ ナ ー 参 加 者 に は セ ミ ナ ー て 、 使 用 す る 例 題 フ ァ イ ル や GCC プ ロ グ ラ ム , マ ニ ュ ア ル の 入 っ た 媒 体 の 配 布 な ど の 特 典 が あ る 。 く 会 場 > 東 京 都 千 代 田 区 平 河 町 1 ー 1 ー 1 (WSRA 本 社 3 階 セ ミ ナ ー ル ー ム く 日 時 > 1993 年 4 月 2 日 ( 金 ) 受 付 開 始 9 : 10 受 講 時 間 9 : 30 ~ 17 : 00 く 参 加 費 > 35 , 000 円 ( 資 料 代 を 含 む ) く 締 め 切 り > 1993 年 3 月 31 日 ( 水 ) ま た は , 申 し 込 み 者 が 定 員 ( 12 名 ) に 達 し た 場 合 く 申 し 込 み 方 法 > 申 し 込 み 連 絡 責 任 者 名 , 参 加 者 氏 名 ( ふ り が な ) , 会 社 名 / 部 門 / 役 職 , 電 話 番 号 , 住 所 , 参 加 人 数 と 参 加 費 用 振 り 込 み 予 定 日 , 「 GN U C コ ン パ イ ラ GCC 」 コ ー ス 参 加 申 し 込 み と 明 記 し て , FAX に て 下 記 株 SRA 「 Wing nut セ ミ ナ ー 事 務 局 」 係 ま て 、 申 し 込 む 。 折 り 返 し 送 ら れ る 参 加 券 と 請 求 書 に 従 っ て 開 催 日 前 日 ( 4 / 1 ) ま て 、 に 銀 行 振 込 て 、 参 加 費 用 FAX 03 ー 3234-4338 TEL 03 ー 3234 ー 2623 担 当 河 向 ( か わ む か い ) , 田 崎 (WSRA 「 Wingnut セ 問 い 合 わ せ 先 を 振 り 込 む 。 ミ ナ ー 事 務 局 」 係 U N ー X U S 第 R ア プ リ ケ ー シ ョ ン 指 向 の UN Ⅸ 活 用 誌 ユ ニ ッ ク ス ・ ユ ー サ ー 1993 N04 好 評 発 売 中 定 価 980 円 ・ 毎 月 8 日 発 売 特 集 い ま 、 進 化 を 遂 げ た HP の コ ン ピ ュ ー テ ィ ン グ 環 境 に 注 目 PARTI ・ HP - UX9.0 が 提 供 す る テ ス ク ト ッ プ PART2 ・ UN Ⅸ の 分 散 環 境 を リ ー ド す る DEC の 世 界 PART3 ・ UNIX を ホ ス ト に PC と の マ ル チ プ ラ ッ ト フ ォ ー ム 環 境 を 構 築 す る 特 別 付 録 UNIXUSERLIBRARY UNIX 上 で BBS を 開 局 す る 3.5 " 2DD annbbs LAN ア MES ネ ッ ト ワ ー ク コ ン ピ ュ ー テ ィ ン グ を 推 進 す る 実 務 マ ガ ジ ン LAN タ イ ム ズ 4 月 号 好 評 発 売 中 定 価 1 , 480 円 ・ 毎 月 8 日 発 売 SPECIAL REPORT ゼ ロ か ら ス タ ー ト 、 部 門 N 構 築 INTEGRATION つ い に デ ビ ュ ー し た 日 吾 オ ラ ク ) 実 力 を 探 る News Square 133 ソ フ ト バ ン ク 出 版 事 業 部 お 近 く の 書 店 で お 求 め く だ さ い コ ボ ル SE の た め の PC 講 座 ■ パ ソ コ ン N と MS-DOS NEC -98 モ デ ル の 全 貌 ■ サ ー バ 解 剖 学 新 連 載 工 コ シ ス 他 ネ ッ ト ワ ー ク プ リ ン タ PRODUCT REVIEWS 新 機 種 投 入 相 次 ぐ サ ー バ マ シ ン 486 か ? 専 用 機 か ? BUYER'S GUIDE

月刊 C MAGAZINE 1993年4月号


プ ロ ク ラ ミ ン グ 人 物 デ ー タ ベ ー ス ー ー ー 構 造 体 ( そ の 16 ) イ ラ ス ト / 山 形 彰 吾 か ら ん よ う な も の を ど う し て C の 文 法 に 好 ん し か し , 封 筒 の 中 身 は 紙 片 が 1 枚 な の に , ご て い ね い に も 速 達 書 留 て 、 あ る 。 氏 は 気 が で 取 り 入 れ る の か 小 生 に は ま っ た く 理 解 で 短 い の て 、 速 達 て 、 な い と 納 得 て き ず , 書 留 て 、 き ん 。 ま あ , ふ た っ く ら い で は 使 う 意 味 も な い と 相 手 に 確 実 に 届 く か 不 安 だ と い う 。 な い の だ ろ う が , 使 わ ん と 、 、 あ い つ に は 使 FAX も 持 っ て い る が , こ れ も き ち ん と 着 い え ん ″ と 思 わ れ る の は 不 本 意 で あ る し せ た か ど う か わ か ら ん の て 、 不 便 だ と い う 。 難 っ か く だ か ら 使 っ て や る こ と に し た 。 こ れ で , ひ と つ だ け の 構 造 体 の デ ー タ な し い 人 物 て 、 あ る 。 そ れ て 、 は , 投 稿 を 紹 介 す る 。 神 奈 川 県 相 ら ば な ん と か 取 り 扱 え る よ う に な っ た 。 ひ 模 原 市 の 小 林 信 晴 氏 か ら の も の だ 。 と つ が 使 え れ ば , い く つ で も 使 え る ぞ 。 ロ バ ー ト ・ 佐 々 木 様 ロ バ ー ト ・ 佐 々 木 こ ん に ち は , 数 当 て プ ロ グ ラ ム ( kazuate. c ) を 作 り ま し た の で 見 て く だ さ い 。 こ の プ ロ グ ラ ム は , コ ン ピ ュ ー タ が 考 え た プ ロ グ ラ ム を 人 間 が 当 て る の で は な く , 人 間 が 考 え た 数 を コ ン ピ ュ ー タ が 当 て ま す 。 質 問 に 正 直 に 答 え て も ら え ば , 7 回 以 内 に 当 て る こ と が で き ま す 。 ニ 分 探 索 法 を 用 い て い ま す 。 オ ー ソ ド ッ ク ス な ア ル ゴ リ ズ ム で す が , あ な た の 嘘 を 小 林 信 晴 見 抜 く 力 を 秘 め て い ま す 。 さ っ そ く , こ れ を ロ バ ー ト 氏 の 自 宅 に FAX し て お い た 。 つ い て 、 に , く sukil . c > の 構 造 体 デ ー タ 内 部 の 表 示 部 分 の printf ロ バ ー ト ・ 佐 々 木 氏 は , 私 の ご 近 所 の 方 で , す で に 年 齢 70 を 越 え , 現 在 は 現 役 引 退 の 身 で あ る 。 氏 は , 2 年 前 の 夏 ま で は パ ソ コ ン を ワ ー プ ロ と し て 使 う 経 験 は あ っ た も の の , プ ロ グ ラ ム の な ん た る か は ま っ た く 知 ら な か っ た 人 物 で あ る 。 そ の ロ バ ー ト 氏 が , ' 92 年 初 頭 に C 言 語 の マ ス タ ー を 決 意 し , 以 後 , 私 ( 丹 羽 ) と ミ ス テ リ ア ス な C 文 通 を 始 め た 。 そ の 文 通 は 今 で も 続 い て い る 。 さ て , 今 月 も , 同 じ 町 内 に 住 む ロ バ ー ト 氏 か ら 郵 便 局 経 由 で 手 紙 が 届 い て い る 。 さ っ そ く だ が , 見 て み る こ と に し よ う 。 前 略 。 元 気 か ? 丹 羽 君 よ 。 さ て を 本 題 だ 。 読 者 の 方 か ら あ り が た い 投 稿 が あ っ た と の こ と な の で , そ れ を 紹 介 し て も ら え ん か 。 最 近 の い ち ば ん の 楽 し み だ か ら な 。 と こ ろ で , 今 月 の 事 件 と し て は , 人 物 デ ー タ ベ ー ス の 作 成 に と り か か っ た 。 ま ず は , 特 定 人 物 の 好 き 嫌 い を デ ー タ と し て 扱 う た め の く sukil. c > が そ れ だ 。 enum {kirai, suki}; と い う の は , 読 み 方 も わ か ら ん が , kirai = 0 , suki = 1 と し て く れ る も の の よ う だ 。 こ の よ う に , 読 み 方 も わ sukil.c ; H03 List 2 List 7 : int main(void) int IOW 9 : int mid, ans, count puts ( " 1 か ら 1 () () ま で の 整 数 を ひ と っ , 考 え て く だ さ い . puts ( " 7 回 以 内 に 当 て て み せ ま す . あ な た が う そ を つ か な け れ ば . 十 十 count) : printf("YnYn%d 回 目 \ n " い 0 + h i gh ) / 2 : m i d printf ( " あ な た の 考 え た 数 は , %d で す か ? \ n " . %d よ り 大 き い Yn ” m i d ) ; p r i n t f ( ” 1 . m i d) : %d よ り 小 さ い Yn" printf()2 . 当 た り ! ! puts()l と 2 以 外 . 20 : pr i n t f ( " 正 直 に 答 え て く だ さ い . = getch(); 22 : ans ニ ONE) i f (ans 23 : ニ m id + 1 ; 24 : : TWO) else if (ans 25 : h i g h = 26 . ニ ON E Ⅱ ans = TWO) & & low ← h i gh ) ; } while ((ans i f (1 0 > h i gh) 28 : put s ( " \ nYn あ な た は う そ を つ き ま し た ね ? " ) ; 29 : else 30 : puts("YnYn へ っ へ っ , ど ん な も ん だ い ! return 0 ; 32 : 3 3 : } 1 : # i n cl ud e く s td i 0. h > 2 : 3 : struct data-form { char *name; 4 : i n t k on om i ; 5 : 7 : enum {kirai , suk i } ; 8 : = { " 丹 羽 信 夫 ",suki}; struct data form data 9 : 1 1 : mai n ( ) { printf("%s は %d\n",data. name,data. konomi); 1 , h i gh : 100 , mid); List kazuate. C 1 : # i n ud e く s td i 0. h 〉 2 : # i ncl ude く C on i 0. h 〉 3 : # de f i ne ONE ' 1 ' 4 : #de f i ne TWO ' 2 ' 5 : 6 : 144 C MAGAZINE 1993 4

月刊 C MAGAZINE 1993年4月号


に 一 彡 売 List 2 そ れ よ り も っ と 有 い よ う に も 思 う が ・ ・ 用 な の は , makefile の 内 容 に そ っ て 順 次 複 数 の ソ ー ス フ ァ イ ル に 対 し て 検 索 を 行 う こ と だ ろ う 。 ま た , BRIEF の 自 動 コ ン パ イ ル 機 能 は マ ク ロ て 、 実 現 さ れ て い る の て 、 , コ ン パ イ ル マ ク ロ の 後 半 に エ ラ ー の 種 類 の 判 定 を 入 れ , 未 定 義 工 ラ ー の 場 合 , こ の マ ク ロ を 自 動 的 に 起 動 す る こ と も 容 易 に 実 現 て 、 き る 。 マ ク ロ の 部 分 は そ れ ほ ど 高 度 な 処 理 を 必 要 と し な い の て 、 , LCS 計 算 の 実 行 プ ロ グ ラ ム だ け を 利 用 し , BRIEF 以 外 の エ デ イ タ て 、 同 様 な ツ ー ル を 実 現 す る の も 容 易 だ ろ う 。 0 bp->lcs = bp->symbol break, 2 1 3 : 2 1 4 : 2 1 5 : 2 1 6 : 2 1 7 : 21 8 : 2 1 9 : 220 : 221 : 222 : 223 : 224 : 225 : 226 : } 227 : 229 : 230 : * Calculate LCS for every symboles in table 231 : 232 : 233 : lcs(pattern) 234 : char *pattern; 235 : { 236 : register int 237 : for (i ニ 0 : i く MAX_SYM; i + + ) 238 : if (sym_table[i]. type 239 : ニ SYMBOL) { sym-table[i]. type = calc_lcs(pattern, sym_tableCi]. symbol) ; 240 : 241 : # i fdef LCS_DEBUG printf("%s %d%n" sym-tableCi]. symbol, sym_table[i]. type) ; 242 : 243 : #endif / / LCS_DEBUG } else 2 4 4 : sym-table[i]. type 245 : 246 : } 247 : 249 : * こ の 関 数 は Computer Today 誌 N050. 疋 田 輝 雄 著 250 : 「 C で 書 く ア ル ゴ リ ズ ム 8 」 p. 73 の リ ス ト を 流 用 し て い る * 251 : 252 : 253 : 254 : calc-lcs(pattern, symbol) 255 : Char *pattern; 256 : Char *symbol : 257 : { 258 : register int 259 : register int p[SYM_LEN] CSYM_LEN] : 260 : int 261 : a[SYM_LEN + 2] : char b[SYM_LEN + 2] : 262 : Char kand CSYM-LEN] ; 263 : Char 264 : m ニ strlen(pattern) : 265 : int 266 : = strlen(symbol); int n 267 : aC0] ニ bC0] ニ 268 : 269 : strcpy(&a[l 270 : pattern) : strcpy(&bCI symbol) ; 271 : 272 : 273 : for (i i く ニ m ; i 十 十 ) { for (j 274 : j く ニ n : j 十 十 ) { i f (a [ i ] ニ b Cj ] ) 275 : p [ i ] Cj ] ニ 276 : ー 1 ] Cj ] + 1 : 277 : e ー se p [ i ] Cj ] = MAX (p [ i ] Cj ー 1 ] , p [ i ー 1 ] Cj ] ) ; 278 : 279 : 280 : 281 : 282 : 283 : 284 . 285 : 286 : 287 : 288 : 289 : 290 : 291 : 292 : 293 : 294 : 295 : 296 : 297 : 298 : } 299 : sym->type. ニ sym- 〉 symbol ; / * out put in order * / for (i ニ 0 , bp - best_lcs if (bp->lcs)printf("%syn" i く WINNER; + + i , + + bp){ bp->symbol) ; [ 参 照 文 献 ] [ 1 ] 疋 田 輝 雄 「 C て 、 書 く ア ル ゴ リ ズ ム ( 8 ) 」 , 『 Computer T0day 』 NO. 50 , 71 ー 78 頁 , サ イ エ ン ス 社 , 1992 年 7 月 [ 2 ] 松 田 晋 「 実 践 ア ル ゴ リ ズ ム 戦 略 」 , 『 C マ ガ ジ ン 』 V01. 4 , No. 7 , 94-102 頁 , ソ フ ト ノ ヾ ン ク , 1992 年 7 月 投 稿 プ ロ グ ラ ム 募 投 稿 プ ロ グ ラ ム を 募 集 し て い ま す 。 ジ ャ ン , 言 語 は 問 い ま せ ん 。 ツ ー ル か ら ア プ リ ノ レ ケ ー シ ョ ン , 処 理 系 etc. も ち ろ ん 低 レ ベ ル ソ フ ト ウ ェ ア て 、 も け っ こ う て 、 す 。 下 記 の 宛 先 か , R& R コ ー ナ ー に 記 さ れ て い る ID 宛 に 電 子 メ ー ル て 、 お 送 り く だ さ い 。 な お 電 子 メ ー ル の 場 合 は , LHA 圧 縮 , ish フ ァ イ ル て 、 お 送 り い た だ い て も け っ こ う て 、 す 。 採 用 分 に つ い て は , 後 日 , 編 集 部 よ り 直 接 連 絡 を 差 し 上 げ ま す 。 な お , お 送 り い た だ い た 原 稿 ・ デ ィ ス ク は , 原 則 と し て 返 却 い た し ま せ ん 。 ま た , 原 文 を 手 直 し さ せ て い た だ く 場 合 も あ り ま す 。 ご 了 承 く だ さ い } se { i f (p [ i ] Cj ] ー 0 宛 先 〒 108 東 京 都 港 区 高 輪 2 ー 19 ー 13 NS 高 輪 ビ ル ソ フ ト ノ ヾ ン ク 株 C マ ガ ジ ン 編 集 部 「 投 稿 プ ロ グ ラ ム 」 係 return pCm]Cn]; 130 C MAGAZINE 1993 4