叨叨小算盤 version 3.0 使用C#開發,運行於.net framework 4.0(點此下載)
叨叨小算盤的下載地址:download.csdn.net/detail/heroius/4878277
如有任何疑問,請訪問我的個人IEPI博客http://blog.heroius.com
了解叨叨小算盤
叨叨小算盤是一款智能計算器,它能夠識別你輸入的算式,並計算出一個結果。 啟動叨叨小算盤,可以見到它的主界面:
界面可划分為4個部分,首先是菜單欄,這里提供了一些常用操作,這些操作也可以通過其他方式實現:
編輯:輸入框編輯功能。
- 復制:復制輸入框中當前選中的文本,你也可以在文本框使用Ctrl+C進行相同的操作。
- 粘貼:將剪貼板上的文本內容粘貼到輸入框的當前選中位置,等效於Ctrl+V。
- 清除表達式<:清空輸入框內容,點擊"Clear"按鈕或按下Del鍵可達到同樣目的。
- 退出:退出叨叨小算盤。
記錄:操作計算的結果記錄。
- 轉到第一個、上一條、下一條、轉到最后:在21個記錄緩存中移動,將相應位置的記錄顯示在記錄框中。
- 傳遞到輸入:將當前顯示的記錄移至輸入框選中位置。
- 從輸入獲取:將輸入框中的內容保存為一個記錄。
幫助
- 說明:也許就是因為點擊了這個,你才看到了這篇文檔。
- 關於:顯示程序信息對話框。
第二個部分是記錄區。主界面上設置有21個循環存儲區,用於保存計算的結果(包括錯誤信息)。除去當前記錄號和記錄顯示框,其他按鈕功能均與記錄菜單項中相同。
第三部分為鍵盤區。位於中央部分的密集的按鈕組成了鍵盤區的大部,點擊它們后將在輸入框選中位置插入按鈕上顯示的文本,當然你也可以在輸入框中手動輸入內容。除了這些鍵入文本的按鈕,還有一些特殊的按鍵:
- GO:相當於敲擊回車鍵,點擊之后程序將執行當前輸入框中表達式的計算。
- Clear:相當於敲擊Del鍵,點擊之后將清空輸入框中的內容。
- Back:相當於敲擊退格鍵,點擊之后將刪除輸入框中的選中內容或光標位置的前一個字符。
- 顯示記錄窗:顯示或隱藏計算的輸入和輸出記錄,記錄窗是下面這個樣子的:
第四個部分是算符列表,在列表框中列出了所有可用的算符,雙擊算符可以在輸出框中插入算符,如在列表的ADDITION項目處雙擊鼠標左鍵,輸入框中會添加“ADDITION()”內容,並且光標被定為在括號之間以便為算符輸入參數。
什么是算符
算符是由算符名和一對括號組成的,我們一般稱之為函數,算符的名稱可能包含字母、數字和下划線,根據其功能不同,會需要在使用時提供數量不等的參數,參數之間需要用半角逗號(,)隔開,如算符ADDITION代表加法運算,使用時需要提供2個或更多參數:ADDITION(1,2,3),這樣的表達式會對參數進行求和,結果為6。
在算符列表中列出了叨叨小算盤支持的所有算符,下面的表單詳細說明了每個算符的作用和使用方法。
算符名 | 功能 | 參數個數 | 參數說明 |
---|---|---|---|
ADDITION | 加法運算,基數為0 | 不限,應輸入2個或更多 | 任意參數均為和數 |
SUBTRACTION | 減法運算 | 至少1個,應輸入2個或更多 | 以第一參數為被減數 |
MULTIPLICATION | 乘法運算,基數為1 | 不限,應輸入2個或更多 | 任意參數為因數 |
DIVISION | 除法運算 | 至少1個,應輸入2個或更多 | 以第一參數為被除數 |
MINUS | 取相反數 | 1個 | |
SELF | 獲取值自身 | 1個 | |
ABS | 取絕對值 | 1個 | |
REMAIN | 求整除余數 | 2個 | |
POW | 乘冪運算 | 2個 | 第一參數為底數,第二參數為指數 |
LOG | 對數運算 | 2個 | 第一參數為真數,第二參數為底數 |
TETRATION | 重冪運算 | 2個 | 第一參數為根,第二參數為次 |
SIN | 正弦函數 | 1個 | |
COS | 余弦函數 | 1個 | |
TAN | 正切函數 | 1個 | |
ASIN | 反正弦函數 | 1個 | |
ACOS | 反余弦函數 | 1個 | |
ATAN | 反正切函數 | 1個 | |
FACTORIAL | 階乘 | 1個 | 取第一參數的整數部分 |
PERMUT | 排列 | 2個 | 第一參數為選取數,第二參數為元素總數 |
COMBIN | 組合 | 2個 | 第一參數為選取數,第二參數為元素總數 |
GT | 比較:大於 | 2個 | |
LT | 比較:小於 | 2個 | |
EQ | 比較:等於 | 2個 | |
AND | 邏輯:與,基數為1 | 不限,應輸入2個或更多 | 所有參數均參與判斷 |
OR | 邏輯:或,基數為0 | 不限,應輸入2個或更多 | 所有參數均參與判斷 |
GE | 比較:大於或等於 | 2個 | |
LE | 比較:小於或等於 | 2個 | |
BETWEEN | 判斷第一參數是否在由第二、第三參數形成的閉區間上 | 3個 | 第一參數為待比較數,第二、第三參數分別構成閉區間的左右邊界 |
NOT | 邏輯:非 | ||
NE | 比較:不等於 | 2個 | |
IN | 判斷第一參數的值是否在出其之外的參數中出現 | 至少1個,應輸入2個或更多 | 第一參數為待比較數,其余參數為查找集合 |
ISNULL | 判斷輸入參數是否為空值 | - | 此算符無法在叨叨小算盤中使用 |
PI | 得到圓周率 | 0個 | |
E | 得到自然對數 | 0個 | |
RANDOM | 得到隨機數 | 0個、1個或2個 | 若輸入0個參數,則得到0附近的隨機數;若輸入參數為1個,則得到參數附近的隨機數;若輸入2個參數,則得到0附近、參數限定范圍內的隨機數 |
STR_EQ | 字符串操作:判斷兩個字符串是否相等 | 2個 | |
STR_CONTAIN | 字符串操作:判斷第一參數是否包含第二參數 | 2個 | |
STR_MATCH | 字符串操作:使用正則表達式判斷匹配 | 2個 | 第一參數為目標字符串,第二參數為正則表達式 |
注意:
- 你可以在算符表達式中輸入比列表中示明更多的參數,但多余的參數將被忽略。
- 有些算符接受不限數量的參數,當沒有輸入的參數或參數不足時,會返回一個默認的數,這個數在這里稱為“基數”。
- 算符的參數並非必須為常量,也可以是嵌套的表達式。
什么是符號
符號實際上是對算符的簡化,如符號“+”相當於算符ADDITION,不同的是,符號只能是一元或者二元的,而算符的參數數量則不受這個限制。下面的表單列舉了能夠在表達式中使用的符號:
符號 | 對應算符 | 參數說明 | 運算優先級 |
---|---|---|---|
- | MINUS | 對之后的成員取相反數 | highest |
^ | POW | 乘方 | higher |
* | MULTIPLITATION | 乘法 | high |
/ | DIVISION | 除法 | high |
+ | ADDITION | 加法 | low |
- | SUBTRACTION | 減法 | low |
> | GT | 比較數值 | lower |
< | LT | 比較數值 | lower |
= | EQ | 比較數值是否相等 | lower |
>= | GE | 比較數值 | lower |
<= | LE | 比較數值 | lower |
!= | NE | 比較數值是否不等 | lower |
& | AND | 邏輯與判斷 | lowest |
| | OR | 邏輯或判斷 | lowest |
注意:
- 符號會按照順序解析,看似相鄰的符號實際上會被解析為一個,例如10^-2這個式子在程序運算中會返回一個錯誤,報告沒有找到“^-”符號的定義,為了得到正確的結果,應當避免將不同的符號連接起來,使用括號可以達到預期的效果:10^(-2)。
- 形式相同的符號會根據其位置環境被解析為不同的算符,如“-”,當其只有右側的一個參數時會被作為MINUS處理,左右都有參數時則被解析為SUBTRACTION。
表達式規范
在叨叨小算盤中輸入的表達式必須遵循一定的規范:表達式中只能包含允許的成員,每種成員也有一定的格式要求,這些成員和要求在之后列出。
除了在字符串常量中:所有的字符均應為半角字符,並且建議不要使用任何空格,雖然空格會被自動忽略。
成對使用小括號“(”和“)”來確定優先級或分隔成員,程序無法識別其他的括號。
數值常量
數值常量中允許包含數字和小數點“.”,但每個數字應當最多包含一個小數點。輸入的數值一般是正數,負數的情況是通過符號“-”指定的。
字符串常量
字符串常量使用雙引號(同樣是半角的“"”)包圍,在特殊的情況下,字符串常量本身可能包含有雙引號,因此引入了轉義字符“\”,當需要在字符串常量中包含雙引號時,需要輸入“\"”,類似的,需要包含反斜杠時輸入“\\”。
算符
算符用於在表達式中調用內置的函數。每個算符包含一個算符名,接下來是一對小括號,在括號中為算符的參數,參數間由逗號“,”分隔。算符名只能包含字母、數字和下划線“_”,且不能由數字開頭,字母不區分大小寫。在“什么是算符”主題下列出了所有可以使用的算符及說明。
符號
符號使用特殊字符來簡化算符的使用,在“什么是符號”主題下列出了所有可以使用的符號及說明。
特殊值
特殊值的表達規范和算符的名稱相似,只能包含字母、數字和下划線"_",且不能由數字開頭,但是字母區分大小寫。特殊值用來對應數學中的常用數值,在叨叨小算盤中,e代表自然常數,pi代表圓周率,x代表一個基於0的隨機數。
計算實例
考慮如下算例:
-
計算半徑為4.5個單位的圓面積
表達式:pi*POW(4.5,2)
結果:63.6172512351933
-
比較 3倍√2 是否大於 2倍√3
表達式:3*POW(2,-2)>2*POW(3,-2)
結果:1(是)
-
從5個顏色的球中任選3個,有多少種顏色組合可能
表達式:COMBIN(3,5)
結果:10