システム - みる会図書館


検索対象: 月刊 C MAGAZINE 1993年10月号
66件見つかりました。

1. 月刊 C MAGAZINE 1993年10月号

な違いは少ない。日本語対応は , plainTe X の日本語化のためのマクロを用いればよ マニュアルは nhe Joy of TeX ー A G ourmet Gui de tO Typesetting with the A MS-TeX Macro Package", M. D. Spiva k, American Mathematical Society, 1986 年 , 解説書としては「もっと AMS-TeX 』 ( 野寺隆志 , 共立出版 , 1991 年 ) がある。 AMS-LaTeX は , AMS-TeX の機能を L aTeX て実現したものて , フォントの選択に 新しい方式を採用している。日本語を扱う にはパッチが必要て、ある。 LAMSTeX は , AMS-TeX に , LaTeX の 便利な点を取り入れたものて、 , AMS-TeX の作者の Sp ⅳ ak が作ったもの。最初はフリ ーて、はなかったが , 現在はフリー ( マニュア ルは有料 ) 。 PicTeX は図を描くための ,SliTeX は OH P の原稿を書くためのマクロて、ある。 LaTeX と plain TeX (AMS-TeX) の違い は , パソコンて、いえば , Macintosh と IBM -PC, コンパイラていえば , Pascal と C のよ うなものて、あろう。初めて使うときは , La TeX のほうが使いやすい。しかし , ある部 分を標準と少し変えたい ( たとえば行列や式 の中のある部分を少し動かす ) とか , 指定さ れたフォーマットの文書を作成しよう , な どというときは , plain TeX のほうがやりや すい場合もある。 ( 画面て文書を見る ) とプリンタドライバて、 す。これらは , 出力機器やコンピュータな どのハードに依存するのて、 , 多くの種類が 存在します。プリンタドライバは , ドット マトリクスプリンタ用 , レーザプリンタな どの高解像度ページプリンタ用 ( そのほか , 電算写植機用 ) などがあります。 PC ー 9801 て使う場合て、アスキー日本語 Te 1 3 10 X に対応し , フリーに使用て、きるものの例を 44 C MAGAZINE あげてみます。 dviout/dviprt d ⅵ out はプレビューア , dv iprt はプリンタドライバて、ある。高速かっ多 機能てある。 J ー 3100 , AX, DOS/V 版など もある 0386BSD や Minix などへのパッチを 当てたものも存在するようてある。 lips3dvi/escpdvi NS プランニングの長原氏 により作成されたものて、 , LIPSIII, および ESC/Page 専用のデバイスドライバ。使われ る欧文フォントは , 使わない文字も含めて すべてダウンロードする ( それがて、きない場 合は , EMS に展開しておく ) ため起動に若干 時間がかかること , また , プリンタ側のメ モリが十分にないと快適に印字てきないし , そのときはパソコン側に EMS が十分なけれ ば使用て、きないことが欠点て、ある。 ダウンロードしたフォントは , レーザプ リンタとパソコンの電源を切らないかぎり , 次に別の dvi ファイルを印字する際も有効な のて、 , レーザプリンタのメモリが十分あっ て , dvi ファイルの印字を続けて何度も行う ような場合 , たとえば dvi ファイル出力専用 に使っている場合は便利。 また , UNIX て、も共通のソースファイルと いう利点がある。 tpic specials や , PostScr ipt 対応のパッチを当てたバージョンも存在 する。 jdvi2kps 欧文用の dvi2ps を , 松下電器産業 ( 株 ) がアスキー日本語 TeX ならびに DOS へ の移植を行ったものて、 , アスキー日本語 Te X を漢字 PostScript に変換する機能を持つ。 TeX が実際に扱う欧文文字のフォントデ ータは , METAFONT システムによって生 成されます。 Knuth 先生による TeX の文書処理システ ムは , TeX システムと METAFONT システ ムから成り立っており , 実際には , META FONT のシステムに , より多くの開発期間 がかけられました。この METAFONT シス テムも WEB て、書かれています。 METAFONT システムは , いわゆるべク タフォントなどと呼ばれて現在文字フォン トの作成に使われているものに比べ , はる かに精巧なものとなっています。て、すから , デバイスドライバによる出力の際にリアル タイムて文字フォントを作成することは , あまり現実的て、はありません。 METAFONT のソースて、は , 各文字がべ ンて文字を書いていくように表現されてい ます。そのほか , 文字の縦 , 横のサイズ , 文字を配置する際の基準の位置などが各文 字ごとに書かれています。また , 特定の文 字を組み合わせた場合の処理なども含まれ ています ( たとえば , 英字の f と i, f と f などが 隣合っていると , 合成された特別の文字に なります ) 。 各フォントには , フォント名がつけられ ています。もっとも基本的なのが , Knuth 先 生の作成した Computer Modern のシリーズ て , フォント名は cmr5, cmr7, cmr10, , cmbx10, ・・・などと cmsy5, なっており , それぞれ Computer Modern Roman 5 point, , Computer Modern Roman Bold Extended 10 point, ComputerM odern Math Symb01 5 point, 実際に METAFONT を使ってフォントを 作成するときは , 解像度 ( 1 インチあたりの ドット数 , dpi, すなわち dots per inch) や 拡大率 , それに , 縦横の線に比べて斜めの 線の濃さがプリンタによって違うのて、 , そ の補正などのパラメータを与えます。 拡大率はマグステップ (magstep)< 表現さ れ , 標準て、は , 必要な解像度に対し magste p が 0 , half, 1 , 2 , 3 , 4 , 5 のフォントを準 備します。 magstep が 1 て、は 1.2 倍 , 2 て、は 1.2X1.2 = 1.44 倍 , 3 て、は 1 . 2 >< 1 . 2 x 1.2 = 1.728 倍と いうようになり , half は , ' 了 = 約 1.095 倍 て、す。 プレビューア用には , 118dpi の解像度のも のを用いることが多く , プリンタの場合は 通常 , 実際の解像度に合わせます。たとえ ば , EPSON の 24 ドットプリンタや , NEC の NM シリーズて、は 180dpi , PC-PR201 シリー

2. 月刊 C MAGAZINE 1993年10月号

