资源描述:
《计算机测绘程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、计算机测绘程序设计实验报告专业:班级:姓名:学号:实验一角度与弧度的转换(1)原理首先获取输入角度的正负号,再取绝对值,通过提取度、分、秒计算出角度总和,利用1度=π/180弧度求出弧度;首先获取输入弧度的正负号,再取绝对值,利用1弧度=180/π度将弧度转换为角度,单位为度,通过提取度、分、秒计算出度.分秒。(2)属性设置窗体、控件属性设置默认控件名设置的控件名(Name)标题(Caption)Form1frm_jdhdzh角度与弧度转换(彭思强)Command1Cmd_jh角度→弧度Command2Cmd_hj弧度→角度Command3Cmd_qk清空Label1Label1
2、角度:Label2Label2弧度:Text1txt_jd无定义Text2txt_hd无定义(3)程序代码PrivateSubCmd_jh_Click()Constpi#=3.14159265358979'定义常量piDimd%,f%,m#,fh%,jdzh%jd=txt_jd.Textfh=Sgn(jd)'获取输入角度的正负号jd=Abs(jd)'取输入角度的绝对值d=Int(jd)'提取度f=Int((jd-d)*100)'提取分m=((jd-d)*100-f)*100'提取秒jdzh=(d+f/60+m/3600)'得到角度总和,单位为度hd=Format(jd*pi/18
3、0*fh,"0.000000")'保留6位小数txt_hd.Text=hdEndSubPrivateSubCmd_hj_Click()Constpi#=3.14159265358979'定义常量piDimd%,f%,m#,fh%hd=txt_hd.Textfh=Sgn(hd)'获取输入弧度的正负号jdzh=Abs(hd)*180/pi'将弧度转换为角度,单位为度d=Int(jdzh)'提取度f=Int((jdzh-d)*60)'提取分m=((jdzh-d)*60-f)*60'提取秒jd=Format((d+f/100+m/10000)*fh,"0.0000")'得到度.分秒并保留
4、四位小数txt_jd.Text=jd29EndSubPrivateSubCmd_qk_Click()txt_jd.Text=""txt_hd.Text=""EndSub(4)运行结果29实验二矩阵的加、减、乘、转置、求逆(1)原理根据矩阵的运算方法及规则,只有当两个矩阵是同型矩阵时,这两个矩阵才能进行加法和减法运算。只有当第一个矩阵(左矩阵)的列数等于第二个矩阵(右矩阵)的行数时,两个矩阵才能相乘。矩阵的转置是行变列,列变行。矩阵的求逆:。首先提取矩阵中的数据,再利用调用函数完成矩阵运算。(2)属性设置窗体、控件属性设置默认控件名设置的控件名(Name)标题(Caption)Fo
5、rm1frm_jzys矩阵运算(彭思强)Command1Cmd_jiaA+BCommand2Cmd_jianA-BCommand3Cmd_chengA*BCommand4Cmd_zhuanzhiATCommand5Cmd_qiuniA-1Command6Cmd_qc清除Label1Label1ALabel2Label2BLabel3Label3CText1Txt_a无定义Text2Txt_b无定义Text3Txt_c无定义(3)程序代码OptionBase1'数组从1开始DimA()AsDoubleDimB()AsDoubleDimC()AsDouble'矩阵相加运算提取数据Pr
6、ivateSubCmd_jia_Click()DimiAsIntegerDimjAsIntegerDimm1AsIntegerDimn1AsIntegerDimm2AsIntegerDimn2AsIntegerDimmystring()AsStringDiml()AsString'提取矩阵A的数据mystring()=Split(Txt_a.Text,vbCrLf)m1=UBound(mystring,1)-LBound(mystring,1)+1'获取行数29l()=Split(mystring(0),"")'第一行数据n1=UBound(l,1)-LBound(l,1)+1'
7、获取列数ReDimA(m1,n1)'重新定义矩阵AFori=1Tom1l()=Split(mystring(i-1),"")n1=UBound(l,1)-LBound(l,1)+1'获取列数Forj=1Ton1A(i,j)=l(j-1)NextjNexti'提取矩阵B的数据mystring()=Split(Txt_b.Text,vbCrLf)m2=UBound(mystring,1)-LBound(mystring,1)+1'获取行数l()=Split(mystring(0),"