早教吧作业答案频道 -->数学-->
英语翻译'计算两经纬度之间距离=callonglat(经度1,纬度1,经度2,纬度2)PublicFunctionCalLongLat(ByVallong1AsDouble,ByVallat1AsDouble,ByVallong2AsDouble,ByVallat2AsDouble)AsDoubleConstPIAsDouble=3.1415926535Dim
题目详情
英语翻译
'计算两经纬度之间距离=cal_long_lat(经度1,纬度1,经度2,纬度2)
Public Function Cal_Long_Lat(ByVal long1 As Double,ByVal lat1 As Double,ByVal long2 As Double,ByVal lat2 As Double) As Double
Const PI As Double = 3.1415926535
Dim AngleLong1,AngleLat1,AngleLong2,AngleLat2 As Double
AngleLong1 = long1 * PI / 180
AngleLat1 = lat1 * PI / 180
AngleLong2 = long2 * PI / 180
AngleLat2 = lat2 * PI / 180
Dim sinX,cosX As Double
sinX = Sin(AngleLat1) * Sin(AngleLat2)
cosX = Cos(AngleLat1) * Cos(AngleLat2) * Cos(AngleLong2 - AngleLong1)
x = sinX + cosX
On Error Resume Next
ax = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
Cal_Long_Lat = 6368.16 * ax
End Function
'计算两经纬度之间角度=cal_bearing(经度1,纬度1,经度2,纬度2)
Public Function Cal_bearing(ByVal long1 As Double,ByVal lat1 As Double,ByVal long2 As Double,ByVal lat2 As Double) As Double
Const PI As Double = 3.1415926535
Dim AngleLong1,AngleLat1,AngleLong2,AngleLat2 As Double
AngleLong1 = long1 * PI / 180
AngleLat1 = lat1 * PI / 180
AngleLong2 = long2 * PI / 180
AngleLat2 = lat2 * PI / 180
y = Sin(AngleLong1 - AngleLong2) * Cos(AngleLat2)
x = Cos(AngleLat1) * Sin(AngleLat2) - Sin(AngleLat1) * Cos(AngleLat2) * Cos(AngleLong1 - AngleLong2)
Cal_bearing = 360 - (Atan2(y,x) * 180 / PI + 360) Mod 360
End Function
Public Function Atan2(ByVal y As Double,ByVal x As Double) As Double
Const PI As Double = 3.1415926535
If y > 0 Then
If x >= y Then
Atan2 = Atn(y / x)
ElseIf x = -y Then
Atan2 = Atn(y / x)
ElseIf x
'计算两经纬度之间距离=cal_long_lat(经度1,纬度1,经度2,纬度2)
Public Function Cal_Long_Lat(ByVal long1 As Double,ByVal lat1 As Double,ByVal long2 As Double,ByVal lat2 As Double) As Double
Const PI As Double = 3.1415926535
Dim AngleLong1,AngleLat1,AngleLong2,AngleLat2 As Double
AngleLong1 = long1 * PI / 180
AngleLat1 = lat1 * PI / 180
AngleLong2 = long2 * PI / 180
AngleLat2 = lat2 * PI / 180
Dim sinX,cosX As Double
sinX = Sin(AngleLat1) * Sin(AngleLat2)
cosX = Cos(AngleLat1) * Cos(AngleLat2) * Cos(AngleLong2 - AngleLong1)
x = sinX + cosX
On Error Resume Next
ax = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
Cal_Long_Lat = 6368.16 * ax
End Function
'计算两经纬度之间角度=cal_bearing(经度1,纬度1,经度2,纬度2)
Public Function Cal_bearing(ByVal long1 As Double,ByVal lat1 As Double,ByVal long2 As Double,ByVal lat2 As Double) As Double
Const PI As Double = 3.1415926535
Dim AngleLong1,AngleLat1,AngleLong2,AngleLat2 As Double
AngleLong1 = long1 * PI / 180
AngleLat1 = lat1 * PI / 180
AngleLong2 = long2 * PI / 180
AngleLat2 = lat2 * PI / 180
y = Sin(AngleLong1 - AngleLong2) * Cos(AngleLat2)
x = Cos(AngleLat1) * Sin(AngleLat2) - Sin(AngleLat1) * Cos(AngleLat2) * Cos(AngleLong1 - AngleLong2)
Cal_bearing = 360 - (Atan2(y,x) * 180 / PI + 360) Mod 360
End Function
Public Function Atan2(ByVal y As Double,ByVal x As Double) As Double
Const PI As Double = 3.1415926535
If y > 0 Then
If x >= y Then
Atan2 = Atn(y / x)
ElseIf x = -y Then
Atan2 = Atn(y / x)
ElseIf x
▼优质解答
答案和解析
Private Sub Form_Click() '单击窗体上任意地方
Dim a(1 To 10) As Integer,i%,maxa%,mina%,avera!'声明各种变量
For i = 1 To 10 '开始一个循环(循环10次)
a(i) = Int(Rnd * 100) '给数组a赋初始值(10个整数均为随机产生的)
Next i '循环截止符
mina = a(1) '将数组中排在第一位的a(1)中的数值存入“最小数变量mina”中,暂定是最小数
maxa = a(1) '将数组中排在第一位的a(1)中的数值存入“最大数变量maxa”中,暂定是最大数
avera = a(1) '将数组中排在第一位的a(1)中的数值存入“平均值变量avera”中,暂定是平均值
For i = 2 To 10 '循环从排位第2的位置开始到最后(10)
If a(i) > maxa Then maxa = a(i) '找出最大数(拿第一个数maxa分别和后面的9个数比较,大的存入maxa中)
If a(i) < mina Then mina = a(i) '找出最小数(拿第一个数mina分别和后面的9个数比较,小的存入mina中)
avera = avera + a(i) '算出10个数的总和(第一个avera分别加上后面的9个并存入avera中)
Next i
For i = 1 To 10
Print a(i) '此循环的目的是在窗体上打印出上面随机生成的10个数
Next i
Print '换一行
Print "max="; maxa,"min="; mina,"aver="; avera / 10 '在窗体的第二行输出:最大数、最小数、平均值
End Sub 结束
Dim a(1 To 10) As Integer,i%,maxa%,mina%,avera!'声明各种变量
For i = 1 To 10 '开始一个循环(循环10次)
a(i) = Int(Rnd * 100) '给数组a赋初始值(10个整数均为随机产生的)
Next i '循环截止符
mina = a(1) '将数组中排在第一位的a(1)中的数值存入“最小数变量mina”中,暂定是最小数
maxa = a(1) '将数组中排在第一位的a(1)中的数值存入“最大数变量maxa”中,暂定是最大数
avera = a(1) '将数组中排在第一位的a(1)中的数值存入“平均值变量avera”中,暂定是平均值
For i = 2 To 10 '循环从排位第2的位置开始到最后(10)
If a(i) > maxa Then maxa = a(i) '找出最大数(拿第一个数maxa分别和后面的9个数比较,大的存入maxa中)
If a(i) < mina Then mina = a(i) '找出最小数(拿第一个数mina分别和后面的9个数比较,小的存入mina中)
avera = avera + a(i) '算出10个数的总和(第一个avera分别加上后面的9个并存入avera中)
Next i
For i = 1 To 10
Print a(i) '此循环的目的是在窗体上打印出上面随机生成的10个数
Next i
Print '换一行
Print "max="; maxa,"min="; mina,"aver="; avera / 10 '在窗体的第二行输出:最大数、最小数、平均值
End Sub 结束
看了英语翻译'计算两经纬度之间距离...的网友还看了以下:
1直线a,b,c两两平行,但不共面,经过其中两条直线的平面共有()A1个B3个C0个D6个2直线a 2020-07-09 …
1、一个u盘的容量是128兆,已经用了3/4,还剩多少空间2、AB两地相距360千米,甲乙两车分别 2020-07-13 …
英语的3月3日怎么说?6月6日呢2月9日呢5月12日呢1月1日呢4月18日呢3月24日呢7月28日 2020-07-22 …
某次猜谜语比赛,谜语按难易分两类,每人可以猜三条.每才猜对一条较难的谜语得3分,每猜对一条较容易的谜 2020-11-16 …
给加粗的词语选择正确的解释。光景:①时光景物;②境况,情况,情景;③表示估计1.已经有一年光景了。( 2020-11-25 …
经济法题求救甲乙丙三人合伙开办酒店,约定甲乙个出资2万,丙提供门面,后经3人协商,一致同一让丁以其出 2020-12-26 …
经济法题求救甲乙丙三人合伙开办酒店,约定甲乙个出资2万,丙提供门面,后经3人协商,一致同一让丁以其出 2020-12-26 …
英语翻译(正文:7年工作经验中3年合资企业产品设计开发及项目管理经验,4年制造工程师工作经验,其中3 2021-01-14 …
《武汉市中考英语经典语篇》训练习题册绿色封面总共有16篇的那个玩意~《武汉市中考英语经典语篇》训练习 2021-01-22 …
三个月没来月经月经3个月没来是怎么回事 2021-03-30 …