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.インタプリタで動作することで、式の変更や追加を迅速かつ容易に行える。