西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

開放式計(jì)算程序OpenFC

V6.0 官方正式版
  • 開放式計(jì)算程序OpenFCV6.0 官方正式版
  • 軟件大小:3.0M
  • 更新時(shí)間:2014-11-05 10:58
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費(fèi)軟件 / 編程輔助
  • 軟件等級(jí):4級(jí)
  • 應(yīng)用平臺(tái):WinAll, WinXP
  • 官方網(wǎng)站:http://forcal.yeah.net/
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

OpenFC是一個(gè)實(shí)用工具,可以進(jìn)行各種數(shù)學(xué)計(jì)算、工程計(jì)算等,可滿足中學(xué)生、大學(xué)生和各類工程技術(shù)人員的大部分需要。OpenFC也是一個(gè)編程工具,相信愛好數(shù)學(xué)的編程愛好者一定會(huì)喜歡。

OpenFC是一個(gè)開放式的數(shù)值計(jì)算程序。
OpenFC中的計(jì)算采用程序控制方式,其源程序書寫格式自由,且具有C++風(fēng)格的注釋。用戶可以通過簡(jiǎn)單的編程方便地實(shí)現(xiàn)他們所需的功能,例如:可以使用常規(guī)的數(shù)學(xué)函數(shù)進(jìn)行整數(shù)、實(shí)數(shù)和復(fù)數(shù)表達(dá)式的計(jì)算;進(jìn)行常量定義;使用字符串;使用數(shù)組;使用邏輯函數(shù);使用if判斷語句、which選擇計(jì)算語句、for循環(huán)、dowhile循環(huán)等進(jìn)行流程控制等等。

借助本系統(tǒng)可以了解OpenFC、Forcal32W.dll和MForcal32W.dll的詳細(xì)信息。

·一個(gè)開放式數(shù)值計(jì)算工具,可以方便地進(jìn)行功能擴(kuò)展。
·演示FORCAL的重要功能。
·演示MForcal的全部功能。

簡(jiǎn)介:

OpenFC是一個(gè)開放式的數(shù)值計(jì)算程序,由Forcal32W.dll和MForcal32W.dll提供支持。

OpenFC能夠編譯運(yùn)行具有固定格式的源程序(字符串表達(dá)式),源程序中可以使用C++風(fēng)格的注釋。源程序中可以使用的運(yùn)算符有+、-、*、/、^、>、>=、<、<=、==、!=、&、|、!、++、--等等,具有數(shù)值計(jì)算、邏輯運(yùn)算、關(guān)系運(yùn)算、字符數(shù)據(jù)處理、流程控制、函數(shù)調(diào)用等許多的可編程功能。

OpenFC是開放式的,很容易進(jìn)行功能擴(kuò)展。OpenFC通過加載Forcal擴(kuò)展動(dòng)態(tài)庫進(jìn)行功能擴(kuò)展,這些庫可以用VC、Delphi或者Fortran等高級(jí)語言進(jìn)行編寫。

OpenFc可以對(duì)源程序進(jìn)行模塊化編譯,可以打開多個(gè)文件同時(shí)進(jìn)行操作,提高了運(yùn)行效率。

OpenFC允許用戶將常用的計(jì)算定義為命令,通過命令菜單執(zhí)行計(jì)算。命令菜單是OpenFC提倡的計(jì)算方式。

在OpenFC中,用戶也可以自定義窗口,用戶在窗口中可以使用編輯框、靜態(tài)文本、普通按鈕、單選按鈕、復(fù)選框、組框、位圖等控件。用戶自定義命令和用戶自定義窗口改善了人機(jī)界面,強(qiáng)烈推薦使用。

用戶可通過工作區(qū)文件對(duì)OpenFc的工作環(huán)境進(jìn)行配置,如設(shè)置需要加載的擴(kuò)展動(dòng)態(tài)庫、設(shè)置模塊、設(shè)置命令、設(shè)置常量等等,一切可按照自己的喜好和實(shí)際工作需要進(jìn)行配置。

