VB平差程式設計複習

2022-08-02 18:00:06 字數 3750 閱讀 8953

測邊交會

option compare database

public ddd_x as double, ddd_y as double '待定點x,y

'已知a、b兩點座標及觀測的邊長計算待定點座標,bcjsdddzb的中文意思是由觀測邊長計算待定點座標

public sub bcjsdddzb(xa as double, ya as double, xb as double, yb as double, l1 as double, l2 as double)

dim sab as double, l as double, h as double, cosab as double, sinab as double

sab = sqr((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya))

l = (l1 * l1 + sab * sab - l2 * l2) / (2 * sab)

h = sqr(l1 * l1 - l * l)

cosab = (xb - xa) / sab

sinab = (yb - ya) / sab

ddd_x = xa + l * cosab + h * sinab

ddd_y = ya + l * sinab - h * cosab

end sub

private sub cmd_返回選題介面_click()

"選題介面", acnormalacnormal

acform, "測邊交會"

end sub

private sub cmd_計算_click()

dim xa as double, ya as double, xb as double, yb as double, l1 as double, l2 as double

if isnull( or isnull( or isnull( or isnull( then

msgbox "請輸入完整的座標資料!!!", vbokcancel + vbinformation, "提示"

end if

if isnull( or isnull( then

msgbox "請輸入完整的觀測邊長資料!!!", vbokcancel + vbinformation, "提示"

end if

xa = ya =

xb = yb =

l1 = l2 =

if (xb - xa) = 0 and (yb - ya) = 0 then

msgbox "您選擇的是同乙個點!", vbokonly + vbexclamation, "提示資訊"

else

call bcjsdddzb(xa, ya, xb, yb, l1, l2)

= format(ddd_x, "0.000")

= format(ddd_y, "0.000")

end if

end sub

private sub cmd_資料清空_click()

= "": = ""

= "": = ""

= "": = ""

= "": = ""

end sub

private sub form_load()

= "": = ""

= "": = ""

= "": = ""

= "": = ""

end sub

測角交會

option compare database

const pi = 3.14159265358979

public ddd_x as double, ddd_y as double '待定點x,y

'角度化弧度

public function angletoradian(byval alfa as double) as double

alfa = alfa + 0.00000000000001

dim alfa1 as double, alfa2 as double

alfa1 = fix(alfa) + fix((alfa - fix(alfa)) * 100#) / 60#

alfa2 = (alfa * 100# - fix(alfa * 100#)) / 36#

angletoradian = (alfa2 + alfa1) * pi / 180#

end function

'已知a、b兩點座標及觀測的角度計算待定點座標,jdjsdddzb的中文意思是由觀測角度計算待定點座標

public sub jdjsdddzb(xa as double, ya as double, xb as double, yb as double, jda as double, jdb as double)

dim tana as double, tanb as double

jda = angletoradian(jda)

jdb = angletoradian(jdb)

tana = tan(jda)

tanb = tan(jdb)

ddd_x = (xa * tana + xb * tanb + (yb - ya) * tana * tanb) / (tana + tanb)

ddd_y = (ya * tana + yb * tanb + (xa - xb) * tana * tanb) / (tana + tanb)

end sub

private sub cmd_返回選題介面_click()

"選題介面", acnormalacnormal

acform, "測角交會"

end sub

private sub cmd_計算_click()

dim xa as double, ya as double, xb as double, yb as double, jda as double, jdb as double

if isnull( or isnull( or isnull( or isnull( then

msgbox "請輸入完整的座標資料!!!", vbokcancel + vbinformation, "提示"

end if

if isnull( or isnull( then

msgbox "請輸入完整的觀測角度資料!!!", vbokcancel + vbinformation, "提示"

end if

xa = ya =

xb = yb =

jda = jdb =

if (xb - xa) = 0 and (yb - ya) = 0 then

msgbox "您選擇的是同乙個點!", vbokonly + vbexclamation, "提示資訊"

else

call jdjsdddzb(xa, ya, xb, yb, jda, jdb)

= format(ddd_x, "0.000")

= format(ddd_y, "0.000")

end if

end sub

private sub cmd_資料清空_click()

= "": = ""

= "": = ""

= "": = ""

= "": = ""

end sub

private sub form_load()

= "": = ""

= "": = ""

= "": = ""

= "": = ""

end sub

VB程式設計試卷

1.儲存新建的工程時,預設的資料夾是 a.my documentb.vb98 cd.windows 2.不是字串常量的是 a.你好b.c.trued.false 3.表示式abs 5 len abcde 的值為 a.5abcdeb.5abcde c.10d.0 4.如果要在文字框中鍵入字元時,只顯示...

VB程式設計經典案例

求1 5 10 15 500的和,並將結果輸出在窗體上,將結果存入變數sum 中 dim sum as long sum 0 for i 0 to 500 step 5 sum sum i next print sum 題目 事件 單擊窗體。響應 求10 20之間所有素數的乘積並輸出在窗體上。將結果...

VB選擇結構程式設計

阜陽市一職高 尚克震2008年10月15日第一節課 07計 1 教學目標分析 通過教師引導學生去 發現技術背後所蘊含的技術價值和技術思想,使其獲得知識與技能的同時,理解和掌握過程與方法,這樣才能夠學會認知,學會做事,乃至學會生活,提高終生學習的能力 分析解決問題的能力,滿足其終身發展的需要,成為適應...