1.NIFEとは

NIFEとは、なんでしょうか?

====================

【キャッチフレーズ】

====================

このプログラムをいろいろなコピーをつけてご紹介してきましたが、

まだ、決定的なキャッチフレーズに出会えずにいます。これまで使ったものを

羅列してみましょう。

数値計算プログラム

数学の式の計算で、電卓で計算するにはちょっと面倒だけれども、

わざわざプログラムを作るのはもっと面倒だと思うときに、

理工系必携 箇条書き数式計算

数式計算グラフ化

箇条書きに並べた数式を計算してくれるソフト

CAIにも使える数理公式集作成ツール

数理モデルシュミレーション言語 NIFE

====================

【プログラムの例題】(DOS版、Windows版での実施例)

====================

【問題】

1リットルの容器に10gの窒素ガス(分子量28)を入れたときの

圧力を温度が0℃、25℃、100℃のときについて求めなさい。

圧力の単位は、パスカル[Pa]と気圧[atm]の両方で示しなさい。

【解答】NIFEならこうです。

> V=1e-3 '容器の大きさ[m3]

> w=10 '気体の重さ[g]

> M=28 '気体の分子量[g/mol]

> P(T[C])=n R T[K]/V 'ガスの圧力[Pa]

> n=w/M '気体のモル数[mol]

> R=8.314 '気体定数[J/mol K]

> [atm][Pa]=101325 '圧力の単位変換

> P(0);P(25);P(100)

P(0)=811060.39[Pa] P(25)=885292.54[Pa] P(100)=1107989[Pa]

> P(0)[atm];P(25)[atm];P(100)[atm]

P(0)[atm]=8.0045437[atm] P(25)[atm]=8.737158[atm] P(100)[atm]=10.935001[atm]

必要な関係式を思い付くままに定義してしまってから、値を様々に変化させて

式の計算ができます。もちろん、式の修正や表示も思いつくままに試すことが

できます。

====================

【プログラムの概要】

====================

B馬鹿でも Aアホでも Sすぐに Iいじれる Cコンピュータ といわれた

Beginner's All-purpose Symbolic Instruction CodeつまりBASIC言語

が最初に目指していたものは、あのスパゲッティプログラムではなく、

ダイレクトモードでの会話型の操作環境であったのだろうと思います。

しかし、いつのまにかBASICはプログラムモードでの使用が中心になって

ダイレクトモードは忘れ去られていきました。

このプログラムNIFEでは、改めてダイレクトモードのインタープリターに

脚光を当てようとしています。

それは、関数電卓のための新たな言語の提案でもあり、

理工系の学生への福音でもあります。

BASICとNIFEの違いを挙げるなら次の4点に凝縮されるでしょう。

(1)BASICが変数とその計算を基礎に成り立っていると考えるのなら、

このNIFEは、関数とその計算を基礎に成り立っています。

(2)BASICがsaveするものは変数の値でなくプログラムですが、

NIFEがsaveするものは関数の定義です。

(3)従来の高級言語プログラムは、

データ処理の順序を記述するように設計されていますが、

NIFEは、数学の式のような順序と無関係な関数定義の集まりを処理

するため設計されています。

(4)強力な手続きファイル機能とユーザーカスタマイズ可能なヘルプ機能を持ち、

科学技術計算の他にもCAIや科学公式事典などの用途が考えられます。

つまりNIFE(on MS-Excel)は、

関数定義をオブジェクトとするオブジェクト指向言語です。

1.関数の定義は、完全に数学の式と同じに記述する。

(組込関数と引数処理は、近日中に対応予定)

例: f(x,y)=x+2y

S=(a+b)h/2

2.計算式を書くと、値を計算して表示する。

例: 1+2+3

f(S+2,S^2)+f(S-2,sqrt(S))

3.変数への代入もサポートする。代入記号として、<を使う。

(変数の代入は、近日中に対応予定)

例: x<55

y<1+2+3

4.単位のついた式を計算できる。

例: 5[m]+3[mm]=503[mm]

5[mm]+3[m]=3.005[m]

5.繰り返しや、定義式のファイル保存など、いくつかの命令を用意する。

命令は、ピリオド.で始まります。

(制御命令は、大幅に改定して将来導入予定。現在は.list のみ)

繰り返し: .repeat 10;x<x+10;f(x);g(x)

定義保存: .save (ファイル名)

定義読出: .do (ファイル名)

など多数の制御命令がある。

6.手続き定義文をつかって、マクロ命令がつくれる。

(手続き定義文は、大幅に改定して将来導入予定。)

7.オンラインヘルプ命令(.help)を備えている。

(将来導入予定)

8.インタプリタで動作することで、式の変更や追加を迅速かつ容易に行える。