叨叨小算盤 3.0


叨叨小算盤 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個 第一參數為目標字符串,第二參數為正則表達式

注意:

  1. 你可以在算符表達式中輸入比列表中示明更多的參數,但多余的參數將被忽略。
  2. 有些算符接受不限數量的參數,當沒有輸入的參數或參數不足時,會返回一個默認的數,這個數在這里稱為“基數”。
  3. 算符的參數並非必須為常量,也可以是嵌套的表達式。
 

什么是符號


符號實際上是對算符的簡化,如符號“+”相當於算符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

注意:

  1. 符號會按照順序解析,看似相鄰的符號實際上會被解析為一個,例如10^-2這個式子在程序運算中會返回一個錯誤,報告沒有找到“^-”符號的定義,為了得到正確的結果,應當避免將不同的符號連接起來,使用括號可以達到預期的效果:10^(-2)。
  2. 形式相同的符號會根據其位置環境被解析為不同的算符,如“-”,當其只有右側的一個參數時會被作為MINUS處理,左右都有參數時則被解析為SUBTRACTION。
 

表達式規范


在叨叨小算盤中輸入的表達式必須遵循一定的規范:表達式中只能包含允許的成員,每種成員也有一定的格式要求,這些成員和要求在之后列出。

除了在字符串常量中:所有的字符均應為半角字符,並且建議不要使用任何空格,雖然空格會被自動忽略。

成對使用小括號“(”和“)”來確定優先級或分隔成員,程序無法識別其他的括號。

數值常量

數值常量中允許包含數字和小數點“.”,但每個數字應當最多包含一個小數點。輸入的數值一般是正數,負數的情況是通過符號“-”指定的。

字符串常量

字符串常量使用雙引號(同樣是半角的“"”)包圍,在特殊的情況下,字符串常量本身可能包含有雙引號,因此引入了轉義字符“\”,當需要在字符串常量中包含雙引號時,需要輸入“\"”,類似的,需要包含反斜杠時輸入“\\”。

算符

算符用於在表達式中調用內置的函數。每個算符包含一個算符名,接下來是一對小括號,在括號中為算符的參數,參數間由逗號“,”分隔。算符名只能包含字母、數字和下划線“_”,且不能由數字開頭,字母不區分大小寫。在“什么是算符”主題下列出了所有可以使用的算符及說明。

符號

符號使用特殊字符來簡化算符的使用,在“什么是符號”主題下列出了所有可以使用的符號及說明。

特殊值

特殊值的表達規范和算符的名稱相似,只能包含字母、數字和下划線"_",且不能由數字開頭,但是字母區分大小寫。特殊值用來對應數學中的常用數值,在叨叨小算盤中,e代表自然常數,pi代表圓周率,x代表一個基於0的隨機數。

 

 

計算實例



考慮如下算例:

  1. 計算半徑為4.5個單位的圓面積

    表達式:pi*POW(4.5,2)

    結果:63.6172512351933

  2. 比較 3倍√2 是否大於 2倍√3

    表達式:3*POW(2,-2)>2*POW(3,-2)

    結果:1(是)

  3. 從5個顏色的球中任選3個,有多少種顏色組合可能

    表達式:COMBIN(3,5)

    結果:10

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM