検索 - みる会図書館

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

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

月刊 C MAGAZINE 1993年3月号


MAGAZINE 3 PC ・ 9801 DOS/V Macintosh 」 ・ 3100 FM-TOWNS X68000 UNIX ( MIDI ( ま 産 吋 産 ) AI MS-Windows GUI 武 ff—L 、 ↓ ヾ MAG\ZINE き A こ 法 . か 一 い 0 44 ペ 〈 5 1 . 凵 い ー 2. 鱗 ・ ・ 3. 4. 燿 5. 当 # ・ 薹 0 6. 、 」 , 7. 諍 8. 当 ・ 一 渺 9. 10. 罫 11 . 斗 ー メ 12. 》 13. 14. 月 熹 匯 15 . 洋 ・ 三 新 16. 小 言 1 . 》 耋 2. 当 斗 ー メ ・ コ 3. ヰ 蟶 4. 鑄 5. 洋 6. 鑄 7. 舜 8. 斗 ー メ 鑄 9. 饕 当 10. 11 . 小 Ø 言 ・ ぐ 匚 瑾 第 ÜA ・ B ・ CØ Ø 行 〇 当 一 斗 ペ ^ 僻 匚 。 (A.± ロ 、 誕 . B. 三 涬 . C. 棄 A ) F04 A B C : ・ 光 ー 郊 F 016 A B C : ・ 、 ま メ ト F03 A B C ・ : ・ = メ ・ 74 戛 ン 099 A B C : 4 4 ロ 、 7 125 A B C ・ : = 凵 。 い ー ー メ ト F01 A B C 001 A B C ・ : = 言 滝 い ー こ い ご 、 130 A B C ・ : 7 。 郊 ー 凵 7 149 A B C : ・ 十 ヾ 7 1' 7 002 A B C : 7 4 ・ ー 166 A B C 301 A B C 302 A B C : 三 】 浯 洋 170 A B C : ー キ 7 1' : 斗 —= メ ー 1 71 A B C 303 A B C 304 A B C : 、 7 戛 出 1 72 A B C : ・ 斗 メ l' 173 A B C 305 A B C 014 A B C : 4 7 土 ー プ 174 A B C 015 A B C : ・ 7 ま メ ト 175 A B C MAGAZINE C 一 ミ く 窰 畊 ー ア

月刊 C MAGAZINE 1993年3月号


EDITORSV 000M な お , 予 告 内 容 を 変 更 す る こ と か あ り ま す 。 次 号 予 告 >4 月 号 ( 3 月 1 8 日 発 売 ) C 言 語 入 門 プ ロ ク ラ ミ ン ク レ ッ ス ン Pa I プ ロ ク ラ ミ ン グ 言 語 C の 世 界 へ よ う こ そ Pa Ⅱ C 言 語 を 使 っ て み よ う Partm C 言 語 プ ロ グ ラ ミ ン グ レ ッ ス ン 巻 頭 イ ン タ ビ ュ ー 特 別 寸 録 Tom Atwood(l) $'2HD を : ■ L C -86 r. 3.3 試 食 版 Object Design 社 創 立 者 ■ ス ク リ ー ン エ テ イ タ 「 S E3 」 ■ マ ク ロ リ ン カ 「 MACRO 」 ■ C ソ ー ス カ ラ ー 視 覚 化 ツ ー ル ℃ LIST 」 ■ 本 誌 掲 載 ソ ー ス プ ロ グ ラ ム ANSI Cmore COMPUTER LANGUAGE 提 携 記 事 新 MS ー DOS プ ロ ク ラ ミ ン ク 入 門 Awk—Just Another Language? 実 践 ア ル ゴ リ ズ ム 戦 略 lt's Only Logical C 十 十 入 門 講 座 ・ Try The C 十 十 Using lex and yacc 編 集 後 記 ◇ 年 末 商 戦 の さ な か , 年 内 ◇ ス キ ー 旅 行 て 、 の こ と 。 午 ◇ 年 末 の こ と だ っ た か ら も ◇ 最 近 編 集 部 内 て 、 は 札 幌 の ◇ 正 規 表 現 は , や は り 呪 文 入 荷 最 後 の 1 台 と い う 言 葉 う か な り 前 て 、 , 知 人 の お 宅 だ 。 こ れ が 現 状 の 気 持 ち だ 。 後 の 終 了 時 間 ギ リ ギ リ て 、 リ 人 気 が 急 上 昇 し て い る 。 ス に 惑 わ さ れ て , 「 PowerBoo キ ー 休 暇 を 取 っ た 編 集 部 員 話 は 変 わ る が , 文 章 を 黙 読 て 、 ひ ら か れ た 忘 年 会 か ら の フ ト に 乗 れ た の は よ か っ た k Duo 」 を 衝 動 買 い し て し ま す る と き は , 頭 の 中 て 、 声 を が , コ プ て 、 転 倒 , 板 が 外 れ A と B の 二 人 は し き り に 「 札 帰 り の こ と 。 家 を 出 て さ ほ っ た 。 そ の お か げ て 、 ま ず し 幌 っ て 最 高 っ ス ! 」 を 連 発 。 た 。 起 き 上 が っ て , 板 を 付 ど 歩 か な い う ち に 転 ん だ 。 出 し て い る が , プ ロ グ ラ ム い お 正 月 を す ご し た , ポ ケ ッ ト に 手 を 入 れ て 歩 い け よ う と し た が , 絞 め 具 が そ り ゃ ー そ う だ ろ う 。 ビ ー の と き は , メ イ ン , イ ン ト , う と こ ろ ま て 、 は ま だ よ か っ ル も う ま け り や ジ ン ギ ス カ て い た の て 、 , 思 い っ き り ア ・ ・ と 声 は て 、 ず , ロ ッ ク し な い ! ? よ く 見 る と ア ー グ シ ー た の だ が ・ ・ ・ ・ ・ ・ 先 日 シ ス テ ム ス フ ァ ル ト に 顔 面 を 打 ち つ ン だ っ て う ま い 。 雪 降 る 札 ビ ン デ ィ ン グ 本 体 が 割 れ ス ア ー ギ ュ メ ン ト を と る プ ロ が ク ラ ッ シ ュ し て し ま っ た け , ロ の ま わ り は 血 だ ら け 。 グ ラ ム か 程 度 の 認 識 て 、 す ま プ リ ン グ な ど の 中 身 が な く 幌 の 街 は き れ い だ 。 テ ニ ス Dock も MiniDock も な い 私 小 学 生 の 頃 の 教 訓 。 ( と く に せ る こ と に 気 が つ い た 。 正 な っ て い る ・ ・ 漬 け の こ の ご ろ , 久 し ぶ り そ の 後 , に は 手 も 足 も て 、 な い 。 理 屈 冬 の 寒 い 時 ) ポ ケ ッ ト に 手 を 暗 闇 の ゲ レ ン デ を 1 時 間 近 く に ス キ ー て 、 も し よ う か と 思 規 表 現 も 記 号 と し て 認 識 し , て 、 は わ か っ て い た の だ が , 入 れ て 歩 く の は 危 険 な の て 、 か け て , 歩 い て 降 り る こ と 意 味 が 理 解 て 、 き る と 楽 し い う の だ が , 札 幌 ま て 、 の 距 離 (TEN) ま さ か ・ ・ や め ま し よ う 。 ( 洋 ) と な っ た 。 疲 れ た 。 (Yas) (JUN) ( ホ ) 世 界 な の か も ・ ・ と 時 間 が ね え ・ ・ 特 集 好 評 連 載 プ ロ グ ラ ム ・ ノ ヾ グ の お 問 い 合 わ せ 03 ( 5488 ) 1325 発 行 人 孫 正 義 編 集 人 橋 本 五 郎 発 行 所 ソ フ ト バ ン ク 株 式 会 社 出 版 事 業 部 〒 田 8 東 京 都 港 区 高 輪 2- 円 一 口 NS 高 輪 ビ ル 編 集 部 ・ TEL03 ( 5488 ) ロ 田 / 出 版 営 業 部 ・ TEL03 ( 5488 月 360 / 広 告 営 業 部 ・ TEL03 ( 5488 月 365 編 集 長 星 野 慎 ー 副 編 集 長 宮 田 洋 一 流 王 天 編 集 渡 辺 淳 一 高 森 昭 安 広 告 丹 羽 弘 祐 斎 藤 誠 一 郎 安 枝 奈 穂 子 校 正 ( 有 ) ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 赤 井 晴 美 磯 部 進 若 江 啓 子 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 株 式 会 社 風 芽 0 円 93 雑 誌 図 325 ー 3 月 刊 MAGAZINE 3 月 号 平 成 5 年 3 月 一 日 発 行 ・ 掲 載 記 事 , プ ロ グ ラ ム に つ い て の ご 質 問 は , 月 曜 日 か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 、 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ さ い 168 C MAGAZINE 1993 3

月刊 C MAGAZINE 1993年3月号


by St 奥 村 晴 彦 最 終 回 グ ラ フ ィ ッ ク ス C カ ク ラ ミ ン ク C 言 語 の 入 門 者 に と っ て , BASIC の よ う に 簡 単 に 線 や 円 を 描 画 で き な い の が 不 満 の よ う で す 。 C 言 語 は , 線 や 円 を 描 画 す る と い う 機 種 に 依 存 す る 部 分 は コ ン ノ ヾ イ ラ と 切 り 離 さ れ た グ ラ フ ィ ッ ク ス ラ イ プ ラ リ と い う 関 数 の 集 ま り で 実 現 し ま す 。 し か し , グ ラ フ ィ ッ ク ス ラ イ プ ラ リ は , 処 理 系 に よ っ て 仕 様 が 異 な っ て お り , そ れ が ま た 入 門 者 を 迷 わ せ て い ま す 。 今 回 は , 機 種 依 存 や 処 理 系 依 存 を 考 え な が ら グ ラ フ ィ ッ ク ス に つ い て 解 説 し ま す 。 じ め に 74 C MAGAZINE 1993 3 パ ソ コ ン 通 信 て 、 流 す ほ ど の 作 品 を 作 る 時 て い た だ き ま す 。 ン 通 信 な ど て 、 流 し て く だ さ い 。 私 も 使 わ せ す 。 ど う か よ い プ ロ グ ラ ム を 作 り , パ ソ コ う と さ れ て い る 方 が 大 勢 お ら れ る と 思 い ま 読 者 の 中 に も , 趣 味 て 、 プ ロ グ ラ ム を 作 ろ AN て 、 い た だ い た フ リ ー ソ フ ト ウ ェ ア て 、 す 。 く ら い て 、 , あ と は ほ と ん ど NIFTY や PC-V た も の は DOS/V, WX Ⅱ 十 , VZ 工 デ イ タ た く さ ん 入 っ て い ま す 。 お 金 を 払 っ て 買 っ も ア マ チ ュ ア プ ロ グ ラ マ の 作 ら れ た も の が 私 の 愛 機 ( 486DX ー 33 の AT 互 換 機 て 、 す ) に て 、 す ) 。 が モ ジ ュ ラ ー だ と パ ソ コ ン 通 信 が て 、 き る ん テ ル は 電 話 も モ ジ ュ ラ ー て 快 適 て 、 し た ( 電 話 る な ん て , 感 激 し て し ま い ま し た 。 そ の ホ と こ ろ に も ア マ チ ュ ア プ ロ グ ラ マ が お ら れ 作 っ て お ら れ る と い う こ と て 、 し た 。 こ ん な と こ ろ , 従 業 員 の 人 が 趣 味 て 、 プ ロ グ ラ ム を 置 い て あ り ま し た 。 何 に 使 う の か と 尋 ね た っ た ホ テ ル の カ ウ ン タ に ノ ー ト ノ ヾ ソ コ ン が 先 日 出 張 て 、 札 幌 に 行 っ た の て 、 す が , 泊 ま 間 は な く て も , 自 分 用 の プ ロ グ ラ ム は 意 外 と 短 時 間 て 、 て 、 き る も の て 、 す 。 こ の 連 載 て 、 例 と し て あ げ た ス ト ッ プ ウ ォ ッ チ プ ロ グ ラ ム ( ' 92 年 6 月 号 ) は , 実 際 に マ ラ ソ ン 大 会 て 、 各 走 者 の 着 時 間 を テ キ ス ト フ ァ イ ル に 落 と す 必 要 か ら 生 ま れ た も の て 、 , 簡 単 な 割 り に は 非 常 に 役 に 立 ち ま し た 。 金 種 計 算 プ ロ グ ラ ム ( ' 92 年 11 月 号 ) も , ず っ と 前 に 頼 ま れ て 別 の 言 語 て 、 作 っ た も の を C に 焼 き 直 し た も の て 、 す 。 最 近 は , 授 業 て 、 使 う プ ロ ジ ェ ク タ の 文 字 が 小 さ い の て 、 , 画 面 の 文 字 の 大 き さ を 2 倍 , 4 倍 な ど に す る プ ロ グ ラ ム を C て 、 ち ょ こ ち ょ こ っ と 作 り ま し た 。 PC -9801 用 グ ラ フ ィ ッ ク ス 基 本 ル ー チ ン 集 ( gr98. c ) 1 1 : 4 : 8 : 9 : 10 : 1 1 : 1 3 : 15 : 17 : 21 : 22 : 23 : #include く stdio. h> 2 : # i ncl ude く s td ⅱ b. h 〉 / * ex i t , a t ex i t * / 3 : #include く dos. h> #include "gr. h" 6 : # i f d e f i ned ( LS I ー C) #include く farstr. h> #define memset far #elif defined(__GNUC__) #include く string. h 〉 #else #include く string. h> / * fputc, fputs, stderr * / / * union REGS, int86 * / _memset / * GNU C * / / * Borland C, Microsoft C * / / * LSI C ー 86 * / #define memset fmemset 14 : #endif 16 : #if _MSC_VER 〉 ニ 700 #define far far 18 : #endif 20 : #if defined(__G032--) #define PLANEI ((unsigned char * ) 0XE00A800 の / * 青 プ レ ー ン * / #define PLANE2 ((unsigned char * ) 0XE00B0000 ) / * 赤 プ レ ー ン * / #define PLANE3 ((unsigned char * ) 0XE00B8000 ) / * 緑 プ レ ー ン * /

月刊 C MAGAZINE 1993年3月号


扱 っ て ほ し い 」 と い う ご 要 望 が あ り ま し た 。 チ ン gr98. c に 従 い ま す が , LSI C ー 86 試 食 gcc -c gr98. c と こ ろ が , ANSI/ISO の C 言 語 の 規 格 に も , 版 , BorIand C, Turbo C, MS-C, djgpp の よ う に 打 ち 込 み ま す 。 工 ラ ー メ ッ セ ー ジ 本 誌 ' 92 年 4 月 号 付 録 の LSI C ー 86 試 食 版 に も , の ど れ て 、 も ( た ぶ ん ) そ の ま ま コ ン パ イ ル て 、 が 出 な け れ ば , djgpp な ら gr98.0 , そ れ 以 外 グ ラ フ ィ ッ ク ス の た め の 関 数 が あ り ま せ ん 。 き る よ う に し ま し た 。 の コ ン パ イ ラ な ら gr98. obj と い う オ プ ジ ェ ク BASIC や LOGO を 学 ん だ 人 に は , こ れ が と gr98. c(List 1 ) は PC ー 9800 シ リ ー ズ 用 の グ ト フ ァ イ ル が て 、 き て い る は ず て す 。 こ れ て 、 て も 不 思 議 に 思 え る よ う て 、 す 。 ラ フ ィ ッ ク ス 関 係 の 関 数 を 収 め た も の て 、 す 。 gr98. c の コ ン パ イ ル は 完 成 て 、 す 。 昔 の パ ソ コ ン に は BASIC と い う イ ン タ ブ こ れ を コ ン パ イ ル す る に は , コ ン パ イ ル オ gr98. c は そ れ だ け て 、 は 実 行 て 、 き ま せ ん 。 リ タ 言 語 が オ マ ケ て つ い て い ま し た ( 今 て 、 も ン リ の オ プ シ ョ ン (-c) を つ け て , LSI C ー 86 グ ラ フ ィ ッ ク 機 能 を 利 用 し た い ほ か の プ ロ つ い て く る か も し れ ま せ ん 為 。 BASIC に 試 食 版 な ら グ ラ ム に リ ン ク ( 結 合 ) し て 使 う の て 、 す 。 は , 線 を 描 く LINE, 円 を 描 く CIRCLE な lcc -c [email protected]) gr98. c の 中 て 、 定 義 さ れ て い る 関 数 を 利 用 ど , い ろ い ろ な グ ラ フ ィ ッ ク ス 命 令 が 組 み djgpp な ら す る プ ロ グ ラ ム の 頭 に は , 込 ま れ て い ま し た 。 こ れ ら の 命 令 は 効 果 が 劇 的 な の て 、 , 学 校 な ど て 、 パ ソ コ ン を 教 え る 際 に は , よ く こ う い う 命 令 を 最 初 に 扱 っ た も の て 、 し た 。 こ の た め , BASIC よ り 優 れ て い る ( と 宣 伝 さ れ て い る ) C 言 語 て 、 こ ん な こ と も 簡 単 に て 、 き な い の は 不 可 解 だ と い う わ け C は 「 ソ ー ス コ ー ド を そ の ま ま 機 械 語 に 直 す 」 と い う コ ン パ イ ラ の 基 本 機 能 に 重 き を 置 い た 言 語 て 、 す 。 と こ ろ が , 「 円 を 描 く 」 と い う よ う な 命 令 に 対 応 す る 機 械 語 は , 機 種 に よ っ て ま っ た く 異 な り ま す 。 こ の た め , グ ラ フ ィ ッ ク ス 関 係 は C 言 語 て は コ ン パ イ ラ と 切 り 離 さ れ た 「 グ ラ フ ィ ッ ク ス ラ イ プ ラ リ 」 と い う 関 数 の 集 ま り て 、 実 現 す る こ と に な り ま す 。 グ ラ フ ィ ッ ク ス ラ イ プ ラ リ は , MS-C や B orland C の よ う な 市 販 の コ ン パ イ ラ に は た い て い つ い て い ま す が , そ の 仕 様 は 各 社 ま ち ま ち て 、 す 。 ま た , 残 念 な が ら LSIC ー 86 試 食 版 に は つ い て い ま せ ん 。 djgpp に は SVGA 用 の ラ イ プ ラ リ が つ い て い ま す が , 98 用 の ラ イ プ ラ リ は あ り ま せ ん 。 そ こ て 、 , 今 回 は 勉 強 の た め に 簡 単 な グ ラ フ ィ ッ ク ス ラ イ プ ラ リ を C 言 語 て 、 作 っ て み る こ と に し ま し よ う 。 対 応 機 種 は , 取 り あ え ず 私 の 持 っ て い る PC ー 9801 , J ー 3100 , そ れ に VGA 以 上 の IBM PC 互 換 機 ( い わ ゆ る DOS / V マ シ ン を 含 む ) に か ぎ ら せ て い た だ き ま す 。 仕 様 は 拙 著 ℃ 言 語 に よ る 最 新 ア ル ゴ リ ズ ム 事 典 』 ( 技 術 評 論 社 , 1991 年 ) 掲 載 の 基 本 グ ラ フ ィ ッ ク ス ル ー ヘ ッ ダ フ ァ イ ル g 「 . h ( 各 機 種 共 通 ) 2 1 : #ifndef GR_H 2 : #define GR-H 3 : 4 : #de f i ne XMAX 640 / * 横 ド ッ ト 数 * / 5 : #def i ne YMAX 400 / * 縦 ド ッ ト 数 (VGA な ら 480 に で き る ) * / 7 : / * 色 コ ー ド ( J ー 3100 で は BLACK 以 外 は す べ て 白 ) * / 8 : enum {BLACK, BLUE, RED, MAGENTA, GREEN, CYAN, YELLOW, WHITE} : 9 : 10 ・ void beep(void); / * 「 ピ ッ 」 と い う 音 を 出 す * / int dgetc(void); / * 1 文 字 入 力 ( キ ー が 押 さ れ て い な け れ ば の * / 12 : void hitanykey(void); / * キ ー を 押 す ま で 待 っ * / 13 : VOid gr-dot(unsigned int x, unsigned int y, unsigned int color); / * 点 を 表 示 * / 14 : void gr-off(void); / * グ ラ フ ィ ッ ク 終 了 * / 15 ・ void gr-on(void); / * グ ラ フ ィ ッ ク 開 始 * / 17 : #endi f / * GR-H * / グ ラ フ ィ ッ ク ス を 使 っ た プ ロ グ ラ ム の 例 test. c ( 各 機 種 共 通 ) ist 1 △ ワ ワ 0 ・ LO ー 8 0 リ 0 ・ 1 ワ 朝 ワ 0 4 LO 叮 ー 8 0 1 人 00 00 1 よ , 1 1 よ 1 よ 1 よ 1 人 1 人 1 よ 11 14 90 り 0 ワ 0 ワ 0 i n t i , gr-on(); for (c : BLACK; c く WHITE; c + + ) { for (i = 0 : i く 40 : i + + ) for (j = 0 : j く 40 ; j + + ) gr-dot (k + i , k + j , c) ; k + = 20 : for (c = WHITE; c 〉 ニ BLACK; c--) { for (i ニ 0 : i く 40 ; i + + ) for (j ニ 0 ; j く 40 : j + + ) g r -do t ( k + i , k + j , c ) : k + = 20 : hitanykey(); return 0 : 76 C MAGAZINE 1993 3

月刊 C MAGAZINE 1993年3月号


今 月 は ひ さ び さ の 図 形 の 問 題 。 と は い っ て も , 数 値 化 し や す い の て 、 そ れ ほ ど 解 き に く く は な い は ず ・ ・ 【 1 2 月 号 の ノ ヾ ズ ル 】 こ に 10 個 の 整 数 が あ る 。 仮 に 23 32 45 51 53 70 98 116 296 332 と し よ う 。 こ の 中 の 9 個 を 選 ん で 足 す と , 23 十 32 十 45 十 51 十 53 十 70 十 98 十 116 十 296 = 784 と な り , こ の 784 は 28 の 2 乗 , つ ま り 平 方 数 ( あ る 整 数 の 2 乗 に な っ て い る 整 数 ) で あ る 。 で は , ほ か の 9 個 で は ど う だ ろ う か 。 23 十 32 十 45 十 51 十 53 十 70 十 98 十 116 十 332 = 820 こ の 820 は 平 方 数 で は な い 。 さ て , 10 個 の 正 の 整 数 の う ち , ど の 9 個 を 選 ん で 合 計 し て も 平 方 数 に な る よ う な 10 個 の 数 の 組 み 合 わ せ の 中 で , 10 個 の 数 の 合 計 が い ち ば ん 小 さ く な る も の を 求 め よ 。 な お , こ の 10 個 の 数 は す べ て 異 な る 数 で な け れ ば な ら な い 。 正 解 は , 7 , 192 , 375 , 556 , 735 , 912 , 1087 , 1260 , 1600 , 1932 の 10 個 の 数 て 、 , 合 計 す る と 8656 て 、 あ っ た 。 皆 さ ん 数 式 を あ る 程 度 い じ っ て , 解 き や 12 月 号 の 解 答 156 C MAGAZINE 1993 2 さ て 今 回 は , 解 答 の 導 出 の ア プ ロ ー チ の ば 同 じ て 、 あ っ た 。 な か っ た よ う だ 。 式 の 変 型 方 法 も 皆 さ ん ほ 文 そ の ま ま に 検 索 し た 人 は さ す が に お ら れ す い 形 に 変 型 し て か ら 解 か れ て い た 。 問 題 引 マ は 第 24 回 数 々 の 事 情 吉 柄 貴 樹 仕 方 が 違 う お ふ た り , 高 橋 正 雄 さ ん と 横 川 洋 さ ん の 解 答 を 紹 介 す る 。 高 橋 さ ん と 同 じ 方 法 て 、 の 解 答 が 多 か っ た 。 高 橋 正 雄 さ ん の 解 答 ( プ ロ グ ラ ム は 付 録 テ ィ ス ク PUZZLEOI . C ) 10 個 の 正 の 整 数 を 直 接 求 め る の て 、 は な く , 条 件 を 満 た す よ う な 10 個 の 平 方 数 を 求 め る こ と を 考 え た 。 計 算 に よ り , 10 個 の 平 方 数 の 和 は 9 の 倍 数 て 、 あ り 一 一 ① , そ れ を 9 て 、 割 っ た も の が 10 個 の 正 の 整 数 の 和 S て 、 あ る こ と が わ か る 。 こ の S は 10 個 の 平 方 数 の い ち ば ん 大 き い も の よ り 大 き く な け れ ば な ら な い ② 。 ① , ② を 満 た す 10 個 の 平 方 数 の 平 方 根 を 求 め れ ば よ い の て 、 あ る が , 選 ぶ 数 に 制 限 が 加 わ る 。 選 ぶ 数 の 上 限 を k , 下 限 を 1 と す れ ば , 1 は 72k ー 204 の 平 方 根 ー ー ③ て 、 , こ の と き k は 87 以 上 ー ー ー ④ の 数 て 、 あ る 。 こ れ ら の こ と を 考 え れ ば , 難 し い ア ル ゴ リ ズ ム は 必 要 な い よ う だ 。 10 個 の 数 を 選 ぶ の に も , 上 限 と 下 限 と の 幅 が せ ま い の て 、 (k の 増 加 と 同 時 に 幅 も 広 が る が , 81 か ら 93 ま て 、 の 組 み 合 わ せ て 、 , 条 件 を 満 た す も の が ま す ひ と つ 見 つ か り , こ の と き す て 、 に S は 最 小 値 を 示 す ) , ど ん な プ ロ グ ラ ム て 、 も た い し て 時 間 は か か ら な い だ ろ う 。 こ て 、 は 再 帰 的 な 関 数 を 適 用 し た 。 な お , プ ロ グ ラ ム 中 S> (k 十 1) 2 に よ っ て , も っ と 小 さ い S を 考 え 得 る か ど う か を 判 以 下 に ① ~ ④ を 示 す 。 定 し て い る 。 2(s-n(i))=2k(i)2 と す れ ば 9s=Ek(i)2 s ー k (i) 2 = n (i) > 0 よ り k ( 0 ) = k (k (i) の 最 大 と な る 。 k と 87 k2 ー 90k 十 285 > 0 E(k—i)2>9k2 こ れ と ① , ② に よ り 2(k-i)2>2k(i)2 同 様 に 卩 > 72k ー 204 ( k ー 0 ) 2 十 .. 十 ( k ー 8 ) 2 十 卩 > 9k2 こ れ と ① , ② に よ り ( k ー の 2 十 .. 十 ( k ー 8 ) 2 十 卩 > 2k ( i ) 2 値 ) と す れ ば s > k2 値 ) と す れ ば ま た , k ー i と k (i) だ か ら k ⑨ = 1 (k (i) の 最 小 横 川 洋 さ ん の 解 答 コ ン ノ ヾ イ ラ Turbo C 十 十 2nd 使 用 OS MS-DOS Ver. 3.30D 使 用 機 種 PC ー 9801 NS/T 1 ず っ 増 や し て , ( b ー sum9 ) % 9 が 0 に な れ ば 初 期 設 定 し , 値 の 大 き い ほ う か ら 再 帰 的 に プ ロ グ ラ ム て 、 は 9 個 の 数 の c の 値 を 1 ~ 9 に す 。 ( b ー sum9 ) % 9 は 0 に な る は す て 、 す 。 引 い た 後 の 9 個 の 数 値 の 合 計 を sum9 と し ま す (c = 1 , 2 , 3. 値 は ( a 十 a ー c ) * c の 式 て 、 表 す こ と が て 、 き ま 小 の 数 を 引 き 算 し ま す 。 引 い た 後 の 9 個 の 数 最 小 の 数 を 除 い た 残 り の 9 個 の 数 か ら , 最 b の 平 方 根 を a と し ま す 。 算 し て b と し ま す 。 b は 平 方 数 に な り ま す 。 を 取 り 出 し , sum10 か ら そ の 最 小 の 数 を 引 き sum10 と し ま す 。 10 個 の 数 値 の 中 て 最 小 の 数 パ ズ ル の 条 件 を 満 た す 10 個 の 数 の 合 計 を ( プ ロ グ ラ ム は 付 録 デ ィ ス ク PlJZZLE02. C )

月刊 C MAGAZINE 1993年3月号


知 り た い 時 が 欲 し い 時 を ぶ 、 第 第 朝 み 当 第 、 第 」 を ら 製 義 呷 サ 情 ・ 報 ・ を ・ お ・ ・ が ・ し . ま ・ す こ ち ら の ハ ガ キ 蕉 お 申 し 込 さ い 。 MAGAZINE 広 告 資 料 請 求 シ ス テ ム 郵 使 は が き ー 0 8-0 コ ン ヒ 、 一 タ 関 達 2. 農 林 文 ・ 業 ・ 鉱 襄 3. 建 設 業 4. 製 造 5. 龠 村 ・ 売 り 6. 小 売 襄 7. 融 業 村 . 諸 界 ・ 保 強 襄 ! イ 、 勦 業 IO. 連 業 比 サ ー ビ ス 業 に . 公 務 ロ . 教 台 関 係 日 . 療 関 係 ソ 2 東 . 放 送 ・ 出 版 川 . そ の 他 1804 ( 強 種 ) I. 企 襄 営 れ 2. 商 1'. サ ー ビ ス ・ 自 営 3. 理 職 の ・ 門 職 5. 技 術 職 広 出 ト . 6. 事 務 7. 版 売 員 8. サ ー ビ ス 織 9. 牧 師 川 . 学 生 Ⅱ . そ の 他 差 出 有 効 期 間 1 3 港 告 版 く 、 ( 主 に 使 用 す る コ ン ビ ュ - タ ) 円 年 8 月 引 日 ま で 営 事 ク s 高 代 -9 ル / 高 輪 業 業 株 部 部 ・ 求 し た い 番 号 を 選 び A ・ 日 ・ c の 希 望 の 項 目 に 0 印 を 付 け て 下 さ い 。 行 ( ( ^. カ タ ロ グ 送 付 希 甲 . B. 直 接 設 明 を 聞 き た い . c. 購 人 希 ) ポ ー ラ ン ド ジ ャ パ ン 0 8 C 185 ・ ・ 新 シ ス テ ム リ ン ク A 8 C F03 ・ エ ル エ ス ア イ シ ・ ヤ 第 、 ン 0 8 C 186 ・ ・ ラ ン ハ ー ド A 8 0 81 ・ ・ ナ ッ ク ゾ フ ト & サ ー ビ ス A 8 C 187 ・ ・ 富 に ゾ フ ト ウ ェ ア A 8 C CSI) A 8 C 301 ・ " 電 気 書 A 8 C " ヒ ・ ツ ト ラ ン A 0 C 302 ・ ・ マ グ 。 ウ ヒ ル 出 版 A ー B 0 ・ ・ 富 ー セ 。 ッ 叫 ン ス テ ム A'B.C 303 朝 : 日 ッ フ ト ウ ェ ア ! 0 8 、 C 。 304 85 ・ ・ ト ッ 第 、 ン A 8 175 ・ ・ ラ イ ッ フ ス 0 B C 305 A B ・ ア ー セ ル A ー 8 C 190 ・ ビ レ ッ ジ セ ン タ ー A 8 ・ な マ イ 加 コ ン ヒ ュ ー 廴 A 0 C ・ 195 179 ・ ・ 事 ナ レ っ シ ・ ッ ク ス 180 ・ ・ ・ ツ ー ル ク ラ フ ト A 8 0 ー 96 ・ ・ ア フ リ ッ ク ス A B 181 ・ ・ エ , ・ エ - ・ い ェ ん : , 1 ン , A 8 0 7 ー ・ 〒 ト ・ れ ン ド 十 - た 冫 ト : ー : ! A 8 182 ・ 日 イ 、 冫 ス ナ ム A B C 85 ・ ・ ヤ ッ カ 商 脊 A B 183 " ・ 仕 な セ わ し ス 間 望 A 8 C 99 ・ ・ ・ 幟 報 れ 理 新 A B ツ ー テ ッ A B C 料 金 受 取 人 払 広 告 を こ 覧 に な っ て 、 よ り 詳 し い 製 品 内 容 を 知 り た い 、 直 接 商 品 説 明 を 聞 き た い 、 商 品 を 購 入 し た い ・ 。 そ の よ う な こ 要 望 を お 持 ち に な っ た 方 は 、 こ の 広 告 資 料 請 求 シ ス テ ム を こ 利 用 下 さ い 。 ス ピ ー テ ィ に 、 広 告 主 か ら ノ ヾ ン フ レ ッ ト 等 こ 要 望 に 基 づ い て 情 報 提 供 が 受 け ら れ ま 魂 本 誌 と じ 込 み の 広 告 資 料 請 求 カ ー ト に 、 必 要 事 項 を こ 記 入 の 上 、 こ 投 函 下 さ い 。 広 告 資 料 請 求 カ ー ド 高 局 認 0 、 い z 4 月 号 こ の カ ー ト の 有 効 期 限 盟 年 6 月 慴 日 ま て て す . 名 ね こ 年 齢 0 03 創 / 36 タ ー 都 区 高 愉 - / 9 ・ / 3 ソ 7 ト バ 、 ン ク 04.) 5. 送 付 先 書 応 用 技 術 派 印 を 付 け ) 物 務 先 て く た さ い , 広 告 主 広 告 主 広 告 主 ・ 広 告 資 料 請 求 番 号 は 各 頁 の 下 欄 に ・ 氏 名 の フ リ カ ナ 、 電 話 番 号 、 こ 住 己 し て あ り ま す 。 所 の 番 地 ま て 、 正 確 に こ 記 入 下 さ ・ 広 告 資 料 請 求 カ ー ド は 、 お 手 数 で い 。 資 料 か 正 し く お 届 け 出 来 な い 宛 名 シ ー ル を 提 供 場 合 も こ ざ い ま す 。 も 全 項 目 に こ 記 入 下 さ い 。 ソ フ ト ^ ン ク 株 式 会 社 SOFT BANK 〒 8 東 京 都 港 区 高 輪 2 一 円 - ロ N s 高 輪 ビ ル 〒 / 0 8 ]. 会 社 名 資 料 送 付 ・ 自 宅 ソ フ ト バ ン ク 出 版 事 業 部 一 三 ロ

月刊 C MAGAZINE 1993年3月号


画 ・ か な っ ス よ ー し 夫 々 の に 素 ら し し ) ソ 7 ト 不 売 リ 出 そ ク で ま ね て は 、 さ ? も く し ) ら ん い ら ん び SP7 。 ロ テ ク ト を も ん / ユ ニ ッ ト 乙 使 1 も 余 訐 経 を コ 一 し 防 止 使 う ち な い / し ま し う 。 モ ニ タ 募 集 綴 じ 込 み 葉 書 で ご 応 募 く だ さ い BORLAND C 十 十 Ver. 3. O Classic Window 提 供 : ボ ー ラ ン ド ( 株 ) 1 名 提 供 :bit union TEL 03 ( 5350 ) S370 TEL 0265 ( 82 ) 3087 そ し て - ら わ あ あ こ oP や ら れ た か ら び SP7 デ ク ト ュ ニ 、 、 / ト を 使 み う , て ミ 1 の に ち せ る ゖ “ 2 名 こ 0 P 0 BORLAND 0 + & = u wo 朝 。 ル / い 当 八 ー 臥 5 第 第 、 す 靆 の い 嚇 謝 ー 0 第 一 A 物 0 DOS 環 境 ・ Windows 環 境 の 両 方 に 対 応 し た プ ロ 仕 様 の MS-C, Turbo C に 対 応 し た ウ イ ン ド ウ シ ス テ ム ラ イ プ C & C 十 十 コ ン パ イ ラ ラ リ ( PC -9801 シ リ ー ズ 対 応 ) 『 COMPUTER LANGUAGEJ CLASS AURORA 提 供 : 日 立 コ ン ピ ュ ー タ 工 ン ジ ニ ア リ ン グ ( 株 ) 2 名 2 名 提 供 : C マ ガ ジ ン 編 集 部 TEL 045 ( 474 ) 9650 BorIand C 十 十 Ver. 3. 0 , Turbo C 十 十 Ver. 1.0 , MS-C/C 十 十 Ver. 7.0 対 応 の ク ラ ス ラ イ プ ラ リ ・ 応 募 の 注 意 ◇ 綴 じ 込 み の 葉 書 に 必 要 事 項 ( ア ン ケ ー ト の 効 と さ せ て い た だ き ま す 。 回 答 , 住 所 , 氏 名 , 電 話 番 号 , 希 望 モ ニ タ ◇ モ ニ タ に 選 ば れ た 方 は 6 カ 月 の モ ニ タ 期 間 番 号 ) を 明 記 の う え こ 応 募 く だ さ い 。 中 に 2 回 の モ ニ タ レ ホ ー ト を こ 提 出 し て い ◇ 記 入 も れ や モ ニ タ 番 号 が 複 数 記 入 さ れ て い た だ き , 編 集 に こ 協 力 願 い ま す 。 る 場 合 , 綴 じ 込 み 葉 書 以 外 で の こ 応 募 は 無 ◇ 締 め 切 り は 3 月 18 日 必 着 で す 。 ① Programming on Purpose 「 PiIed higher and d 」 ⑩ 三 田 典 玄 の ラ ン ダ ム ア ク セ ス ② 提 携 記 事 「 エ レ ガ ン ス の 追 求 」 ⑩ Dr. 望 洋 の プ ロ グ ラ ミ ン グ 道 場 ③ 提 携 記 事 「 エ ラ ー を catch せ よ 」 ⑩ C 言 語 雑 学 講 座 ④ BOOk Review ⑩ X68k 活 用 講 座 じ 葉 書 裏 面 の ⑤ フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト ⑩ ワ ン ポ イ ン ト プ ロ グ ラ ミ ン グ 講 座 記 事 評 価 ア ー ト @Conference Room 「 GNU プ ロ ジ ェ ク ト の ~ 」 ⑥ 特 集 「 正 規 表 現 の す す め 」 に は 右 記 の を ご ⑦ 実 践 ア ル ゴ リ ズ ム 戦 略 解 法 の テ ク ニ ッ ク ⑩ 最 新 環 境 開 発 レ ポ ー ト 「 BRABO FACE 」 ⑧ 実 践 C プ ロ グ ラ ミ ン グ 入 門 @News square 記 入 く 、 。 @フ ィ ン ロ ー ダ の あ つ ば れ ご 意 見 番 ⑨ 新 MS - DOS プ ロ グ ラ ミ ン グ 入 門 ⑩ Try The C 十 十 C マ ガ 電 脳 ク ラ ブ 丹 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ ⑩ C 言 語 フ ォ ー ラ ム ⑩ プ ロ グ ラ ミ ン グ の 工 ッ セ ン ス @lnformation from Compiler Makers ー し 、 し ) つ こ し の な し ) よ ウ に 5 0 を 了 WA R 石 を NG ー NE 用 NG JSP AX NOV. ・ NEC PC -9801 シ リ ー ズ ( ラ ッ プ ト ッ プ 機 を 除 く ) ・ ソ フ ト ユ ニ ッ ト 装 着 数 最 大 1 5 個 ・ 消 費 電 流 十 5V 50mA MAX. ・ ボ ー ド タ イ プ ・ プ リ ン タ ー ポ ー ト タ イ プ ー パ ソ コ ン 用 ア プ リ ケ ー シ ョ ン ソ フ ト の 著 作 権 、 使 用 権 を 保 護 す る た め の ハ ー ド プ ロ テ ク ト て 、 す 。 ■ ソ フ ト ウ ェ ア ユ ー ザ の バ ッ ク ア ッ プ コ ヒ 。 ー は 自 由 て す 。 本 器 は ソ フ ト ウ ェ ア 製 作 ・ 販 売 元 を 対 象 と し た 製 品 で す 。 問 合 せ 0482-61- ロ 041 代 コ ン ビ ュ ー タ 計 測 ・ 制 御 シ ス テ ム 厩 十 条 電 子 株 式 会 社 〒 333 埼 玉 県 川 口 市 小 谷 場 Ⅱ 幻 く 資 料 請 求 番 号 166 〉 166 C MAGAZINE 1993 3 JSP BASE UNIT

月刊 C MAGAZINE 1993年3月号


-access な 場 ) に , standard な テ ク ノ ロ ジ と し て , 全 員 の 自 由 な 発 言 や 提 案 な ど を 基 と し て ( = オ ー プ ン な 議 論 に 基 づ き ) , 何 が 形 成 さ れ て い く か て 、 あ る 」 。 た と え ば , な ぜ 、 、 優 秀 な 〃 A 社 や B 社 の OS を と ら ず に , UNIX を と る か 。 そ れ は , 、 、 UN IX は み ん な て 、 オ ー プ ン に 作 っ て き た も ん や 〃 と い う 認 識 が あ る か ら て 、 し よ う 。 UNIX の 基 本 ア イ デ ア は Ken Thompson 個 人 の も ん や し , い ろ ん な 優 れ た シ ス テ ム コ ー ル や ユ ー テ ィ リ テ ィ 類 ( コ マ ン ド 類 ) は , い ろ ん な 人 の コ ン ト リ ビ ュ ー シ ョ ン て 、 出 来 て き た も ん や か ら , AT&T/USL と い う 単 独 企 業 が 著 作 権 や パ テ ン ト を 主 張 す る の は 無 理 と い う 見 方 も あ る 。 も し も , AT&T/USL が UNIX に 対 し て 完 全 な 企 業 私 権 を 主 張 し た い の な ら , こ れ ま て 、 の UNIX の 生 成 史 に コ ン ト リ ビ ュ ー ト し て き た い ろ ん な 人 び と と , 個 々 に , き ち ん と , 何 ら か の 有 償 契 約 を 結 ば な あ か ん て 、 し よ う 。 て 、 も そ ん な こ と は , 物 理 的 に も 不 可 能 だ っ せ 。 open て 、 public な も ん と し て 充 実 し た 蓄 積 が あ る と , い ろ ん な 意 味 て 、 社 会 の 生 産 性 は 高 い の て 、 す 。 ひ る が え っ て , 日 本 の 技 術 社 会 は ど う か 。 日 本 語 処 理 て 、 も , あ る い は 他 の 何 て 、 も え え け ど , た と え ば 企 業 T が す ご く 高 度 な 開 発 を や っ て お り ま す 。 そ の テ ク ノ ロ ジ は , T 社 の t と い う 製 品 に , プ ラ ッ ク ポ ッ ク ス と し て 実 装 さ れ て お り ま す 。 わ れ わ れ は , そ れ に つ い て , 何 を 知 っ て い ま す か 。 何 も 知 り ま せ ん 。 た だ , 製 品 t の ュ ー ザ / 消 費 者 と し て , そ の proprietary な テ ク ノ ロ ジ の 恩 恵 に 与 か る だ け ど す 。 同 様 の 製 品 , た と え ば S 社 製 の s に も , 類 似 の テ ク ノ ロ ジ が 盛 り 込 ま れ て お る よ う て 、 す が , そ れ に つ い て も , わ れ わ れ は 何 も 知 り ま せ ん 。 98 C MAGAZINE 1993 3 つ ま り , 日 本 社 会 に は , open て 、 standard な も の と し て は , 高 度 な も の が 何 も あ り ま せ ん ( た と え ば , 私 の 連 載 の 中 止 に 代 わ っ て , S 社 や T 社 の 人 が 自 分 た ち の テ ク ノ ロ ジ に つ い て オ ー プ ン に お も し ろ い 記 事 を 書 い て く れ た わ け て 、 は な い ) 。 こ の 事 情 が , ア メ リ カ 等 と の ソ フ ト ウ ェ ア 技 術 の 格 差 を 幾 何 級 数 的 に 拡 大 さ せ つ つ あ り ま す 。 個 々 の 技 術 者 は , い っ て 、 も , 、 、 今 自 分 が や っ て い る こ と だ け に 夢 中 〃 て 、 す か ら , そ う い う こ と は 意 識 し な い て 、 し よ う け ど ね 。 て 、 も , そ う い う 日 本 人 技 術 者 て 、 も , と き ど き は , 日 本 に お け る 「 共 通 基 盤 」 の 薄 さ に 寒 け を 感 じ る ん じ ゃ な い ? 若 い と き の 私 自 身 も そ の 一 人 て 、 し た が , 、 、 安 い 労 賃 て 、 使 い 捨 て さ れ る 肉 体 労 働 的 翻 訳 者 ク の と こ ろ に , と き ど き , ア メ リ カ の 各 種 standard 文 献 の 翻 訳 の 仕 事 が 回 っ て く る こ と が あ り ま す 。 発 注 者 は 日 本 の 大 企 業 て 、 す 。 だ か ら , 極 端 に 言 え ば , standard 文 献 A の 日 本 語 へ の 翻 訳 を , T 社 , S 社 , M 社 等 々 が , そ れ ぞ れ 独 自 に さ せ る の ど す 。 安 い 翻 訳 料 金 て 、 , 印 税 と い う メ リ ッ ト も な く 仕 事 を す る 肉 体 労 働 的 翻 訳 者 も 気 の 毒 だ す け ど , そ も そ も 日 本 と い う ひ と つ の 小 さ な 国 の 中 て 、 , ひ と つ の 文 献 に 対 し て , そ ん な に 何 通 り も の 訳 が し か も 非 公 開 に 行 な わ れ る な ん て 無 駄 ど す わ 。 こ の パ ラ グ ラ フ の , こ れ 以 降 は 半 分 冗 談 半 分 真 実 て 、 す け ど , こ う や っ て 日 本 の 企 業 が そ れ ぞ れ 独 自 に , ア メ リ カ な ん か の 標 準 規 格 文 書 の 翻 訳 を や ら せ る の は , そ う い う 標 準 規 格 を 勝 手 に ね じ 曲 げ た , あ る い は 無 視 し た 製 品 を 実 装 す る た め て 、 す 。 日 本 て 、 は , standard 文 献 が な か な か publ ish さ れ な い , つ ま り publicly available に な ら な い ん て 、 す 。 本 誌 は い や し く も ( ? ) C プ ロ グ ラ ミ ン グ の 雑 誌 て 、 す か ら , C に つ い て み て も , ANSI C の 標 準 規 格 文 書 ( ANSI X3.15 9 ー 1989 ) の 日 本 語 訳 は , 原 文 献 が 本 国 て 、 出 版 さ れ て か ら 3 年 以 上 も 経 っ た 今 , ま だ ど こ か ら も 発 行 さ れ て い ま せ ん よ 。 発 行 さ れ る , と い う 噂 も 聞 い た こ と が な い 。 し か し , T 社 , S 社 等 が 、 、 独 自 に 〃 翻 訳 を や ら せ て い る 可 能 性 は あ る の て 、 す 。 OMG (Object Management Group) の 中 心 人 物 の イ ン タ ビ ュ ー 記 事 が 2 ~ 3 号 前 の 本 誌 に 載 り ま し た ( 本 誌 ' 92 年 10 , 11 月 号 「 巻 頭 イ ン タ ビ ュ ー 」 ) け ど , OMG が ま と め た stan dard 文 献 て 、 あ る CORBA (Common Object Request Broker : Architecture and Speci fication) は , 日 本 語 訳 が ど こ か か ら 出 る の て 、 し よ う か 。 た ぶ ん , ど こ か ら も 出 な い て 、 し よ う 。 そ し て や は り , 幾 つ か の 企 業 が 、 、 独 自 に 〃 翻 訳 を や ら せ る こ と に な る の て 、 し ょ フ 。 こ の ほ か , POSIX は ど う か , ANSI の Ob j ect lnformati on M anagement Standard は ど う か , ISO や CCITT や IEEE, DOD な ど 。 重 要 性 の 高 の 各 種 standard は ど う カ い standard な い し 準 standard 文 献 は , ま だ ま だ た く さ ん あ り ま す 。 う ん と 古 い と こ ろ て 、 は , た と え ば RS ー 232 C の 規 格 原 本 な ん か も , 私 , 日 本 語 の 本 と し て は 見 た 記 憶 な い な あ ・ ・ SCSI は 最 初 の 規 格 て 、 あ る 1 の 規 格 書 原 本 が , え ら い 値 段 の 高 い 訳 本 と し て , ど こ か か ら 出 て お っ た け ど 。 つ ま り , 日 本 に は , public な も の を た い せ つ に 高 度 に 育 む , public な も の を 充 実 さ せ て い く と い う 意 識 が 欠 如 し て い る の て 、 あ る 。 個 々 の 私 企 業 さ え 良 け れ ば よ い の 意 識 。 余 談 て 、 す が , 企 業 な ど が 安 い 料 金 て 、 や ら せ る , そ し て ( い ち ば ん か ん じ ん な こ と て 、 す が ) 「 一 般 公 刊 を 前 提 と し て の 編 集 」 と い う 厳 密 な 作 業 が 介 在 し て い な い 翻 訳 文 献 は 粗 悪 な も の に な り が ち な の て 、 す 。

月刊 C MAGAZINE 1993年3月号


C 十 十 入 門 講 座 山 本 浩 文 ・ 白 倉 伸 一 郎 The ◆ 第 回 ク ラ ス ラ イ プ ラ リ ( そ の 2 ) コ ン テ ナ ク ラ ス ラ イ プ ラ リ の 活 用 前 回 の 予 告 ど お り , 今 回 は ア ー カ イ バ の 開 発 を 進 め な が ら TC 十 十 / ~ BC 十 十 の コ ン テ ナ ク ラ ス ラ イ プ ラ リ を 勉 強 し ま す 。 コ ン テ ナ ク ラ ス ラ イ プ ラ リ を 利 用 し て プ ロ グ ラ ム を 作 れ ば , 理 解 も 進 み , ク ラ ス ラ イ プ ラ リ の 達 人 に 一 歩 近 づ け る こ と で し よ う 。 プ ラ 子 : 「 複 数 の フ ァ イ ル を ひ と つ に ま と ル ー ガ 』 の 主 人 公 が ウ ゴ ウ ゴ と ル ー ガ て 、 あ め る 書 庫 プ ロ グ ラ ム の 総 称 』 よ 。 ち な る よ う に , コ ン テ ナ ク ラ ス ラ イ プ ラ リ の 主 み に 出 典 は 『 パ ソ 単 ・ 基 礎 用 語 / 月 刊 A 人 公 は こ の Container ク ラ ス て 、 あ る と い え ま コ ン テ ナ ク ラ ス ラ イ プ ラ リ と は , 前 回 も SCII を 256 倍 使 う た め の 本 Vol.6 』 月 刊 す 。 ま さ に , タ イ ト ル ロ ー ル と い う や っ て 、 紹 介 し た よ う に い く つ か の 要 素 を ま と め す 。 ア ス キ ー 編 集 部 編 ( ア ス キ ー ) ね て 保 持 し ・ 管 理 す る た め の ク ラ ス 群 を 基 本 配 列 と 線 形 リ ス ト と て 、 は 概 念 が 違 う し , と す る ク ラ ス ラ イ プ ラ リ て 、 す 。 た と え ば 「 L イ ン タ フ ェ イ ス も 異 な る の が 当 然 て 、 す が , あ ー こ ら こ ら 。 い き な り 他 誌 の 付 録 を 持 ist 」 や 「 DoubleList 」 , 「 Array 」 と い っ た 連 中 要 素 の 削 除 や 繰 り 返 し 処 理 と い っ た お も だ し か し ま あ , そ う い う こ と ち 出 し て ・ ・ っ た 基 本 機 能 に 関 し て は , 基 本 ク ラ ス C 。 nt て 、 す 。 有 名 ど こ ろ て 、 は ar や tar が そ う だ し , が 主 要 な メ ン バ て 、 す 。 付 録 デ ィ ス ク て 、 お な じ み の LHA な ど も , 圧 標 準 ラ イ プ ラ リ と は 別 個 に ,TCLASS?. L ainer の 段 階 て 、 イ ン タ フ ェ イ ス が 統 一 さ れ て 縮 ア ー カ イ バ と 呼 ば れ る ア ー カ イ バ の 一 種 IB と い う 名 前 の ラ イ プ ラ リ フ ァ イ ル に ま と い ま す 。 そ の お か げ て 、 , Container の イ ン タ て 、 す 。 フ ェ イ ス に 慣 れ て し ま え ば , 新 し い コ ン テ め ら れ て い ま す 。 こ れ を リ ン ク す る こ と に ナ ク ラ ス に 出 く わ し て も , う ろ た え る 必 要 よ っ て , そ の 豊 富 な 機 能 を 利 用 す る こ と が ~ 第 1 段 階 て 、 き る よ う に な り ま す 。 は あ り ま せ ん 。 何 し ろ お 里 は 知 れ て い ま す 。 ー カ イ バ の 基 基 本 の イ ン タ フ ェ イ ス に 対 し て , ど こ が ど ク ラ ス 階 層 は , 前 回 見 た と お り て 、 す が , 最 低 限 押 さ え て お か な け れ ば い け な い 超 大 う 拡 張 さ れ て い る の か さ え 教 え て も ら え れ ア ー カ イ バ が ま と め た フ ァ イ ル の こ と を ア ー カ イ プ と 呼 び ま す 。 ば , そ れ だ け て 、 理 解 す る に は 十 分 て 、 す 。 物 ク ラ ス が ふ た つ あ り ま す 。 要 は , Array や List ク ラ ス て 、 す 。 こ の ふ た も っ と も 簡 単 な ア ー カ イ プ の 構 造 は , Fi ま ず , Object ク ラ ス 。 こ れ が ウ ル ト ラ ス つ の ク ラ ス の 仕 様 さ え 頭 に 叩 き こ ん て 、 お け g. 1 の よ う な も の て 、 す 。 ヘ ッ ダ , 中 身 , ヘ ッ ー 基 本 ク ラ ス て 、 す 。 コ ン テ ナ ク ラ ス ラ ば , も は や コ ン テ ナ ク ラ ス ラ イ プ ラ リ の 達 イ プ ラ リ を 筆 頭 と し て , ObjectWindows や ダ , 中 身 の 繰 り 返 し て 、 す 。 ヘ ッ ダ に 収 め ら TurboVision な ど , TC 十 十 /BC 十 十 の 便 利 人 も 同 然 て 、 す 。 マ ニ ュ ア ル と ヘ ッ ダ フ ァ イ れ て い る サ イ ズ 分 だ け シ ー ク す れ ば , 次 の な ク ラ ス ラ イ プ ラ リ 群 は , す べ か ら く Obje ル を じ っ く り 眺 め て く だ さ い ヘ ッ ダ に 出 く わ し ま す 。 こ の よ う に し て , ct べ ー ス て 構 築 さ れ て い る と 考 え て い い て 、 し て 、 は さ っ そ く , 本 題 に 入 る こ と に し ま し ヘ ッ ダ の リ ン ク を た ど る こ と が て 、 き ま す 。 よ う 。 こ れ を 攻 略 せ ず し て , ク ラ ス ラ イ プ DOS の MCB リ ン ク な ど と 同 様 の 考 え 方 て 、 お 題 は 「 ア ー カ イ バ 」 て 、 す 。 ラ リ の 制 覇 は あ り え ま せ ん 。 ま さ に 文 字 ど す 。 お り , 基 本 中 の 基 本 と い え ま す 。 こ れ よ り は も う 少 し 複 雑 に な っ て い る に 次 に , Container ク ラ ス 。 『 仮 面 ラ イ ダ ー 』 C 子 . ア ー カ イ バ っ て 何 ? し て も , ア ー カ イ バ は 一 般 に こ の よ う な 構 の 主 人 公 が 仮 面 ラ イ ダ ー て 、 あ り , 『 ウ ゴ ウ ゴ ・ ぶ ら な り あ . ぶ ら ぶ ら ? 造 を 持 た せ て い る こ と が 多 い よ う て 、 す 。 お き ら ぐ ご く ら く ! 88 C MAGAZINE 1993 3

月刊 C MAGAZINE 1993年3月号


円 羽 信 夫 、 、 た プ ロ グ ラ ミ ン グ 吉 夫 君 の ゲ ー ム ( そ の 15 ) イ ラ ス ト / 山 形 彰 吾 List mouke. C ロ バ ー ト ・ 佐 々 木 氏 は , 私 の ご 近 所 の 方 で , す で に 年 齢 70 を 越 え , 現 在 は 現 役 引 退 の 身 で あ る 。 氏 は , 2 年 前 の 夏 ま で は パ ソ コ ン を ワ ー プ ロ と し て 使 う 経 験 は あ っ た も の の , プ ロ グ ラ ム の な ん た る か は ま っ た く 知 ら な か っ た 人 物 で あ る 。 そ あ ロ バ ー ト 氏 が , 92 年 初 頭 に C 言 語 の マ ス タ ー を 決 意 し , 以 後 , 私 ( 丹 羽 ) と ミ ス テ リ ア ス な C 文 通 を 始 め た 。 そ の 文 通 は 今 で も 続 い て い る 。 さ て , 今 月 も ロ バ ー ト 氏 か ら 手 紙 が 届 い て い る 。 さ っ そ く だ が , 見 て み る こ と に し い や あ , 丹 羽 君 引 最 近 は 元 気 か ? わ っ は つ は 。 と こ ろ で 本 題 だ が : 最 近 の 小 生 が 凝 っ て い る も の と し て , C 言 語 以 外 に , 競 輪 , オ ー ト レ ー ス , 競 艇 が あ る 。 競 馬 は や っ と ら ん が , ま あ , C 言 語 は と も か く と し て , ほ か は 全 部 ギ ャ ン プ ル し か も , な に を か く そ う , 資 金 は 退 職 金 の 蓄 え な の だ か ら う ら や ま し か ろ う 。 と , い う も の の , 本 当 の と こ ・ ろ は , だ い ぶ ス っ て し ま っ た 。 こ い つ は , ば あ さ ん に は な い し ょ だ ぞ 。 さ て , 今 月 の 小 生 の 作 成 プ ロ グ ラ ム は , ギ ャ ン プ ル で 掲 示 板 に 発 表 さ れ る 払 い 戻 し 金 か ら 自 分 の 獲 得 金 額 を 計 算 す る プ ロ グ ラ ム だ 価 ouke. c ) 。 い つ も い つ も 有 用 な プ ロ グ ラ ム ば か り で は 飽 き る だ ろ う が , 笑 納 い た だ け れ ば さ い わ い だ 。 金 額 が 億 を 越 え る 可 能 性 も あ る と み て , ー 一 変 数 を long に し て お い た が , 今 の と こ ろ int で 用 が 足 り て し ま う の が , わ ず か に さ み し い 。 な お , コ メ ン ト が 入 っ て い な い が 必 要 も な か ろ う 。 ロ バ ー ト ・ 佐 々 木 追 伸 : お っ と , い い 忘 れ た 。 今 後 の 目 標 と し て , ギ ャ ン プ ル に C 言 語 を 利 用 し て ひ と も う け を 狙 う 。 い わ ゆ る ハ イ テ ク 活 用 ギ ャ ン プ ル だ 。 基 本 は 、 、 男 は 1 : # i ncl ude く s td i 0. h 〉 3 : main() long haraimodosi : long touhyou, int atari; printf(" 払 戻 金 は ?>");scanf("%ld",&haraimodosi); printf(" 投 票 し た 金 額 は ?>");scanf("%ld",&touhyou); printf(" あ た っ た ら 1, は ず れ た ら 0 を 入 力 >");scanf("%d",&atari); if (atari==l) printf(" 獲 得 ニ%届 円 %n", haraimodosi*touhyou/l() の : else printf(" 損 失 =%d 円 %n", touhyou); List space. C ホ フ を オ ル 示 カ キ / 節 ド る 行 ン * 調 一 れ 飛 ン ヨ し ョ フ 標 の コ 入 の ア シ オ 座 さ の を 船 リ ク レ ル ク 速 一 標 宙 ク ン ソ ソ ン の の キ 座 宇 船 ム O >< の カ フ 画 フ カ 宙 一 の 分 宇 ゲ 敵 自 L.0 1 ー 0 ・ っ 0 0 X X ト し O ー ー ー し ( し ワ 朝 O 0 + し ↓ し ↓ ー 》 ↓ ・ し / ・ ` 0 0 4 し ・ ー ・ 十 し 0. 0. ・ 0 奮 ー 1 人 り 乙 り 0 -4 ・ 「 ー 8 0 リ 0 ワ ワ 0 -4 ・ ^ 0 t•— 8 0- 1 よ ワ レ り 0 ・ 4 ・ c_D 「 ー -8 一 0 ー ー ワ 」 ワ 0 4 ・ っ ー 8 0 ー 1 ワ っ 0 ・ 1 ー 8 0 ひ 01 ー ワ 0 00 ・ - ヘ リ れ し ー 8 0 / * 適 当 に 時 間 稼 ぎ を す る * / / * 時 間 稼 ぎ に t i me ( ) を 使 っ た け ど , 別 に な ん で も い い . / * 宇 宙 船 本 体 の 左 の 1 個 分 の 半 角 ス ペ ー ス の / * こ れ は を 宇 宙 船 の ロ ケ ッ ト の 炎 の つ も り . / * ゲ ー ム の 初 期 設 定 の 一 部 を 行 う * / ふ ん だ け 座 標 を ず ら し て い る * / 宇 宙 で 炎 が 出 る の か な . * / / * 宇 宙 船 の X 座 標 * / / * ゲ ー ム オ ー パ ー の あ と の 不 必 要 な キ ー 入 力 を 受 け る * / / * 初 期 設 定 の 一 部 * / 160 C MAGAZINE 1993 3