周超
摘 要 在數(shù)學的學習研究,以及一切用到數(shù)學的地方,數(shù)學公式是無法離開的東西,數(shù)學公式使抽象的數(shù)學具體化成為了一種人類可以理解并交流的語言。然而在數(shù)學發(fā)展的幾千年中,參與者只有人類自己,自然而然的數(shù)學公式的發(fā)展也是向著符合人類思考方式的方向發(fā)展。本文結合計算機技術對數(shù)學公式的立體結構進行了研究。
【關鍵詞】數(shù)學公式 計算機 立體結構
1 結構概述
在數(shù)學的學習研究,以及一切用到數(shù)學的地方,數(shù)學公式是無法離開的東西,數(shù)學公式使抽象的數(shù)學具體化成為了一種人類可以理解并交流的語言。
然而在數(shù)學發(fā)展的幾千年中,參與者只有人類自己,自然而然的數(shù)學公式的發(fā)展也是向著符合人類思考方式的方向發(fā)展。
現(xiàn)在隨著計算機的發(fā)展,數(shù)學的研究已經(jīng)不止人類一個參與者,從幾十年前數(shù)學就已經(jīng)離不開“計算機”這個強有力的參與者,然而這幾十年中計算機的參與過程一直強行使用人類的數(shù)學語言,導致處理過程較為復雜。
現(xiàn)在使用的主要數(shù)學公式由阿拉伯數(shù)字,英文字母,希臘字母,以及一些專用符號組成,其結構為線性的字符組合。
我所構建的結構其組成元素與傳統(tǒng)數(shù)學公式?jīng)]有太大不同,其區(qū)別主要在于結構上是立體的樹形圖,而不是線性結構(數(shù)組)。這樣做的優(yōu)點是式使公式更加接近數(shù)學本身,舉例來說:
如圖1所示,(a+b)*(a-b)在傳統(tǒng)的表現(xiàn)形式中是這個樣子,其數(shù)學含義是兩個部分相乘,但是從公式來看他是一串沒有本質差別的信息,人類可以方便的通過*將其分割成兩部分并且明白兩部分間的關系,然而計算機處理就需要強行模仿人類的這一過程,找到“*”并且將其分割為兩部分。如果再加上“+”,“-”括弧等處理起來將會十分麻煩,而在我的結構中這個公式是一棵樹,首先是分為(a+b)與(a-b)這兩部分,(a+b)又分為a,b兩部分(a-b)同理。
通過這種結構能夠節(jié)省計算機資源,開發(fā)人員在開發(fā)相關程序時也能更加輕松,簡單。當然,因為進行各種工作的過程中離不開人的參與,所以必然會牽扯到傳統(tǒng)類型公式的處理,采用我的結構后這種處理只需要進行一次,既將字符串轉化為立體公式的過程,這一過程可以采用統(tǒng)一的封裝起來的方法,開發(fā)人員需要操作的只有適合計算機處理的立體結構了。
2 立體結構公式詳解
首先,我們需要了解運算符,我將運算符分為兩種,第一種:表示數(shù)據(jù)關系的關系類型,即四則運算與括弧。第二種:對單個數(shù)據(jù)進行處理的操作類型,如乘方運算,三角函數(shù)運算等。對于第二種又分為兩類,有操作數(shù)的:如乘方運算,無操作數(shù)的:如三角函數(shù)運算。
構建立體結構公式的第一步是根據(jù)關系類型運算符建立主要框架:
關系類型運算符所代表的關系并不是數(shù)據(jù)之間的關系而是與整個公式的關系,如“a+b”中的“+”并不是說“a”與“b”之間的關系是加,是指“b”與公式的關系是公式整體加上了“b”,“a”前其實隱含一個加號也就是“+a+b”,“a*b”也是如此。
乘除運算的優(yōu)先級高于加減運算,也就是說乘除符號代表的是更加細致的數(shù)學結構,如“a+b*a”這個公式中‘*表示的是“a”與“b*a”這部分的關系,而‘+表示的是“b*a”與整個公式的關系。建立框架的第一步自然是要首先分析更宏觀的部分即加減運算,首先分析加減號(同級括弧外),在這個例子中存在兩個加號,第一級也就是由兩個加號分割而來的兩部分這樣也就形成了+a這個葉子與+(b*a)這棵子樹,圖2‘*又將(b*a)分割為*b與*a兩個葉子圖3。那么整體的結構也就構建完成圖4。
考慮括號后構建會稍微復雜一些,括號會獨立成為一棵子樹并使其中的節(jié)點深度加一,因此在構建框架時要注意區(qū)分分隔符是否在同級括號內,如a+b+c圖5a+b+(c)圖6a+(b+c)圖7。
每一個葉子都含有兩部分信息,即運算符與基本元素,而子樹節(jié)點上的內容只有運算符本身,其他信息包含在其孩子內。
構建立體結構公式的第二步是根據(jù)操作類型運算符完善結構:
操作類型運算符所操作內容必定是一個葉子或一棵子樹,因為一棵子樹中可以只包含一個葉子,所以為了方便默認操作類型運算符所操作內容是一棵子樹。如“a+sin23”圖8“a+sin(20+a)”圖8。
對于有操作數(shù)的操作類型運算符,操作數(shù)與操作內容類似為一棵子樹,然而操作數(shù)只是運算符的一個屬性所以不能算作主要樹的一部分,因此結構需上升到的三維結構如“a+b^(b+20)”其中包含兩棵樹圖10、圖11,相互關系為包含關系,但并不是樹與子樹的關系,而是通過一個運算符建立的間接的包含關系圖12。
自此已經(jīng)可以完整的構建比較復雜的數(shù)學公式如“a+b+(sin(x^2)-(z/b)+ab)”圖13。
注:“節(jié)點”“樹”等相關名詞為“數(shù)據(jù)結構”相關內容
作者單位
青島理工大學(臨沂) 山東省臨沂市 273400