のものと同じなのて、 , 従来のデバイスドラ イバが使え , 従来の TeX をこの日本語 TeX に置き換えても問題ありません ( もちろん N TT 版もそうて、すが ) 。 アスキーて、はさらに , 縦書きの日本語に 対応した日本語 pTeX を公開しました。これ に関しては , 対応する pIainTeX の日本語化 は発表されていますが , LaTeX の日本語化 マクロは公開されていません。 最初に DOS 上て、実用化されたのは , PC- 9801 上て、動くアスキーの日本語 TeX て、す。 これは Addison-Wesley の MicroTeX をもと に改良され , 日本語 MicroTeX として , プレ ビューアとともにアスキーから市販されま 、 0 80386 以降の 32 ビットの CPU の場合 , DO S 上て、動く DOS Extender を使うことて、 , プ ロテクトメモリ上て、動作する 32 ビット整数 の C コンパイラによって本来の TeX の C プロ グラムをコンパイルしたものを動かすこと がて、きます。 これにより , アスキー版の日本語 TeX も 動かすことがて、き , これはフリーて、提供さ れています。 最初に , FMTOWNS 用に開発された高 橋版のものが公開され , これは京都マイク ロコンヒ。ュータ株からフリーソフトウェア として提供された DOS Extender EXE386 を使って , PC ー 9801 の上て、も動かすことがて、 きます。 その後 , GNU の C コンパイラと DOS Ex tender g032 を使った内山版の UgoTeX, E astWind 版 TeX などが公開されています。 UgoTeX は , emTeX のように METAFO NT のシステムも含んだものて、 , 現在標準的 に使われているもののひとって、す。 EastWind 版は , プロテクトメモリが IM バイト程度て、も BigTeX が高速て、快適に動 作し , プリロードかっ圧縮された実行ファ イルが生成て、きるという特徴があり , 肥大 化した AMS-TeX Ver. 2.0 や AMS-LaTe X などを使うにはたいへん便利て、す。 GNU の C コンパイラと g032 による NTT 版 jTeX も渡邊氏などにより公開されていま す。 また , 渡透氏は 16 ビットの CPU のパソコ ンの上て、も日本語処理がて、きるように日本 語処理をプリプロセッサ方式て、行う JaWaT eX を 1991 年に発表し , パソコンて、の TeX の 普及に寄与しています ( 和文フォントは , N TT 版 jTeX と同様な方法を用います ) 。 一方 , 16 ビットの CPU の上て、も EMS を用 いることによってアスキー日本語 TeX を動 作させる EMS 日本語 TeX が 1992 年に吉澤氏 により発表されています。 eX のシステム TeX コンパイラの説明からわかるよう に , TeX て、文書を作成するのに必要なもの は以下のとおりて、す ( たとえば , Macintosh の Textures は以下のすべてを含んだ総合環 境システムて、す ) 。 ① TeX のコンパイラ ② plain TeX, LaTeX, AMS-TeX などの 標準的なマクロセットとそれのマニュア ル ( どれて、もよい , 自分て、作成したり , 改 変することがて、きる ) ③デバイスドライバ群 通常は , プレビューア ( 画面て、表示する ) とプリンタドライバ ④フォントファイル ⑤工デイタ ( 何て、も気に入ったものて、よい ) クロについて plain TeX, LaTeX, AMS-TeX, AM S-LaTeX, BigTeX, PicTeX, SliTeX, LAMSTeX などのシステムマクロがありま す。すべてフリーに使うことがて、きます。 よく用いられる最初の三つについて若干 解説しましよう。 ・ plain TeX Knuth 先生が TeX を発表したときのマク ロ ( その後 , 若干の改良はある ) 。 LaTeX などと比べてグローバルな自動処 理はあまりない。日本語化のマクロは NTT 版 , アスキー版ともに存在する。 特集 X マニュアルは、、 The TeXbook" (). E. K nuth, Addison-Wesley, 1984 年 , 日本語 版 : アスキー出版局 , 1989 年 ) 。この本は読 みやすいとはいえないが , plainTeX にかぎ らず , 本格的にマクロを書いてみようとい う人には必読の書て、ある。 ・ LaTeX plain TeX のマクロの代わりに lplain. t ex を使っている。文書のソースの最初にス タイルなどを指定することにより , さまざ まなスタイルの文書が作成て、きるようにな っている。また , 目次 , 相互参照 , 文献表 の作成などのグローバルな処理がて、きる ( 文 献表の作成のマクロが BigTeX て、あり , 参考 文献の番号の管理なども自動的に行ってく れる ) 。また , 表や簡単な図を書くためのフ オントやマクロがある。現在 , もっとも広 く使われていると思われる。日本語化のた めのマクロが , NTT 版 , アスキー版とも提 供されている。 マニュアルは、、 LaTeX : A Document P reparation System ー User' s Guide & R eference Manual" (). Lamport, Addiso n-Wesley, 1986 年 , 日本語版 : アスキー出 版局 , 1990 年 ) て、ある。そのほか , 日本語の 解説書が数多く出版されている。 ・ AMS-TeX アメリカ数学会 (AMS) の TeX0 とくに数 式の取り扱いに優れている。より多くの数 学記号や , German Fraktur などのフォント を持っている。 Ver. 2.0 以降 , METAFON T のソースも公開された。当初 , 600dpi を超 える高解像度て、フォントを使うのは許可を 必要としたが , 1990 年ごろにフリーになった。 AMS-TeX は , plain TeX の上にさらに AMS ー TeX のマクロを組み込んだものて、 , 基本的には plain TeX の上位コンパチプルに なっている。ただし , 定義を変えて意味が 違っている部分もある ( たとえば , 文字 @ は , plain TeX て、はそのまま書けばよい が , AMS-TeX て、は , 特殊な意味に使われ るのて、 , 単なる文字のときは , \@ と書かな くてはならない ) 。数式などの取り扱いと若 干のマクロの増加以外は , pIainTeX と大き 特集 TeX 43

3. 月刊 C MAGAZINE 1993年10月号

CAS€ Manifest0 れたソフトウェア工学の方法論に関する本 は , ほとんどありません。分量を増やすた めに現実論を展開しているような本も , プ ロジェクトの進み方に関して単純素朴な見 方しかしていません。 プロジェクトのメタフアとしてよく使わ れるのが , 「滝モデル (WaterfaIl Model) 」 と , B. W. Boehm が提唱した「螺旋形モデ ル (Spiral Model) 」 ( 「渦巻モデル (Whirlpo oIModeI) 」とも呼ばれる ) て、す ( 後者は ' AS piral ModeI Of S0ftware Development an d Enhancement', " ACM SIGSOFT Soft ware Engineering Notes", Aug. 1986 , p. コラム 14 に ) 。 「滝モデル」は , 理想的なプロジェクトて、 はそうなるて、あろうような状況を , 理論的 に正確に一次元的に投射したものて、す。「螺 旋形モデル」は , ソフトウェア開発において 現実に起きる状況を , より現実的に二次元 的に投射したものて、す。 しかし , その「螺旋形モデル」て、すら , あ まりに単純すぎます。 私は , 真のプロジェクトのより現実的な 見取り図を表現するものとして , 「立方体モ デル (Cube Model) 」というものを考えてい ます ( コラム参照 ) 。 ねじ曲がった予算配分 会社というものは , CASE 業界にかぎら ず , マンハッタンの下町の近視眼的なプロ フェッショナルたちの機嫌を損なわないた めに , 業績向上に真剣に取り組んて、いる , という振りぐらいはつねにしなければなり ません。しかし CASE べンダたちは , もっと ほかのことに対しても , 自分たちの財源を 間違って配分しています。 たとえば一部のべンダは , 予算のほとん どを , これまて、の研究開発投資の結果とし Fig. 6 と Fig. 7 の矩形と立法形に関する解説 ソフトウェア開発の立方体には , 複雑な部 分が少しあります。そこて、ここては , この立 方体の背後にある号え方を詳しく解説すると ともに、それをソフトウェアの「滝モデル」や 「螺旋形モデル」と比較してみます。 Fig. 6 て、は , 横軸を , より分かりやすい、、プ ロジェクトの各段階 (ProjectPhase)"< はな くて , モデリングの視程 ( Model ⅲ g Perspe ctive) " と名付けています。それは , 、、段階 (p hase) なという言葉の意味が , ソフトウェアの プロジェクト管理の世界て、は混乱し曖昧にな っているからて、す。私の辞書 (Random Hous e ) には , phase の定義がふたっ載っています。 1. さまざまな形をもつ物が , そういう自分自 身を現す主要な局面のひとつひとつ。 2. 展開の過程におけるひとつの段階 ( a stage)o 上の最初の意味は , システムがいろんな面 をもっていると言う事実を反映しています。 そしてそのどの面も , システムを何らかの特 定の観点から見たときには , 他の面を圧して 優勢になります。たとえば , システムは , 機 能要件という視野て、事細かに見ることがて、き ますし , あるいは情報的要件 , アーキテクチ ャ的要件 , コード構造 , 等々の視野て、見るこ 30 C MAGAZINE 1 3 10 ともて、きます。 理の理想的な手法だったとしてい実用化は 第一に , 仮にもしもそれが , プロジェクト管 滝のメタフアは , 純朴なフィクションて、す。 グラミング , 等々といった具合てす。 階は分析を実行し , 次が設計 , その次がプロ います。たとえば、プロジェクトの最初の段 たったひとつのモデリングの視程を扱 的に ジェクトのそれぞれの時間的な段階が , 排他 ファて、す。このメタファて、は , ひとつのプロ 高い , ゾフトウェア開発に対する「滝」のメタ 問題が生じてきます。それが , あの今や悪名 このふたつの意味を融合しようとすると , 的に次の段階へと移ります。 ったら , そのプロジェクトは全体的に一枚岩 ます。プロジェクトチームがその引渡物を作 〔 deliverable, いわゆる、、出力 ' ' 〕が体現され た活動し単一の , 明確に定義された引渡物 れの時間的段階に、単一の , 明確に定義され く , と想像するのは非常に容易て、す。それぞ ある段階 ( stage ) から別の段階へと移行してい もつばらカレンダーの単調な動力てもって , を濃厚に含意しています。プロジェクトが , phase のふたつ目の意味は , 時間という要素 ほとんど無理ぞしよう。たとえば , プロジェ クトが公式の分析段階をとっくに終えた時点 て、 , 要件をめぐる新しい情報が突然現れてき たりするてしよう。 第二に , 多くのプロジェクトにおいて , 開 発の非常に早い時期から , システムの設計や プログラミングの側面について考慮すること が , 現実に有利な場合があります。たとえば , 最近私が見た 3D CAD/CAM のプロジェクト て、は , それがて、きるかて、きないかということ がひとえに , プログラミングの段階における 効率的なアルゴリズムの創造にかかっていま した。したがって , そのプロジェクトて、は早 期から , ューザ要件とアルゴリズムが同時に モデリングされました。それは明らかに , ー滝 型の方式て、はありませんて、した。 B. W. Boehm の「螺旋形モデル」は , 「滝モ デル」よりも現実的て、すが , このモデルて、す ら , 多くのプロジェクトが実際に厳密にそう いう形て、進むことは , ありえそうもありませ ん。したがって , CASE ツールのべンダがもち 得る唯一の有効な仮定は , デベロッパは Fig. 6 の矩形を , 何らかの予想可能な順序て満たし ということて、す。むしろ、 ていくことはない ,

4. 月刊 C MAGAZINE 1993年10月号

