測繪程式設計(c版)
實習報告
學號姓名
班級專業測繪工程
課程名稱: 測繪程式設計(c及matlab)
指導老師肖根如
2023年12月
目錄1.實習目的 3
2.實習內容 3
2.1 實習環境 3
2.2 實習主要內容介紹 3
2.2.1 演算法 3
2.2.2 角度轉換 5
2.2.3 初始化 5
2.2.4 輸入 7
2.2.5 選擇結構 7
2.2.6迴圈結構 9
2.2.7陣列 10
2.2.8函式 12
2.2.9陣列函式 13
2.2.10 結構體 14
2.2.11檔案 16
2.2.12指標 18
3.實習體會 22
1.實習目的:
(1)熟悉我們自己所用的計算機的c語言開發環境,並且能夠熟練掌
握,達到錯誤能找到原因並且加以改正。
(2)加深對課本理論知識的理解,進一步掌握書中重點、難點例項,
鍛鍊自己的編寫程式能力和實際應用能力。
(3)上機除錯程式的過程中,發現錯誤,解決錯誤,保證程式的正確
執行,執行結果與給定結果完全相同。
(4)學會用書中基本知識解決測量計算中的一些問題,將書本所學的
內容與實際操作相結合,掌握把實際問題轉變為c語言描述的演算法的方
法,明確思路。將自身的不足與缺陷改掉,養成良好編輯風格。
(5)培養我們的主觀能動性、溝通、表達能力和團隊合作意識,為我
們以後的發展打下基礎。
2.實習內容
2.1實習環境:
膝上型電腦一台,《c程式設計》一本,《數字測圖原理與方法》一本。
2.2實習主要內容介紹
2.2.1演算法:
演算法是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果乙個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。
不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。乙個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
演算法中的指令描述的是乙個計算,當其執行時能從乙個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於乙個終態。乙個狀態到另乙個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
演算法的特性有:(1).有窮性;(2).確定性;(3).有零個或多個輸入;(4).有乙個或多個輸入;(5).有效性。
演算法的表示形式有:
(1).用自然語言表示演算法:雖然這樣表示通俗易懂,但文字冗長,容易出現歧義。而且這樣表示的含義往往不大嚴格,要根據上下文才能判斷其正確含義。
(2)用流程圖表示演算法:就是用一些圖框來表示各種操作。用圖形表示演算法,直觀形象,易於理解。
2.2.2角度轉換:
角度變換就是在幾種角度制式間進行換算,從一種制式變換為另一種制式。常用的角度制式有:
一、度分秒制式:是最常用的制式,每圓周分割為360度,每度分為60分,每分再劃分為60秒,秒下為常規小數。度分秒格式--89.5999999接近直角;
二、百分度制式:每圓周分割為360度,每度下為常規的小數。百分度格式--89.9999999接近直角;
三、弧度制:每圓周為2π=360度,π代表180度,π/2代表90度。
角度轉弧度:
double deg2rad(double deg)
弧度轉角度:
double rad2deg(double rad)
2.2.3初始化:
初始化就是把變數賦為預設值,把控制項設為預設狀態,把沒準備的準備好。 但是如果是整個系統初始化那就不一樣了。在組合語言中,為變數分配空間時,初始化過的變數的初值位於可執行檔案**段資料後,會占用一定空間,不必要的初始化會造成磁碟空間的浪費。
在c語言等高階語言中,為每乙個變數賦初值被視為良好的程式設計習慣,有助於減少出現bugs的可能性。因此,是否對不必要的變數初始化依情況而定。
初始化在計算機程式設計領域中指為資料物件或變數賦初值的做法,如何初始化則取決於所用的程式語言以及所要初始化的物件的儲存型別等屬性。用於進行初始化的程式結構則稱為初始化器或初始化列表。初始化和變數宣告是有明顯區別的,而且初始化也先於變數宣告進行,但兩者在實踐中仍常被混淆。
編寫程式:水準路線外業觀測資料計算
hj = hs-hx;
** = qs-qx;
sjc= hj - **;
a = k+hz-hh;
b = k+qz-qh;
c = hh-qh;
d = hz-qz;
e = c-100-d;
gao = d - e/2;
printf("hj=%f **=%4.1f sjc=%f a=%f b=%f c=%f d=%f e=%f gao=%f",hj,**,sjc,a,b,c,d,e,gao);
執行結果:
f格式符,用來輸出實數(包括單、雙精度、長雙精度),以小數形式輸出,有幾種方法:
(1)基本型,用%f:不指定輸出資料長度,由系統根據資料的實際情況決定資料所佔的列數。系統處理的方法一般是:實數中的整數部分全部輸出,小數部分輸出六位。
(2)指定資料寬度和小數字數,用%m.nf:如下已經用了「%4.
1」格式指定了輸出的資料佔4列,其中包括1位小數。如果把小數部分指定為0,則不僅不輸出小數,而且小數點也不輸出。
改進: printf("hj=%4.1f **=%4.
1f sjc=%4.1f a=%4.1f b=%4.
1f c=%4.1f d=%4.1f e=%4.
1f gao=%4.1f",hj,**,sjc,a,b,c,d,e,gao);
執行結果:
2.2.4輸入:
與printf函式一樣,都被定義在標頭檔案stdio.h裡,因此在使用scanf函式時要加上#include 。它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。
函式 scanf() 是從標準輸入流stdio (標準輸入裝置,一般是鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應位址的變數中。
其呼叫形式為: scanf("《格式說明字串》",《變數位址》);變數位址要求有效,並且與格式說明的次序一致。
2.2.5選擇結構:
選擇結構用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程式的流程。
條件結構是高中數學中學習的演算法中的一種基本邏輯結構。在乙個演算法中,經常會遇到一些條件的判斷,演算法的流程根據條件是否成立有不同的流向,條件結構就是處理這種過程的結構。
條件結構也稱為「選擇結構」或「分支結構」,它要先根據指定的條件進行判斷,再由判斷的結果決定選取執行兩條分支路徑中的某一條。條件結構的特點是:演算法中需要進行判斷,判斷的結果決定後面的步驟。
編寫程式:水準路線外業觀測資料計算
hj = hs-hx;
** = qs-qx;
sjc= hj - **;
if(fabs(sjc)< 50)
else
if(fabs(e)>= 3)
else
gao = d - e/2;
printf("hj=%5.1f **=%5.1f sjc=%5.
1f a=%5.1f b=%5.1f c=%5.
1f d=%5.1f e=%5.1f gao=%5.
1f",hj,**,sjc,a,b,c,d,e,gao);
}else
執行結果:
用switch語句實現多分支選擇結構:
1) switch後面括號內的「表示式」,允許為任何型別。
2) 當switch表示式的值與某乙個case子句中的常量表示式的值相匹配時,就執行此case子句中的內嵌語句,若所有的case子句中的常量表示式的值都不能與switch表示式的值匹配,就執行default子句的內嵌語句。
3) 每乙個case表示式的值必須互不相同,否則就會出現互相矛盾的現象(對表示式的同乙個值,有兩種或多種執行方案)。
4) 各個case和default的出現次序不影響執行結果。例如,可以先出現「default:…」,再出現「case 'd':…」,然後是「case 'a':…」。
5) 執行完乙個case子句後,流程控制轉移到下乙個case子句繼續執行。「case常量表示式」只是起語句標號作用,並不是在該處進行條件判斷。在執行switch語句時,根據switch表示式的值找到與之匹配的case子句,就從此case子句開始執行下去,不再進行判斷。
例如,上面的例子中,若grade的值等於'a',則將連續輸出:
85~100
70~84
60~69
<60error
因此,應該在執行乙個case子句後,使流程跳出switch結構,即終止switch語句的執行。可以用乙個break語句來達到此目的。
編寫程式:選單選擇
switch(option){
暑假測繪實習報告 測繪專業實習報告
暑假測繪實習報告 一 實習目的 1.通過計算機繪圖實習,進一步熟悉計算機繪圖常用的命令,掌握如何繪製裝配圖的技能和方法,培養分析問題和解決問題的能力。2.通過裝配圖的繪製,進一步鞏固所學的知識,為後續課程的學習打下良好的基礎,也為在今後的工作中應用的計算機繪圖作基本技能的訓練。3.零部件測繪和計算機...
測繪實習報告
1.說明 任務 環測學院測繪專業指導老師陳國良 測區名稱 學苑南路 地理位置 中國礦業大學一餐廳與二餐廳之間 測區面積 200 200平方公尺 圖幅數量 20幅 分幅方法 矩形分幅 比例尺 1 500 地形條件及其特點 測區地形較為規則,綠化帶與建築物分布均勻且區分明顯 測區氣候 在測量時間內天氣炎...
測繪實習報告
二 勘探網的放樣 1 任務 每小組的各個成員分別選取不同的的a點,根據所給定方格網和a點的已知高程 座標確定其他位置點b 點位置 2 內容 1 準備工作 經緯儀的檢驗校正 工具和用品的準備 2 外業工作 踏勘測區 擬定勘探網布設方案 選點 標記點號 角度觀測和距離丈量 導線邊長 儀器高度的測量 定向...