目前,通過Forcal擴(kuò)展動(dòng)態(tài)庫為OpenFC增加的功能有:解非線性方程(組)、多元積分、微分方程求解、函數(shù)圖形繪制(由OpenGL圖形庫提供支持,可以繪制精美的二維和三維數(shù)學(xué)函數(shù)圖形)等等。

最新升級(jí)內(nèi)容:

[2010.02.10] 增加AutoMfc程序。

[2010.01.20] 增加Forcal優(yōu)化動(dòng)態(tài)庫FcOpt。

[2009.11.08] 增加OpenFC的語法高亮功能,可通過工作區(qū)文件自定義語法高亮的Forcal關(guān)鍵字。目前的問題:撤消及恢復(fù)功能不能用。

[2009.11.01] OpenFC界面由RichEdit提供支持。

[2009.08.01] OpenFC由Forcal32W.dll和MForcal32W.dll提供支持,升級(jí)為OpenFC V6.0。 

表達(dá)式和源程序:

OpenFC由Forcal32W.dll和MForcal32W.dll提供支持,MForcal32W.dll是一個(gè)標(biāo)準(zhǔn)的Forcal擴(kuò)展動(dòng)態(tài)庫。MForcal32W.dll可以編譯固定格式的Forcal源程序。

使用OpenFC需要先了解FORCAL表達(dá)式和MForcal的源程序格式。

OpenFC中使用的表達(dá)式格式與標(biāo)準(zhǔn)的Forcal表達(dá)式格式完全相同。

OpenFC中使用的源程序格式與標(biāo)準(zhǔn)的MForcal源程序格式完全相同。每一個(gè)源程序被編譯為一個(gè)模塊。在MForcal中,源程序和模塊幾乎是同義詞。

1.1 源程序的一般格式

在MForcal源文件中,可以有多個(gè)FORCAL表達(dá)式,表達(dá)式之間用分號(hào)“;”隔開。 兩個(gè)連續(xù)的分號(hào)“;;”表示前面的表達(dá)式在執(zhí)行時(shí)不會(huì)輸出結(jié)果。

由于FORCAL數(shù)學(xué)表達(dá)式有三種,即整數(shù)表達(dá)式、實(shí)數(shù)表達(dá)式和復(fù)數(shù)表達(dá)式。為便于區(qū)分,MForcal將以i:開頭的表達(dá)式作為整數(shù)表達(dá)式,以r:開頭的表達(dá)式作為實(shí)數(shù)表達(dá)式,以c:開頭的表達(dá)式作為復(fù)數(shù)表達(dá)式,缺省為實(shí)數(shù)表達(dá)式。缺省的表達(dá)式類型可以重新設(shè)置:若表達(dá)式以integer:開頭,表示自該表達(dá)式開始,后面的缺省表達(dá)式為整數(shù)表達(dá)式;若表達(dá)式以real:開頭,表示自該表達(dá)式開始,后面的缺省表達(dá)式為實(shí)數(shù)表達(dá)式;若表達(dá)式以complex:開頭,表示自該表達(dá)式開始,后面的缺省表達(dá)式為復(fù)數(shù)表達(dá)式。

同時(shí),在源文件中可以進(jìn)行注釋,注釋方法與C++語言相似,即:每行兩個(gè)//后的內(nèi)容為注釋內(nèi)容;在一行內(nèi)或者多行之間/*...*/之間的內(nèi)容為注釋內(nèi)容。注釋不是源程序的有效部分,但可以使程序更易讀。

舉例如下:

//這是一個(gè)例子!灰色部分為注釋,不會(huì)被執(zhí)行;

i:2.2+3;  //以i:開頭是整數(shù)表達(dá)式; 

 c:sin(2.2+3.3i);   //以c:開頭是復(fù)數(shù)表達(dá)式;

2.2+3.3;   //這是實(shí)數(shù)表達(dá)式。

2+3;/* 從這里開始,連續(xù)幾行注釋:

333+222;

 . . . . . . ;

 555-222;

 */ sin(2.5);

 exp(2);

 integer:  //設(shè)置缺省表達(dá)式為整數(shù)表達(dá)式;