て、ある jvi ) なんて、す。これはモーダル ( モー ドのある ) なエデイタのため , 非常に使いづ らいのて、す。コマンドモードと通常のエデ イティングモードがあり , いちばん困るの は「今どちらのモードにいるのか」が , 画面 を見たかぎりて、は分からないことて、す。次 に困るのは , コマンド入力のための小ウィ ンドウというかダイアログボ、ツクスみたい なものがないため , コマンド入力のタイヒ。 ング入力を自分て、確認て、きないことて、す。 細かな作業のたびに , この 2 モードを行っ たり来たりしなければなりません。日本語 入力 ( かな漢字変換入力 ) が絡むと , もう死 にたくなるぐらい面倒て、すぞ ! まあ , われわれパソコン人が使い慣れて いるエデイタは , ファンクションキーにさ まざまな作業メニューをぶら下げていたり , あるいは@ÉC] キーと何かのキーの組み合わ せをコマンド入力用に割り当てています。 昔々ⅵを開発した人に , そういう話をした ら , たぶん次のように言うて、しよう「ファン クションキーなんて , マシンによってまち まちやどー。中には , ファンクションキー なんて洒落たもんのないマシンかてあるん だぞー十 key は , 基本システムが何 かのために使うとる場合が多いから , たか がエデイタふぜいが , それらに勝手な機能 を割り当てるわけにいかんのだ」。 UNIX 国 は本来 , きわめてへテロな国て、すから , そ こて、ある程度実用性のあるポータビリティ を実現しようとすると , ひとつにはⅵのよう な行き方になるのて、しよう。 と考えて納得はしたけれど , 使いづらい もんはやはり使いづらい。そうだ , 今手元 にたまたま , GNUCD-ROM がある。 bigN EWS の上に emacs を実装したれ ! 今 98 に つないどる CD-ROM ドライプ , SCSIi•バイ スやから , きっと NEWS にもつなげるや ろ。ところが , NEC 純正の CD-ROM ドライ プは , SONYbigNEWS の上にマウントて、 きませんて、した。なんてやろ ? SCSI と は , 世界的普遍的共通的な標準規格て、はな 132 C MAGAZINE 1993 10 かったのか。 bigNEWS 用の emacs( その日本語用ハ ジョンて、ある nemacs ) は , どこかのネットを 訪ねたら ( たとえば日経 MIX) きっと手に入 るだろうとは思いました。て、も , 先日の Te X 変換プログラムの場合て、もそうて、すけど , 完成プログラムを入手して , それを使った ところて、そんなのは屁ほどもおもろくない て、すよね。プログラミングというのは , 自 分て、あれこれ工夫し苦労するからおもろい のて、あって。しかも , 完成品プログラムに は , ソースが付随している場合て、すら最初 の時点て、は十分な信頼性がおけない 今回は , 自分て、プログラミングするわけ て、はないけど , やはり GNU の巨大ブログラ ムの典型て、ある emacs を自力て、実装するとい う経験をしてみたい。 bigNEWS のハード ディスクの上には , nemacs を作るためのパ ッチデータは提供されています。 emacs のソ ース本体は , 自分て、用意し , 自分て、インス トールしなければなりません。 CD ー ROM ドライプのマウントが不可能と なると , 残る手段は , フロッピーディスク を「小型トラック」として利用して , ソース の搬送て、す。 NEWS の上て、使える 720K バイ ト 2DD と 1.4M バイト 2HD のうち , 98 の MS ー DOS の上て、も使えるのは前者の 2DD ディス クて、す。 emacs のソースファイルは , 全部て、 10M バイトあまりあります。 720K バイトの フロッピーが , 何回行ったり来たりするこ とになるか・・ 私の現在の仕事部屋に引っ越すとき , 専 門の運送業者に頼むのをけちっていわゆる 便利屋さんに頼んだところ , おばさんがふ つうの乗用車て、やってきて本を運ぶだけて、 も 7 往復ぐらいしてしまいましたよ。その悪 夢の日のことを思い出しました。本は重い ! 特定の情報を捜し当てるのがたいへん ! て、 すから私はひたすらペーパーレスソサ工テ ィの到来を侍ち焦がれます。 ところて、 , UNIX はマルチューザ向けのシ ステムて、すから , 個人は勝手なことはいっ さいて、きません。コンピュータの電源を切 ることすらて、きませんよ。しかるべき管理 者 ID を有する上位ューザ ( 通常は root 氏 ) が 「電源を切るプログラム」を動かさないと電 源は切れません。フロッビーディスクも個 人が勝手にドライプに挿入したり出したり はて、きません。て、すから , FDD にはイジェ クトボタンがそもそもついていません。 720K バイトに format し , UNIX のファイ ルシステム用に newfs(—般の UNIX なら mk (s) したフロッビーディスクを現在の UNIX ファイルシステムのお仲間に加えていただ く , すなわち、、マウント〃しなければなりま せん。私はタイヒ。ングが面倒なのて、 , 次の ような内容て、 , m というたった 1 文字の名前 のシェルスクリプト (MS-DOS のバッチファ イルに相当 ) を作りました。 mount -t pcfs /dev/fd01a /dosfdd 上の /dosfdd は , 私が勝手に mkdir したデ ィレクトリ名て、す。 mount コマンドによりフ ロッヒ。ーディスク上のファイルに / dosfdd / nantoka. kantoka て、アクセスてきるようにな ります。 ディスクをドライプから取り出すのは , eject というコマンドて、すが , これが機能す るためには , その前にディスクがファイル システムから ()r ファイルシステムとして ) 、、アンマウントクされていなければなりませ ん。て、すから , 次に作ったシェルスクリプ ト um が , 実質的なイジェクトコマンドて、 す。 umount -at pcfs eject こて、は詳説しませんが , UNIX のファイ ルがもっ許可属性は , MS-DOS のファイル のそれよりも一回りか二回りぐらい複雑て、 す。工デイタて、ふつうに作ったファイルは , 通常はプログラムとは見なされず , したが って、、実行許可〃が付いていませんからその ままて、はシェルスクリプトとして実行て、き ません。実行許可が付くように chmod( ファ イルのモードを変えるコマンド ) してやる必

5. 月刊 C MAGAZINE 1993年10月号

・・・ 2 名① ・・・ 2 名 CPAD Ver. 2.5 対応機種 . PC -9801 シリーズ 価格 : 98 , 000 円 提供 : オオッカ商事システムクリエイト事業部 問い合わせ先 : 0878-51-1807 DOS 環境下で C 言語プログラムのド キュメントの自動作成 , および PAD 図によるプログラム解析を行う開発 支援ツール。ソースとドキュメント を一元管理するため , 複数の人数が 関わるプロジェクトでのドキュメン ト管理が容易になります。 バネルで一ぐ 対応機種 . PC -9801 シリーズ 価格 : 68 , 000 円 提供 : 株アークピット 問い合わせ先 : 0471-58-7832 ノヾネ丿レエデイタ , / ヾターンエデイタ などの画面設計ツールと各種エレメ ント処理を行う曰システム , ウイン ドウシステムなどのライプラリを装 備した G 団設計ツール。設計した G 団 は C 言語ソースに変換して利用でき ます。 0uick Screen Ver. 3.1 対応機種 . PC -9801 シリーズ 価格 . 35 , 000 円 提供 . ( 株 ) サンクエスト 問い合わせ先 . 03-3902-1169 シリアルプリンタでページプリンタ のように任意の順序で出力データを 出力可能とするプリンタ制御関数を はじめ , ディスク制御関数 , 画面出 力関数 , マウス関数など田 0 以上の関 数を収録した画面 / 帳票作成支援ラ イプラリです。 ◆ 5 / STE 川 ( ス 0 2H Virtual-DOS 対応機種 . PC -9801 シリーズ 価格 : 33 , 000 円 提供 : 翼システム ( 株 ) / ( 株 ) 工フ・アイ ・ティ 問い合わせ先 : 03-3638-3731 CPU i386 / i486 の仮想 8086 モードを 利用してコ台のマシンを最大田台分 の MS- DOS マシンとして使用できま す。複数のアプリケーションを順に 切り換えるタスクスイッチ処理とア プリケーションを平行して動作させ るマルチタスク処理が可能です。 ハネルで ~ し GL 幻当高ツール 2 名 @ 大虎 Ray Ver. 1.0 対応機種 . PC -9801 シリーズ 価格 : 58 , 000 円 提供 : ( 株 ) OA 研究所第 3 事業部 問い合わせ先 : 0467-45-1217 レイトレーシングをシェーディング アルゴリズムに採用したフルカラー 3 次元イメージプロセッサです。別売 の大虎フレームを使用することで , 最大 2048X2048 ドット , 77 万色の 3 次元画像を生成することができま す。 RN42N 対応機種 . PC-9801noteNS/T,NS/E,NC, NA 価格 : 98 , 000 円 提供 : 株インターマートシステムズ カーネル事業部 問い合わせ先 : 03-3499-8083 PC ー 98 田 noteNS / T に内蔵するタイプ の 42M バイトのカートリッジハ ディスクドライプ。 2.5 インチの小型 カートリッジを差し換えて使用でき , 平均 .5ms の高速アクセスを実現し ています。 ◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆ 澪〒メ。 : 3 ◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆ ◆◆◆◆◆◆ ◆◆◆◆◆◆◆ ( を 0 ン当 ◆◆◆◆ PADOC/DOCUMENTER 対応機種 . DOS マシン 価格 : 48 , 000 円 提供 . 株バスカリア 問い合わせ先 : 03-3254-8071 C 言語ソースから関数仕様書 , 関数 一覧表 , プログラム構造図などドキ ュメントを自動的に作成する CASE ツール。フローチャート , PAD 図 , HPC 図 , YAC 図の 4 種類をサポートし , 仕様書の提出先が希望するドキュメ ントを速やかに作成できます。 TERMINATOR 対応機種 . PC -98 シリーズ 価格 : 39 , 800 円 ( キャンペーン価格 ) 提供 . 株オーテック 問い合わせ先 : 0120-178490 拡張スロット内蔵型のコンピュータ ウイルス防止ポード。ディスクの IPL や MS ー DOS システムが読み込まれる 前にポード上のプログラムによりウ イルス防止拡張引 OS を構築し , コン ビュータをウイルスから保護します。 創刊 4 周年記念モニタ 19

6. 月刊 C MAGAZINE 1993年10月号

閉 5 -005 非公開情報 ~ Borland C 十十の組み込みアセンプラ BASM ー ( アセンプルエラー ) になったりする場合 があります。 筆者がインラインアセンプリ命令を使う TurboC/C 十十てはインラインアセンプ ラーが出たんてすが ? 」 といわれて何のことかわかりませんて、した 場合は複雑な場合が多いため比較的多。く リ命令を使用した場合 , コンパイルスイツ トラブルを経験しています。実際 , List 2 て、 チー B をつける必要があります。こうすると (TASM をインストールしていないとこのよ うなエラーメッセージが出ます ) 。 TASM は はスイッチー B は不要なはずてすが : スイツ アセンプリソースを出力したあと , TASM 「タスム」または「ティー、アスム」と読みま チ -B を外すとコンパイルエラーとなりま て、アセンプルして OBJ ファイルを作成しま す。初心者がインラインアセンプリ命令を す。ちなみに , MASM は「マスム」または「エ す。こラいうときスイッチ B をつけて TAS M 経由て℃ BJ ファイルを生成させると正常 、ム・アスム」と読みます。 使用することはないてしようから , この仕 になる場合が多筆者が経験したトラブ Borland C 十十ては BASM という組み込 様てもコンパイル速度が少し遅くなる点を 除いてとくに問題ありませんて、。した。 ルは今のところすべてスイッチー B をつける みアセンプラが内蔵されており , BASM を と解決しています。 余談て、すが , 連載を単行本にするときに 使灯 IS ー C と同様に直接 OBJ ファイルを作 BASM て、生成したプログラムの動作がお 成て、きます。そのため , TASM が不要て、を 書籍編集部の方が筆者のソースをコンパイ アセンプルのパスがなくなり , コンパイル かしい場合はスイッチー B をつけてみてくだ 。。ルしてチェックしたのて、すが , 、インライン さい。いっそのこと , スイッチ -B を必ずつ 速度が速くなります。しかし , BASM は , アセンプリ命令を使用したソースて、コンパ けるようにしたほうが , 、デバッグ時にと、ま イルエラーとなーり , 電話て こなれていない部分が残っているようて ; どわないかもしれません。 生成コードを間違えたり , コンパイルエラ 「ティ・エー・エス・エムがないという工 Table 2 アロケーションストラテジの取得と設定 DOS ファンクション 58h (DOS 3.1 ~ 5.0 ) DOS 3.1 ~ 5.0 より前の場合 引数 AH=58h AL=OOh : ストラテジの取得 = 01h : ストラテジの設定 A L = 01 h の場合 BX=OO : 最下位の空きプロックから割り当て = 01 : 必要最小の利用可能プロックを割り当て = 02 : 最上位の空きフロックから割り当て INT 21 h DOS 5.0 の場合 AH=58h AL=OOh : ストラテジの取得 AL=OIh : ストラテジの設定 BX = 0000h : コンべンショナルメモリ ( 最初の 640K バイト ) の中で最下位の空きプロッ クから割り当て = 0001 h : コンべンショナルメモリ ( 最初の 640K バイト ) の中で必要最小の利用可能 プロックを割り当て = 0002h : コンべンショナルメモリ ( 最初の 640K バイト ) の中で最上位の空きプロッ クから割り当て 0040h : UMB 領域の中で最下位の空きプロックから割り当て 0041h : UMB 領域の中で必要最小の利用可能プロックを割り当て 0042h : UMB 領域の中て最上位の空きプロックから割り当て 0080h : UMB →コンべンショナルメモリの順で最下位の空きプロックから割り当 て = 0081h : UMB →コンべンショナルメモリの順で必要最小の利用可能プロックを割 り当て = 0082h : UMB →コンべンショナルメモリの順で最上位の空きプロックから割り当 て AL=02h : UMB リンクステータスの取得 AL=03h : UMB リンクステータスの設定 BX=O: UMB アンリンク = 1 : U M B リンク INT 21 h 返り値 DOS 3.1 ~ 5.0 より前の場合 キャリー AX = 01 h : 無効なファンクションコード キャリー = 0 : 正常終了 ストラテジの取得 ( AL = 00h ) の場合 AX=OO: 最下位の空きプロックから割り当て = 01 : 必要最小の利用可能プロックを割り当て = 02 : 最上位の空きプロックから割り当て DOS 5.0 のストラテジの取得 ( AL = 00h ) の場合 AX = ヒット 1 5-8 : 0 = ヒット 7 : U M B →コンべンショナルメモリの順に = ピット 6 : U M B だけ = ヒット 5 ~ 2 : 0 = ビット 1 ~ 0 : 従来どおり DOS 5.0 AL = 2 の場合 AL = リンクステータス 機 能 MS ー DOS がプロセスからメモリの割り付け要求かあったときの空きメモリの見つけ方を取 得 / 設定する Fig. 3 List 3 の実行例 E: YUSR>testexec mem /p mem /p アドレス 名前 000000 000400 000600 004360 005840 サイズ タイプ インタラフ。トへ・クタ 000400 ROM コミュ : ト 000200 工リア ション システムデータ 003D60 システムデータ 0014E0 システムデ - タ 0111B0 002020 DEVICE= 002C40 DEVICE= 001960 DEVICE= 0005D0 FILES= 000100 FCBS= 00M90 BUFFERS= 000320 LASTDRIVE= フ。ロ〆ラム 001530 環境 000380 0000B0 000A50 000040 000430 017640 06F710 システムフ。ロ〆ラム 034030 システムテ・ - タ 001680 0003E0 DEVICE= 001280 DEVICE= 00A930 コンべンショナルメモリ 655344 パイト・ 655344 パイト・使用可能 MS-DOS メモリ 477008 パイト・最大ブログラムサイズ 1 1 19027 2 パイト 全 EMS メモリ 11059200 パイト・使用可能 EMS メモリ 11534336 パイト 全工クステンドメモリ 11059200 パイト・使用可能工クステンドメモリ 11059200 パイト・使用可能 XMS メモリ MS-DOS は , ハイメモリ領域に常駐しています . IO MSDOS VMM386 VJEB VCALCB ACSSHELL mem MS DOS COMMAND MSDOS COMMAND mem MS DOS システム 016A00 017F40 0182D0 018390 018DF0 018E40 019280 0308D0 09FFF0 0D4030 空〆空〆空 ACSCTRL MELDISK MSDOS - 空き - 0D56C0 E:YUSR> MS ー DOS 非公開情報詳説 95

7. 月刊 C MAGAZINE 1993年10月号

まる語はコマンドて、す。 また , 半角の中力ッコ { } はコマンドの およぶ範囲を示すために使われたり , 次の 例の *begin{document} のようにコマンドの引数を示すために使わ れたりします。 List 1 に LaTeX のソースファイルの例を 示します (Fig. 1 が出力例 ) 。 この例のように , 文書は通常 *documentstyle[12pt, a4 ロ {jarticle} *begin{document} のような 2 行て、始まり , *end{document} て、終わります。 最初の行の 12pt は本文文字サイズの指定 て、 , 省略すると 10 ポイントになります。 a4 j は A4 判の日本語文書という意味て , ほかに b4j, a5j, b5j などが指定て、きます。 jarticle は日本語の短い報告書のスタイルて、 , ほか に jbook などが指定て、きます。 空行は段落の区切りを表します。段落の 頭には 1 文字分の全角空白が自動的に入りま すが , Ybegin{flushleft} と Yend{flushleft} て、囲まれた部分は段落の頭の空白が入りま せん。 なお , flushleft を flushright にすれば右寄 せされ , center にすればセンタリング , qu Fig. 3 List 2 の出力例 ( Canon BJ-I Ov 十書体倶楽部フォント ) MATSUNET 利用の手引 松阪大学情報処理教育センター 1993 年 7 月 30 日 概要 パスワードはなるべく最初にログインしたときに変更して下さい。後で詳しく説明しますが , パス 方は , 情報処理センターに申し込んでいただければ , ご希望のログイン名を発行いたします。 ン名は a94789 となります。初期パスワードは最初の時間にお教えします。学生以外の本学関係者の ンピュータに入るための合言葉 ) が必要です。学生の場合 , 例えば学籍番号が 94789 の人は , ログイ ワークステーションを利用するには , ログイン名 ( コンピュータ中で使う名前 ) とパスワード ( コ 2 ログイン名とパスワード たことができるのです。 さんが電子掲示板を読み , E さんと F さんがコンピュータ経由でトーク ( おしやべり ) をするといっ 円周率を 100 万けた計算しながらゲームに興じ , その最中に B さんが C さんに電子メールを書き , D に複数の人が使え , 一人一人が同時に複数のプログラムを走らせることができます。例えば A さんが UNIX は「マルチューザ・マルチタスク」のオペレーティングシステムです。 UN Ⅸを使えば , 同時 ンは UNIX ( ュニックス ) というオペレーティングシステムを使っています。 いうオペレーティングシステム ( 基本ソフト ) を使っているのに対して , 松阪大学のワークステーショ ワークステーションとは , パソコンより少し大きいコンピュータです。ソコンが主に MS-DOS と 1 ワークステーションって何 ? ます。 MATSUNET を経由して他大学の計算機センターを利用することも可能です。 ます。他に自習室の情報コンセント (RS-232C) や , モデム経由で内線や外線から利用することもでき ワークステーションで , これに 50 台の DOS / V 機と 60 台の PC -9801 がイーサネットで接続されてい MATSUNET は松阪大学の学内コンピュータネットワークです MATSUNET の中心は 6 台の Sun です。 IIP アドレス 192.244.75.0 ~ ー 92.244.75.255 pas svd ワードを変更するコマンドは ote にすれば全体が数文字分インデントされ ます。 最後近くにある「 YTeX 」は TeX の正しい ロゴを出力するコマンドて、す。細かい て、すが , C マガの \ TeX 特集・ と書くと , 「 \ TeX 特集・・・・司というコマンド が定義されていないといって叱られます。 コマンドの直後に英字または和文文字が続 く場合は , 半角空白を挿入して C マガの *TeX 特集 としなければなりません。この半角空白自 体は出力されません。これは間違いやすい のて、 , C マガの \ Tex { } 特集 のようにコマンド直後に必ずダミーの { } を挿入することを薦める人もいます。 さて , 上の文章を TeX て、印刷する手順は 次のとおりて、す。 ①上の文章をエデイタて入力し , たとえば eastwind. tex というファイル名て、保存しま す ( 拡張子は必ず tex とします ) 。 ② DOS プロンプトて、 jlatex eastwind と打ち込みます。こうすると , 日本語 La TeX 処理系が eastwind. tex を処理し , ea stwind. dvi という中間ファイルに変換しま す。この dvi ファイルはバイナリファイル てすが , 一種のページ記述言語て記述さ れています。また , 処理経過を eastwind. 10g というファイルに書き込みます。 east wind. aux という補助ファイルもて、きます が , この場合は aux ファイルはとくに意味 がありません。 この段階は , C 言語のプログラムをコンパ イルするのに似ています。この段階てエラ ーが生じれば , デフォルトては TeX は対話 モードに入りますが , 慣れないうちは TeX のプロンプトに対して「 x 」を入力して終了 し , 工ラーメッセージに従ってエデイタて eastwind. tex を修正して再度 jlatex て処理し ます。 ③ DOS プロンプトて dviout eastwind 特集 TeX 49

8. 月刊 C MAGAZINE 1993年10月号

COMPUTER LANGUAGE 提携記事 活用 MS-DOS C 十十入門講座 C 言語入門講座 痛快工、イ C 言語フォーラム 難問回答 X68k 活用講座 特集 新連載 OCT. 1993 VOI. 5 NO. 10 円 93 年月一日 ( 毎月一回田発行 ) 第 5 巻第田号通巻 49 号円年 2 月 2 日第 3 種郵便物認可 ・・ 91 デザイン・持田哲 イラストレーション・秋山育 表紙 CONTENTS 創刊 4 周年記念 特別モニタ & プレゼント・・ Programming on Purpose CAS E が一人前になるための独立宣言 The CASE Manifesto フリーソフトウェア最新レポートく第 45 回 > Wind 。 ws で各種画像フォーマットを見る野口雄平・・ 最強の文書整形システムを動作させる・ Part1 ・ TeX 概論 S 印 M Ⅳ奥村晴彦 Part2 ・ EastWind 版日本語対応 TeX 移植小林誠 Part3 ・ FKR 版 METAFONT 概要福井玲 Pa 4 ・ dviout / dvip 開発経緯と d ⅵファイル作成 / 出力 SHI MA tThree blind mice 』 P. 」 . PIauger Mac 専科 く第 7 回 > 「関数の作り方」結城浩・・ C 言語プログラミングレッスン 98 & DOS / V ゲームプログラミング大作戦く第 5 回 > 効果音 ( 1 ) 有馬元嗣 Case Study A 級 B 型 C 十十入門く第 2 回 > リンケ→を意識しよう望月うさき / 堀江郁弥 く第 2 回 > MS ー DOS 5.0 で公開された機能 PART2 中島信行・ MS - DOS 非公開情報詳説 く第 1 回 > Macintosh プログラミングの世界にようこそ真紀俊男 Welcome t0 Macintosh Programming ・・ 4 ① ・・ 99 三田典玄のランダムアクセスく第 28 回 > 身辺雑感 恥ずかしながらドジりましたく第 47 回 > 企業のコンとーティングモわれわれの情報処理ニーズはヘテロ岩谷宏・・・ 1 C ー more く第 21 回 > プリプロセッサきだあきら・・ C 言言吾雑学講座く第 24 回 > 複数のウインドウ乗松保智 D 「 . 望洋のプログラミング道場く第 1 5 回 > 文字列と main 関数柴田望洋 G CC で学ぶ X68 ゲームプログラミングく最終回 > 総仕上げ吉野智興 C MAGA News Square フィンローダのあっぱれご意見番く第 18 回 > 「例外」・・ lnformation from Compiler Makers マイクロソフト・ ・・・ 135 ・・・ 145 ・・・閲 3 ・・・ 159 ・・・ 168 ・・・ 166 lnformation from Compiler Makers 工ル・エス・アイジャパン / ライフホート 1 間 C マガ電脳クラブく第 31 回 > 小町素因数分解吉柄貴樹 ・・・ 172 lnformation from Compiler Makers SHARP / テック情報システム 174 円羽信夫の迷走プログラミングくその 22 > 握カ測定プログラム・ lnformation from Compiler Makers ボーランド Readers' Room ティスク内容のお知らせ EDITORS' ROOM ・本記事中のプログラム名 , システム名 , CPU 名は一般に各メーカーの登録商標です。本文中では TM , ⑨マークは明記していません。 ・本誌および付録ディスクに掲載されたすべてのプログラムは著作権法上 , 個人で使用する目的以外で無断で複製することは禁じられています。 EditoriaI: Phone ( 03 ) 5642-8188 Sales: Phone ( 03 ) 聞 42-81 Advertising: Tokyo: Phone ( 03 ) 5642-8111 Osaka: Phone ( ) 264-1471 Editorial and Business 0ffices: SOFTBANK SQUARE BLDG. , 3-42-3 , N 旧 ONBAS ト HAMACHO, CHUO-KU, TOKYO 103. JAPAN Publisher: GO 「 0 HashimotO publishing Director•. Toshio lnaba Editor-in-Chief: Shinichi Hoshino Manager of Sales and Advertising: YOShiO GOShima ・・・ 176 ・・・ 178 ・・・ 182 ・・・ 184 Copyright01 四 3 SOFTBANK Co 「 p. Tokyo. rights reserved No materialin this publication may reproduced, in whole orin part, in any form without permission, Printed in Japan

9. 月刊 C MAGAZINE 1993年10月号

ジェクト ( または複数のプロジェクト ) を担 何度か訪れます。もちろんそのたびに , 視 Design1B, という叉が生じます。 当している複数のワーカーが , 同時にほと 点や考え方は変わっているて、しよう ( この立 方体を旅することによって , 賢くなるのて、 3. ツールは , 複数の場所にいる複数のワー んど同じ点にいる , ということはよくあり ます。ツールはこのことをうまく処理して , カーによる複数の同時的な行路をサポー ワーカーが互いに相手の爪先を踏んづけな トしなければならない。 したがって , ツールは行路の履歴を維持 物理的な空間は , 良いツールが考慮に入 いようにしなければなりません。ロッキン すべきて、あり , 単純に立方体の中の新たな れておくべき , もうひとつの次元て、す。 グの機能が必要て、すし , また自分の近傍て、 点が古い点を抹消してしまうべきて、はあり 作業をしている他のワーカーたちを検出し い換えると , それぞれ別の建物 ( あるいは別 ません。言い換えると , ツールは , いかな て警報する , レーダー機能も必要て、しよう。 の国 ) にいるふたつのグループが , 同じシス るモデルのいかなる小部分についても , 互 テム機能に対して , 同じモデリングの段階 いに競合する考え方 , 代替的な考え方 , あ 4. ツールは , 立方体の中の各点に対する複 〔例 : 「実体的モデリングの段階」〕の中て、 , るいは退けられた考え方などの歴史を , 保 数の見方・見え方 ( views , ビュー ) をサポ 同じ詳細さの程度て、 , 同時に仕事がて、きる , 持て、きるものて、なければなりません。ツー ートしなければならない。またそのため ルはまた , 思考の分岐箇所 ) を追 という状態てす。こういう状態は , 大規模 には , 同じ構成要素のさまざまに異なる 跡管理しなければなりません。たとえば , な , 関係者が地理的に分散しているような グループ化ができるものでなければなら プロジェクトて、は , 頻繁に起こりえます。 システムの最初の小片 1 の分析が , ふたつの 立方体を通る彼らの行路が , 文字通り交 代替案に導くかもしれません。するとそこ 前に言及したように , 立方体の中の各点 差することはないとしても , ひとつのプロ に , Analysis1 → Design1A or Analysis1 → は , 複雑な , 高度に構造化されたオプジェ クトて、す。それをあえて図になぞらえて言 Fig. 7 奥行きの次元 い表すなら , そこには , 工ンティティーリ レーションシップダイアグラムがあり , デ ータフローダイアグラムがあり , ステート 遷移図があり , そしてそれらの定義を記述 しているテキストがあります。ューザは , これらの要素の組み合わせをさまざまに変 えてみて , いろんな角度から検討したいの て、すから , ツールは , 構成要素の自由なグ ループ化をサポートすべきて、す。たとえば あるユーザは , データフローダイアグラム の中のプロセスの内 , プロセッサ # 1 の上て、 動くものを 1 グループにまとめて , 図を再編 と思うかもしれません。しかし 成したい このとき , ユーザが比較検討等を円滑にて、 きるためには , 図を再編成する前の時点の プロセスのまとめかた , すなわち前のグル ープも , ツールは保持していなければなり ません。つまりツールは , 同じ構成要素に 対する , 複数の異なるグループ化を , 維持 しなければなりません。 同じ構成要素に対して , プロジェクトが 違うと , やはり違う見方が必要になること があります。ッ ーーノレカす , このような予見不 システムの部位 ↑詳細さの程度↓ ← モテリングの視程 CASE が一人前になるための独立宣言 35

10. 月刊 C MAGAZINE 1993年10月号

Graphic Window Library 対応機種 . PC -9801 シリーズ 価格 . 23 , 000 円 提供 : 吉正電子株 問い合わせ先 03-5371-3041 オールグラフィック による高速ウインド ウライブラリ AR -1000 / 25 対応機種 . PC -9801 シリーズ 価格 . 15 , 800 円 提供 . 株アドテックシステムサイエンス 問い合わせ先 045-331-7575 PC -9801 の RS -232C 端子 に接続して測定データを 記録できる電圧テスタ 1 名 1 名 創刊 4 周年記今 口を、 プレゼント ふえ蔵 FD AFEL-FDI 対応機種 98FELLOW 価格 . 11 , 800 円 提供 株アドテック システムサイエンス 問い合わせ先 045-331-7575 98FELLOW 専用の IM バイト増設 FDD 用イ 0 ンタフェイスポード FOREST GRAPHICS DRIVER 対応機種 PC -9801 シリーズ 価格 : 29 , 800 円 提供 . 株中央技研 問い合わせ先 0958-25-6816 ハイレゾーノーマル の両方に対応したグ ラフィックスデバイ スドライバ 1 名 2 名 1 名 ISAM Libra 「 y 対応機種 PC -9801 シリーズ 価格 . 23 , 000 円 提供 . 吉正電子株 問い合わせ先 03-537 ト 3041 B - Tree アルゴリズム により高速に検索が 可能な AM ファイル ライブラリ FbREST SQFTWA25 Ⅲ闘 0 MP OARD RS-232C Library 対応機種 PC -9801 シリーズ 価格 : 23 , 000 円 提供 . 吉正電子株 問い合わせ先 03-5371-3041 C プログラム - CRS -232 C 制御を行うための ライブラリ 日本語 NewWave Ver. 4.1 2 名 対応機種 : Windows 3.0A 以上 価格 . 24 , 800 円 提供 : キヤノン販売株 問い合わせ先・ 03-5232-8035 Windows テスクトップ び作環境を向上さ せるデスクトップ管 理ツール 1 名 5 名 NEOS ファンシーマウス 提供 : 株日本エレクトロニクス 問い合わせ先 03-5474-41 田 0 れ日 - 01 シリ ース対応の バスマウス FOXY fo 「 Windows Ver. 2.1 対応機種 . Windows 3.0A 以上 価格 : 24 , 000 円 提供 . 株工ー・エス・ピー 問い合わせ先 . 03-5493-7211 Windows 3.1 の OLE 機 能にも対応したフル スクリーンエデイタ 1 名 各 2 名 PRINT MASTER BEETLE MOUSE 対応機種 提供・株アイティーシージャパン 血 t PC -9801 シリーズ 問い合わせ先 DOS / V マシン 03-5386-4861 価格 : 1 9 , 800 円 提供 : 株サンクエスト 問い合わせ先 03-3902-1169 機種の異なるプリン タで間で同一の印字 イメージを得るプリ ンタドライバ 2 名 〕 03 / V FOW 2 ボタンの PS/2 マウス 20 C MAGAZINE 1 3 10