下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
在最近,有一些時(shí)間可以嘗試一些新的學(xué)習(xí)內(nèi)容,想起在Anew中做一個(gè)計(jì)算器,因?yàn)樵陔娔X上用程序時(shí)很多時(shí)候計(jì)算器沒有在旁邊,頗多不便,當(dāng)然可以用微軟提供的計(jì)算器,也可以使用excel單元格計(jì)算功能,但他們都不能很方便支持角度輸入,于是決定自己動(dòng)手造一個(gè)。初入手時(shí)沒有頭緒,想來想去,最后歸結(jié)為就是一個(gè)支持角度的表達(dá)式計(jì)算,如:314.023*cos(125°31′5″)+562.841*sin(235°26′34″)角度°′″在輸入中很不方便,識(shí)別倒是沒有問題,這也是大多數(shù)測量軟件將角度表示簡化為小數(shù)表示的原因,但是在表達(dá)式里是不能這樣的,因?yàn)闀?huì)和正常的小數(shù)數(shù)值相混淆,必須加以區(qū)分。如cos(125.2632),究竟是角度的還是弧度的,無法區(qū)分。這樣的問題解決方案有兩個(gè):1、用某個(gè)鍵盤上易輸入的符號(hào)代替°′″。2、使用函數(shù)形式包括小數(shù)等形式角度表達(dá)。最后選擇了第二種,使用dms()函數(shù)形式。當(dāng)然第一種也可以。這樣當(dāng)在表達(dá)式中使用°′″時(shí),便寫成dms(小數(shù)角度)即可,如上例中cos(125°31′5″)寫成:cos(dms(125.3105))01學(xué)習(xí)新的程序設(shè)計(jì)技術(shù)說是“新”的,其實(shí)并不新,只是相對(duì)自己而言,不熟知的便是新的東西。對(duì)于解決表達(dá)式計(jì)算來說,看起來簡單,其實(shí)不然。目前解決表達(dá)式計(jì)算有兩種主流技術(shù):1、使用堆棧數(shù)據(jù)結(jié)構(gòu)分析表達(dá)式。2、使用正則表達(dá)式識(shí)別表達(dá)式。對(duì)于使用上述任何一種技術(shù),對(duì)于非計(jì)算機(jī)專業(yè)人員都是困難的。堆棧方式程序?qū)崿F(xiàn)更為復(fù)雜,測試也較困難,而正則表達(dá)式則相當(dāng)于要學(xué)習(xí)一門新的程序設(shè)計(jì)語言,而且這語言極為晦澀。對(duì)于以學(xué)習(xí)為目的,自然選擇后者。02正則表達(dá)式,以簡驅(qū)繁無論表達(dá)式如何復(fù)雜,在一個(gè)表達(dá)式中,只要能正確識(shí)別子表達(dá)式并不斷用子表達(dá)式的計(jì)算結(jié)果代替即可,這給程序設(shè)計(jì)帶來方便,如識(shí)別出dms(125.3105)子表達(dá)式,便計(jì)算出弧度值代替這個(gè)表達(dá)式,不斷循環(huán),直到最后是數(shù)值或不能再識(shí)別的表達(dá)式為止。問題是如何才能正確識(shí)別不同的子表達(dá)式,這便是正則表達(dá)式要完成的任務(wù)。如[-]?\d*\.?\d+表示匹配一個(gè)數(shù)值。[-]?\d*\.?\d+\s*([*/])\s*[-]?\d*\.?\d+表示匹配數(shù)值的乘除運(yùn)算[-]?\d*\.?\d+\s*([-+])\s*[-]?\d*\.?\d+表示匹配數(shù)值的加減運(yùn)算[-]?\d*\.?\d+\s*(\^)\s*表示匹配乘方運(yùn)算cos\(\s*"&Num&"\s*\)表示匹配余弦計(jì)算,其他函數(shù)替換關(guān)鍵詞即可。......初看根本看不懂,甚至責(zé)怪為什么發(fā)明那么難懂的正則表達(dá)式。但了解了各種元符號(hào)的意義,也就變得簡單了,相比掌握一門高級(jí)程序設(shè)計(jì)語言還是簡單了不少。有興趣的小伙伴可以在網(wǎng)上找到相關(guān)正則表達(dá)式的知識(shí)。其實(shí)在一個(gè)我們要計(jì)算的表達(dá)式中,并沒有更多復(fù)雜的正則表達(dá)式,上述幾個(gè)正則式足以幫助我們實(shí)現(xiàn)常規(guī)表達(dá)式的計(jì)算。03實(shí)現(xiàn)首先,表達(dá)式計(jì)算器在網(wǎng)絡(luò)上有一些現(xiàn)成的程序,手機(jī)app也見過。我們的實(shí)現(xiàn)是基于使用方便,更多基于學(xué)習(xí)的目的。計(jì)算一個(gè)角度值(小數(shù)角度格式)的余弦值,再求反余弦值,轉(zhuǎn)換成°′″驗(yàn)證一下。對(duì)于Anew的表格,也可以提供臨時(shí)公式計(jì)算功能,在應(yīng)用一些程序如線路定義時(shí)需要臨時(shí)計(jì)算可以在表格中如Excel一樣輸入公式,也可以使用表達(dá)式計(jì)算器計(jì)算出結(jié)果復(fù)制黏貼。04總結(jié)其實(shí)大多數(shù)的技術(shù)人員在學(xué)校里學(xué)過編程課程,在實(shí)際工作中卻很少使用,以致于越來越難以去
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人商鋪?zhàn)赓U與買賣合同協(xié)議2篇
- 2025年度情侶共同生活費(fèi)用分?jǐn)偧柏?zé)任分擔(dān)合同3篇
- 2025年度個(gè)人商鋪?zhàn)赓U給電子商務(wù)企業(yè)合同
- 二零二五年度離婚協(xié)議書及子女監(jiān)護(hù)權(quán)及探視權(quán)協(xié)議3篇
- 二零二五年度電商移動(dòng)應(yīng)用開發(fā)與運(yùn)營承包協(xié)議8篇
- 2025年度太空望遠(yuǎn)鏡觀測項(xiàng)目合同4篇
- 2025年度瓷磚原產(chǎn)地認(rèn)證及進(jìn)出口貿(mào)易合同4篇
- 二零二五版民辦學(xué)校校長任期領(lǐng)導(dǎo)力培養(yǎng)合同4篇
- 智能城市規(guī)劃應(yīng)用-深度研究
- 二零二五年度文化產(chǎn)業(yè)園運(yùn)營管理合同4篇
- AQ-T 1009-2021礦山救護(hù)隊(duì)標(biāo)準(zhǔn)化考核規(guī)范
- 鹽酸埃克替尼臨床療效、不良反應(yīng)與藥代動(dòng)力學(xué)的相關(guān)性分析的開題報(bào)告
- 消防設(shè)施安全檢查表
- 組合結(jié)構(gòu)設(shè)計(jì)原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質(zhì)常識(shí)培訓(xùn)課件
- 旅居管家策劃方案
- GB/T 26316-2023市場、民意和社會(huì)調(diào)查(包括洞察與數(shù)據(jù)分析)術(shù)語和服務(wù)要求
- 春節(jié)值班安全教育培訓(xùn)
- 帶狀皰疹護(hù)理查房
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長會(huì)PPT模板
評(píng)論
0/150
提交評(píng)論