版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、测量程序设计实习报告目录实习目的实习任务三、实习时间、地点、指导老师 3四、实习过程 3五、实习中主要技术问题及处理方法 6六、实习收获及感想 9七、意见及建议2实习目的在实践中综合应用第一学年中课堂所学的计算机知识,以期能够熟练掌握基本编程语 法、程序设计思想,为后续课程打下基础。1深入理解面向对象编程思想,理解对象的封装、继承及多态的含义; 2掌握一门高级编程语言(可选VC+ , Borland C+Builder , Visual Basic 或 Delphi )和程序调试一般方法和技巧,熟练运用集成编程环境的基本功能,了解编程帮助系统; 3掌握基本的类模块设计与实现、数据结构、数据文件
2、读写、人机界面设计等; 4综合运用所学数学和专业相关知识,设计并实现若干个类;5养成良好的编程风格。实习任务1 根据面向对象思想完成角度处理类模块2 根据面向对象思想完成解析交会点位坐标计算类模块3 根据面向对象思想完成附合导线近似坐标计算类模块4 测量程序设计三、实习时间、地点、指导老师时间:2013年7月6日7月15日地点:犀浦校区X4245机房 指导老师:黄泽纯四、实习过程7月6日7日1. 了解面向对象程序设计思想3.1) 类的基本概念;2) 类的成员函数添加、定义方法;3) 访问对象成员方法。2. 编写角度处理类函数代码命名DegSwitch ;)建立角度处理类 1命名Deg_DMS
3、;)角度值转换成度分秒函数 2命名 DMS_Deg度分秒转换成角度值函数;)3命名Deg_Rad角度值转换成弧度值函数;4)命名Rad_Deg弧度值转换成角度值函数;5) 命名Rad_DMS弧度值转换成度分秒函数;6)命名DMS_Rad度分秒转换成弧度值函数;7)命名C_A坐标方位角反算函数。8)3. 角度处理类函数调用、算法检查及修改1) 函数调用方法:指针;2) 主函数中选择调用函数关键语句:switch语句。4. 调试技巧应用7月8日1. 编写解析交会点位坐标类函数代码命名Coord in ate ; 1)建立解析交会点位坐标类2)函数中涉及三角函数计算,应用预处理命令装入cmath头文
4、件,并注意三角函数计算中所用角度值为弧度制下数值;命名;坐标正算函数 3) C1SA_C2命名 坐标反算函数 4) C1C2_SA计算坐标方位角可调用角度处理类中坐标方位角反算函数;命名;5) 前方交会函数 C1C2A1A2_P命名C1C2C3_P后方交会函数。6)2. 解析交会点位坐标类函数调用、算法检查及修改1)函数调用方法:指针;2) 主函数中选择调用函数关键语句:switch语句;3) 输入角度为度分秒格式,需调用角度处理类中函数将其转换为弧度值后再进行计. 算。.3. 学习了解C语言中读写文件方式、语法格式7月9日10日1. 附合导线近似坐标计算问题分析、算法设计2. 编写附合导线近
5、似坐标计算类函数代码命名Lin eCalculation建立附合导线近似坐标计算类;1)命名Start角度转换、总边长、原始坐标增量计算函数2)对输入的度分秒制的角度值可调用角度处理类中函数进行转换,计算得到总边长和原始坐标增量将在随后的坐标增量及改正后坐标增量计算函数中使用;命名Angle_M角度闭合差计算函数;3)命名Angle_A ;) 4角度闭合差调整函数命名C_Angle坐标方位角计算函数)5 ;4.命名Coordinate_M 坐标增量计算函数)6坐标增量计算过程中需用到三角函数,应用预处理命令装入cmath头文件,并注意, 三角函数计算中所用角度值为弧度制下数值;命名Coordi
6、nate_A改正后坐标增量计算函数;7)命名Coordinate 各点坐标计算函数;8)3. 附合导线近似坐标计算类函数调用、算法检查及修改1)读原始数据文件需要判断观测角是左角还是右角,以在随后采取正确的角度闭合差分配方式;2)函数调用方法:指针;3) 计算后得到调整后角度、坐标方位角等需调用角度处理类中函数将其转换为度分. 秒制,便于检查;.4)写结果文件。7月11日1. 学习 Windows窗体程序(CLR )的创建及设计1)MFC与CLR的区别;2)创建Windows窗体程序(CLR ;3)添加菜单、控件,对菜单、控件的编辑及使用a. 菜单的创建、命名、分栏.b. 控件Butt on、
7、Label、TextBox的添加、属性设置及使用;4)添加、显示新窗体a. 添加新窗体,b. 设置在原窗体中进行一定操作后显示新窗体。2. 练习 Windows窗体程序创建及设计。7月12日13日创建、设计 Windows窗体测量程序1)创建 Windows窗体测量程序;2)添加控件;3)添加角度转换窗体;4)添加解析交会窗体;5)编辑、设置测量程序窗体中控件功能;6)在角度转换窗体中添加控件并设置其功能;7)添加角度处理类模块,实现处理角度转换窗体中数据的功能,并将结果传递显示 在角度转换窗体中;8)在解析交会窗体中添加控件并设置其功能;9)添加解析交会点位坐标类模块,实现处理解析交会窗体中
8、数据的功能,并将结果 传递显示在解析交会窗体中;10)运行检测测量程序。7月14日15日实习总结,撰写实习报告。5.五、实习中主要技术问题及处理方法1.问题:函数如何返回多个数值处理方法:1)指针传递 个返回值)Eg:角度转换成度分秒函数将度分秒的值传回主函数(3 )*b, int *c Deg,int *a, intvoidDegSwitch:Deg_DMS( double )Deg;DMS_D=(nt int=DMS_D;*aDMS_M 仁(Deg-DMS_D)*6(double)DMS_M1;DMS_M=<int=DMS_M;*b(DMS_M1-DMS_M)*60);DMS_S=t
9、int=DMS_S;*c 2 )调用数组Eg:附合导线坐标方位角计算函数将计算所得方位角*D1=newD1->Deg_DMS(Deg,&(*a),&(*b), &*(c);值传回主函数(多个返 回值) int n, int ang, LineCalculation:C_Angle( double double cang void sc_ang) b, double =sc_ang+b*(PI-ang0);cang0 =cang0+2*PI;(cang0<0) cang0 if =cang0-2*PI;(cang0>2*PI) cang0 if i=1;
10、i<n;i+) int (for =cangi-1+b*(PI-angi);cangi cangi=cangi+2*PI;<0) if (cangi cangi=cangi-2*PI; if (cangi>2*PI) 问题:如何访问 类的对象成员2.处理方法:在预处理命令中装入相应类的头文件,再通过指针访问对象成员 :检查角度处理 类算法时,在主函数中调用类中函数Eg?来腆瑩档栮#include DegSwitch(); DegSwitchresult=D1->Deg_Rad(Deg); 3.处理方法:可以;在预处理命令中装入相应类的问题:不同的类之间可否相互调用成员函
11、数 头文件,再通过指针访问对象成员4.问题: 录入的多个以度分秒表示的角度如何批量存放、处理处理方法:放入二维数组中储存、处理:在主函数中定义一个数组存放录入的附合导线观测角值Eg 6. AN3 int其中,AiO、Ai1、Ai2中分别存放第i+1个观测角的度、分、秒位上的数值4. 问题:附合导线近似计算类中,最初录入的度分秒形式的角度值无法直接进行运算, 如何准确计算和分配角度闭合差、算岀坐标方位角,并根据坐标方位角正确计算坐标 增量处理方法:1 )根据不同计算需求将角度转换成以秒为单位或以弧度为单位数据度分秒形式以秒为单位进行角度转换角度值的角度值进行角度闭合差的计算与进行角度转换进行角度
12、转换分配,根据调整后的观测角值计算坐标方位角度分秒形式弧度形式的的角度值角度值得到并输岀度分秒形以弧度形式的坐标方式的调整后观测角值位角值运用三角函数和坐标方位角计算坐标增量2)对角度闭合差的分配:先将闭合差平均分配到每一个观测角中,若有余数, 再将余数平均分配到最小边对应点两个观测角中实现以上处理的对应代码: 度分秒形式角度值转换成以秒为单位角度值/ DegSwitch(); newDegSwitch*m= (i=O;i<N;i+) for angi=m->DMS_s(Ai0,Ai1,Ai2);对角度闭合差的分配/ ff=f_a/n*b; inti=0;i<n;i+) fo
13、r ( int angi=angi+ff; m=0,f1=0,f2=0; intj=1;j<n-1;j+) intfor ( (Sj<=Sm) if m=j; (f_a%n)!=0) if7.(f_a/n)%2!=0) if f1=(f_a%n)/2;f2=f1+1;f1=(f_a%n)/2;else f2=f1; angm=angm+f1*b;angm+1=angm+1+f2*b; 以秒为单位角度值转换成弧度值计算坐标增量/ DegSwitch; newDegSwitch *q= (i=0;i<n;i+) for cang2i=q->DMS_Rad(0,0,cangi
14、); xs=0,ys=0; double(i=0;i<n-1;i+) for Ccooi0=Si*cos(cangi);Ccooi1=Si*sin(cangi);xs=xs+Ccooi0; ys=ys+Ccooi1; *dx=xs-x; *dy=ys-y;得到并输出度分秒形式的调整后观(i=0;i<n;i+) for u->s_DMS(angi,&Ai0,&Ai1,&Ai2);<<Ai2vvendl;vvAi1vvcoutvvAi0vv vvendl;coutvvendlvv 坐标方位角: (i=0;ivn-1;i+) foru->s
15、_DMS(cangi,&CAngi0,&CAngi1,&CAngi2);vvCAngi2vvendl;coutvvCAngi0vv vvCAngi1vv 问题:读原始数据文件过程中,如何将多个数据一次 存放在数组中6.处理方法:通过循环语句实现 :将原始数据文件中储存的观测角角度值(度分秒形式)存入一个二维Eg数组中(i=0;ivN;i+) for (j=0;jv3;j+) for,&Aij);fscanf(fp,層8.7.问题:程序能够生成、运行,但运行结果不正确处理方法:通过以下手段调试、检查程序:)断点调试1 一2)逐语句执行程序3)选取关键变量进行监视经
16、过逐步排除筛选找出源代码的逻辑错误或算法错误,进行分析改正寸 十Win dows窗体程序中如何通过对控件的操作打开一个新的窗体8问题:处理方法:在原窗体头文件的预处理命令中装入新窗体对应头文件,在原窗体设计界 面双 击控件,进入头文件,在光标停留处添加代码I -I : Eg(); gcnew角度转换角度转换cfrm= cfrm->Show(); 问题:如何在 Win dows窗体中提取、改变控件文本9.处理方法:提取控件文本:double d=Convert:ToDouble(t1->Text);t4->Text=Convert:ToString(deg);改变控件文本:Wi
17、n dows窗体中调用类的成员函数10.问题:如何在处理方法:DegSwitch(); DegSwitchA x=gcnew,deg=x->DMS_Deg(d,m,s);实习收获及感想六、根据面向对象思想设计算法、编写代码使程序设计模块化,各模块有明确的功能,既 便于对函数的调用,也有利于对程序算法的精简、检查。基于面向对象思想的程序设计,首先要明确需要处理的对象(已知数据)和最终要得到的对象(所求数据),然后分析二者之间的关系,深入理解问题,由此设计算法,再将分块进行算法代码编写,最终编码实现整个过程。编写源代码过程中要注意对数据的灵活处理和转换,如度分秒形式的角度值可存放在二维数组中,使用三角函数是角度值应化为弧度值,通过指针或数组进行值的传递等。编码完成生成程序后,要及时进行多次检查,发现错误后采用适当的方法进行调试、找出有问题的语句或算法进行修改,尽量提高算法的效率和准确度,使结果最精确。在Windows窗体程序设计过程中,每个控件都 要有相应的功能或作用,为用户提供获取及输入信息的途径;同时,界面的设计要简洁合理,使用户能一目了然,迅速进行操作, 因此可在所需控件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生命末期儿童家庭的心理支持方案
- 现代检验技术辅助中医治未病个体化方案
- 旅游产品运营面试题及答案大全
- 深度解析(2026)《GBT 19351-2003金属覆盖层 金属基体上金覆盖层孔隙率的测定 硝酸蒸汽试验》
- 环境因素与个性化健康干预整合方案
- 年产xxx六角螺母项目可行性分析报告
- 功能薄膜项目可行性分析报告范文(总投资9000万元)
- 游戏行业游戏策划师面试题集
- 工具架建设项目可行性分析报告(总投资9000万元)
- 深度解析(2026)《GBT 18904.4-2002半导体器件 第12-4部分光电子器件 纤维光学系统或子系统用带不带尾纤的Pin-FET模块空白详细规范》
- 2025年国家开放大学(电大)《物理化学》期末考试备考题库及答案解析
- 无领导小组讨论面试技巧与实战案例
- 环保设备销售培训
- 髋臼骨折的护理课件
- 国际中文教育概论 课件 第12章 国际中文教育前瞻
- 竞赛合同(标准版)
- 恒压供水原理课件
- 2025年湖北省综合评标评审专家库专家考试历年参考题库含答案详解(5套)
- 2025年内部控制与风险管理试卷及答案
- 2025年北京朝阳社区考试题库
- 医疗器械年终汇报
评论
0/150
提交评论