工程測量:培養(yǎng)自己的編程能力 - 副本_第1頁
工程測量:培養(yǎng)自己的編程能力 - 副本_第2頁
工程測量:培養(yǎng)自己的編程能力 - 副本_第3頁
工程測量:培養(yǎng)自己的編程能力 - 副本_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

在最近,有一些時間可以嘗試一些新的學(xué)習(xí)內(nèi)容,想起在Anew中做一個計算器,因為在電腦上用程序時很多時候計算器沒有在旁邊,頗多不便,當(dāng)然可以用微軟提供的計算器,也可以使用excel單元格計算功能,但他們都不能很方便支持角度輸入,于是決定自己動手造一個。初入手時沒有頭緒,想來想去,最后歸結(jié)為就是一個支持角度的表達式計算,如:314.023*cos(125°31′5″)+562.841*sin(235°26′34″)角度°′″在輸入中很不方便,識別倒是沒有問題,這也是大多數(shù)測量軟件將角度表示簡化為小數(shù)表示的原因,但是在表達式里是不能這樣的,因為會和正常的小數(shù)數(shù)值相混淆,必須加以區(qū)分。如cos(125.2632),究竟是角度的還是弧度的,無法區(qū)分。這樣的問題解決方案有兩個:1、用某個鍵盤上易輸入的符號代替°′″。2、使用函數(shù)形式包括小數(shù)等形式角度表達。最后選擇了第二種,使用dms()函數(shù)形式。當(dāng)然第一種也可以。這樣當(dāng)在表達式中使用°′″時,便寫成dms(小數(shù)角度)即可,如上例中cos(125°31′5″)寫成:cos(dms(125.3105))01學(xué)習(xí)新的程序設(shè)計技術(shù)說是“新”的,其實并不新,只是相對自己而言,不熟知的便是新的東西。對于解決表達式計算來說,看起來簡單,其實不然。目前解決表達式計算有兩種主流技術(shù):1、使用堆棧數(shù)據(jù)結(jié)構(gòu)分析表達式。2、使用正則表達式識別表達式。對于使用上述任何一種技術(shù),對于非計算機專業(yè)人員都是困難的。堆棧方式程序?qū)崿F(xiàn)更為復(fù)雜,測試也較困難,而正則表達式則相當(dāng)于要學(xué)習(xí)一門新的程序設(shè)計語言,而且這語言極為晦澀。對于以學(xué)習(xí)為目的,自然選擇后者。02正則表達式,以簡驅(qū)繁無論表達式如何復(fù)雜,在一個表達式中,只要能正確識別子表達式并不斷用子表達式的計算結(jié)果代替即可,這給程序設(shè)計帶來方便,如識別出dms(125.3105)子表達式,便計算出弧度值代替這個表達式,不斷循環(huán),直到最后是數(shù)值或不能再識別的表達式為止。問題是如何才能正確識別不同的子表達式,這便是正則表達式要完成的任務(wù)。如[-]?\d*\.?\d+表示匹配一個數(shù)值。[-]?\d*\.?\d+\s*([*/])\s*[-]?\d*\.?\d+表示匹配數(shù)值的乘除運算[-]?\d*\.?\d+\s*([-+])\s*[-]?\d*\.?\d+表示匹配數(shù)值的加減運算[-]?\d*\.?\d+\s*(\^)\s*表示匹配乘方運算cos\(\s*"&Num&"\s*\)表示匹配余弦計算,其他函數(shù)替換關(guān)鍵詞即可。......初看根本看不懂,甚至責(zé)怪為什么發(fā)明那么難懂的正則表達式。但了解了各種元符號的意義,也就變得簡單了,相比掌握一門高級程序設(shè)計語言還是簡單了不少。有興趣的小伙伴可以在網(wǎng)上找到相關(guān)正則表達式的知識。其實在一個我們要計算的表達式中,并沒有更多復(fù)雜的正則表達式,上述幾個正則式足以幫助我們實現(xiàn)常規(guī)表達式的計算。03實現(xiàn)首先,表達式計算器在網(wǎng)絡(luò)上有一些現(xiàn)成的程序,手機app也見過。我們的實現(xiàn)是基于使用方便,更多基于學(xué)習(xí)的目的。計算一個角度值(小數(shù)角度格式)的余弦值,再求反余弦值,轉(zhuǎn)換成°′″驗證一下。對于Anew的表格,也可以提供臨時公式計算功能,在應(yīng)用一些程序如線路定義時需要臨時計算可以在表格中如Excel一樣輸入公式,也可以使用表達式計算器計算出結(jié)果復(fù)制黏貼。04總結(jié)其實大多數(shù)的技術(shù)人員在學(xué)校里學(xué)過編程課程,在實際工作中卻很少使用,以致于越來越難以去

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論