2.2+3;//這是整數(shù)數(shù)表達(dá)式;


可以用加載MForcal的任何一個(gè)程序驗(yàn)證以上代碼。

1.2 程序的執(zhí)行

由于表達(dá)式有些帶有參數(shù),有些不帶參數(shù),MForcal在進(jìn)行處理時(shí),對(duì)于有參數(shù)的表達(dá)式只進(jìn)行編譯,不進(jìn)行計(jì)算。

MForcal只順序執(zhí)行不帶參數(shù)的表達(dá)式。如果該表達(dá)式以兩個(gè)連續(xù)的分號(hào)“;;”結(jié)尾,則該表達(dá)式只執(zhí)行,不輸出計(jì)算結(jié)果。

但是,如果表達(dá)式以冒號(hào)“ : ”開頭,則無論是有參表達(dá)式還是無參表達(dá)式,都是只編譯,不執(zhí)行,格式如下:

i:: 2+3;//整數(shù)無參表達(dá)式,只編譯,不執(zhí)行;

i:: f1()=2+3;   //整數(shù)無參表達(dá)式,只編譯,不執(zhí)行;

c:: 2+3i;   //復(fù)數(shù)無參表達(dá)式,只編譯,不執(zhí)行;

c:: f2()=2+3i;  //復(fù)數(shù)無參表達(dá)式,只編譯,不執(zhí)行;

: 2+3;  //實(shí)數(shù)無參表達(dá)式,只編譯,不執(zhí)行;

: f3()=2+3; //實(shí)數(shù)無參表達(dá)式,只編譯,不執(zhí)行。


無參表達(dá)式f1、f2和f3可以在其他可執(zhí)行的表達(dá)式中被調(diào)用。


另外,如果無參表達(dá)式以感嘆號(hào)“ ! ”開頭,則編譯后立即執(zhí)行,且以后執(zhí)行模塊時(shí)不再自動(dòng)執(zhí)行。格式如下:


i:! 2+3; //整數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

i:! f1()=2+3;   //整數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

c:! 2+3i;//復(fù)數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

c:! f2()=2+3i;   //復(fù)數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

! 2+3;  //實(shí)數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

! f3()=2+3; //實(shí)數(shù)無參表達(dá)式,編譯成功,立即執(zhí)行,以后不再自動(dòng)執(zhí)行;

無參表達(dá)式f1、f2和f3可以在其他可執(zhí)行的表達(dá)式中被調(diào)用。

1.3 源程序的完整格式 

編譯時(shí),將源程序中的表達(dá)式編譯為一個(gè)或多個(gè)模塊,MForcal會(huì)對(duì)每一個(gè)模塊進(jìn)行加鎖。編譯時(shí) 首先設(shè)置起始模塊,也稱主模塊(并非Forcal的0#模塊,恰恰相反,MForcal不會(huì)將任何一個(gè)表達(dá)式編譯為0#模塊,定義主模塊是為了與源程序中的其他模塊相區(qū)別),以后每當(dāng)遇到#MODULE#,開始編譯為一個(gè)新的模塊 ,稱為子模塊,而每當(dāng)遇到#END#,回到主模塊的編譯。即#MODULE#和#END#之間的表達(dá)式定義為一個(gè)子模塊,子模塊之間不能嵌套定義。注意#MODULE#和#END#必須位于表達(dá)式的開頭。 在模塊中,以~開頭的表達(dá)式被編譯為公有表達(dá)式(全局表達(dá)式或全局函數(shù)),能被其他模塊訪問到,其余的表達(dá)式均被編譯為私有表達(dá)式(私有函數(shù)),其他模塊無法訪問。所有模塊的模塊號(hào)由MForcal或程序員指定,不會(huì)重復(fù),也不會(huì)被編譯為0#模塊。在源程序的任何地方,可用指令#USE#調(diào)用另一個(gè)模塊。

模塊源文件的格式如下:

  //單行注釋:模塊名:myModule

   /*

 多行注釋:在同一模塊源文件中的所有表達(dá)式屬于同一個(gè)模塊;

多行注釋:以~開頭的表達(dá)式可被其他模塊的表達(dá)式所訪問;

多行注釋:不以~開頭的表達(dá)式只能被該模塊的表達(dá)式所訪問。

  */

  #MODULE#//定義一個(gè)子模塊;

i:a(x)=10+x;  //私有函數(shù),只能被該模塊的表達(dá)式所訪問;

c:!b()=100+100i; //私有函數(shù),只能被該模塊的表達(dá)式所訪問 ,該表達(dá)式是在編譯時(shí)執(zhí)行的;

~_c(x)=x-5;  //全局函數(shù),任意模塊包括本模塊均可訪問;

~_f(x)=a(x)+b(); //全局函數(shù),任意模塊包括本模塊均可訪問;

~i:g(x)=a(x)+_c(x);  //全局函數(shù),任意模塊包括本模塊均可訪問;

#USE# Module1;   //使用模塊Module1;

~_ff(5)+_gg(6);  //函數(shù)_ff()和_gg()在模塊Module1中定義;

  #END#   //子模塊定義結(jié)束,可缺;

  #MODULE#   //定義一個(gè)子模塊;

i:a(x)=10-x; //私有函數(shù),只能被該模塊的表達(dá)式所訪問;

~ff(x)=a(x); //全局函數(shù),任意模塊包括本模塊均可訪問;

  #END#  //子模塊定義結(jié)束,不可缺;

  _f(1); //主模塊中的表達(dá)式。

  ff(1); //主模塊中的表達(dá)式。

  integer:   //設(shè)置缺省表達(dá)式為整數(shù)表達(dá)式;

  2.2+3; //這是整數(shù)數(shù)表達(dá)式;


在其他模塊中使用該模塊的格式如下:


  #USE# myModule;  //關(guān)鍵字USE必須為大寫,myModule是模塊名稱;

  _f(2)+g(3);  //調(diào)用myModule模塊中定義的函數(shù);

1.4 編譯指令的位置和次序

在MForcal中使用的#MODULE#、#END#、#USE#、integer:、real:、complex:、~、i:、r:、c:、:、!等稱為編譯指令,用以確定一個(gè)表達(dá)式的類型、所在模塊、是否私有函數(shù)等屬性。這些編譯指令必須位于表達(dá)式的開頭,有些指令能同時(shí)使用,有些指令不能同時(shí)使用,并且在使用時(shí)有一定的次序,按先后順序依次為:

1)編譯指令#MODULE#、#END#、#USE#、integer:、real:和complex:之間沒有先后順序,可混合使用,但這些指令必須在表達(dá)式的最前面,一般單獨(dú)成行。

2)~表示該表達(dá)式是一個(gè)全局表達(dá)式,否則是私有表達(dá)式。

3)編譯指令i:、r:、c:不能混合使用,只能使用其中的一個(gè),強(qiáng)制指定表達(dá)式的類型。如果都沒有用,表達(dá)式按缺省的類型進(jìn)行編譯。

4)編譯指令:、!不能混合使用,只能使用其中的一個(gè)。:表示該表達(dá)式只編譯,不執(zhí)行;!表示該表達(dá)式編譯后立即執(zhí)行,但以后執(zhí)行模塊時(shí)不再自動(dòng)執(zhí)行。

如果表達(dá)式前沒有使用任何一個(gè)編譯指令,則按缺省表達(dá)式的類型編譯為私有表達(dá)式,若該表達(dá)式是無參表達(dá)式,則執(zhí)行模塊時(shí)將自動(dòng)執(zhí)行。

適合于:

1、初級(jí)用戶:使用OpenFC命令進(jìn)行計(jì)算、能使用簡(jiǎn)單的FORCAL表達(dá)式進(jìn)行計(jì)算。
2、中級(jí)用戶:熟練使用FORCAL表達(dá)式進(jìn)行計(jì)算。
3、高級(jí)用戶:能使用C++、Delphi、FORTRAN等高級(jí)語言編寫Forcal擴(kuò)展動(dòng)態(tài)庫。

軟件標(biāo)簽: OpenFC

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載