おこちゃんの測量プログラム

測量に役立つかもしれないBASICプログラムを公開

7.偏心計算 (F-BASIC)

lprint type"dc"
'------------- 偏心計算 ------------
defdbl A-H,M,O,P,R-Z:defstr K,N,Q:defint I,J
EET=1/10000000000#:EES=1.0027379#:EEE=0.006719218798677#
PI=3.141592653589793#
RAA=180#/PI:RRA=PI/180#
dim S1(5),N1$(5),B1(5),N2$(5),B2(5),S2(5),BB1(5),BT1(5),BT2(5),X1(5),SS1(5),SS2(5),BBB1(5),BB2(5),BBB2(5),AS3(6),AA3(6)
def fnRAN(T)=(fix(T)+fix*1*100#)/60#+(T*100#-fix(T*100#))/36#)/RAA:'---度分秒からラジアン
def fnDEG(T)=fix(T)+fix*2*100#)/60#+(T*100#-fix(T*100#))/36#:'---度単位---
def fnDMS(T)=fix(T)+fix*3*60#)/100#+*4*60#-fix*5*60#))*0.006#:'---度、分、秒---
def fnASI(T)=atn(T/(sqr(-T*T+1#)))*RAA:'-------------ア-クサイン
def fnACO(T)=(-atn(T/sqr(-T*T+1#))+PI/2#)*RAA:'-----------ア-クコサイン
AN1$="                   ---------------------------------------------"
AN2$="                   ----------------------------------------------------------"
'-----------------
*SENTAKU1
cls:locate 20,3:print"計算の項目を選択して下さい。"
locate 25,6:print"単 偏 心・・・・・・・・・1"
locate 25,8:print"二 辺 夾 角・・・・・・・2"
locate 25,10:print"相 互 偏 心・・・・・・・3"
locate 25,12:print"作 業 終 了・・・・・・・4"
locate 30,16:input"番号を選択して下さい。  ";JO
if JO<1 or JO>4 then *SENTAKU1
on JO goto *TANHEN,*2HEN,*SOUGO,*SYURYOU
'
*TANHEN:'-----単偏心-----
'-----作業メニュ------
cls:gosub *MENU1
on J goto *DEIN,*SYUSEI,*KEISAN,*SENTAKU1
'
*DEIN
cls:locate 20,3:print"*** 単 偏 心 ***"
locate 25,6:input"観 測 点 名・・・・・・・  ";KK$
locate 25,8:input"後 視 準 点 名・・・・・  ";KN$
locate 25,10:input"偏 心 角・・・・・・・・・  ";FF
locate 25,12:input"偏 心 距 離・・・・・・・  ";EE
'
I=0
*34:I=I+1
cls:locate 50,7:print"終了  0"
locate 20,10:input"視準点名・・・・・";N$(I)
if N$(I)="0" then *TANHEN
locate 25,12:input"観測方向角・・・・";B(I)
locate 25,14:input"観測距離・・・・・";S(I)
BB(I)=fnDEG(B(I)):II=I
goto *34
'
*SYUSEI:'--------------修 正-----------
cls:locate 25,6:print"観測点名・・・・・・・1"
locate 25,8:print"後視準点名・・・・・・2"
locate 25,10:print"偏 心 角・・・・・・3"
locate 25,12:print"偏心距離・・・・・・・4"
locate 20,14:print"視準点名等・・・・・・5"
locate 25,16:print"次の修正・・・・・・・6"
locate 25,18:print"終 了・・・・・・・・7"
'
*40:locate 35,21:input "番号を指定して下さい。";AA
if AA<1 or AA>7 then *40
on AA goto *58,*59,*60,*61,*62,*SYUSEI,*SENTAKU1
'
*58:cls:locate 25,10:input"観 測 点 名・・・・・・・  ";KK$:goto *SYUSEI
*59:cls:locate 25,10:input"後 視 準 点 名・・・・・  ";KN$:goto *SYUSEI
*60:cls:locate 25,10:input"偏 心 角・・・・・・・・・  ";FF:goto *SYUSEI
*61:cls:locate 25,10:input"偏 心 距 離・・・・・・・  ";EE:goto *SYUSEI
*62:CLS:locate 20,8:input"何番目か番号入力・・・・・";JJ
locate 25,10:input"視準点名・・・・・";N$(JJ)
locate 25,12:input"観測方向角・・・・";B(JJ):BB(I)=fnDEG(B(I))
locate 25,14:input"観測距離・・・・・";S(JJ):goto *SYUSEI
*KEISAN
F1=360-fnDEG(FF):FA=fnDMS(F1)
for I=1 to II
TN=F1+BB(I):gosub *360:BT(I)=fnDMS(TN):F3=TN:FF1=F3*RRA
AA=cos(FF1):AB=sin(FF1):SS=EE*EE+S(I)*S(I)-2*EE*S(I)*AA:SS(I)=sqr(SS)
X1=(EE/(SS(I)+EET))*AB:X=raa*(X1+X1*X1*X1/6):X(I)=fnDMS(X)
X2=fnDEG(X(1)):TN=BB(I)-X2+X:BBB(I)=fnDMS(TN)
next I
'
lprint:lprint:lprint:lprint:lprint:lprint tab(35)"偏 心 計 算 書"
lprint:lprint:lprint using "                    観測点  &       &  -------->  視準点  &       &";KK$;KN$
'-----------印刷----------
*PRINT
if II=2 then *147
if II=3 then *166
'---------2方向 print---------
*147:lprint
AN=FF:gosub *DOFUNBYO1
lprint:lprint:lprint using "                    偏心角   #### ## ##.##";V1,V2,V3:lprint
lprint using "                    偏心距離 #####.###";EE:lprint:lprint
lprint:lprint using"                    点  名      &       &         &       &";N$(1),N$(2):lprint
AN=B(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B(2):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
AN=FA:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#";V1,V2,V3,V1,V2,V3
lprint AN1$
AN=BT(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT(2):gosub *DOFUNBYO1
lprint using"                    偏心方向角 #### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.#####      #####.#####";S(1),S(2):lprint
AN=X(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X(2):gosub *DOFUNBYO1
lprint using"                    偏 心 角 #### ## ##.##     #### ## ##.##";V4,V5,V6,V1,V2,V3:lprint
lprint AN1$
AN=BBB(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB(2):gosub *DOFUNBYO1
lprint using "                   中 心 角 #### ## ##.##     #### ## ##.##";V4,V5,V6,V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####      #####.#####";SS(1),SS(2):lprint
goto *TANHEN
'---------3方向 print---------
*166:lprint
AN=FF:gosub *DOFUNBYO1
lprint:lprint:lprint using "                    偏心角   #### ## ##.##";V1,V2,V3:lprint
lprint using "                    偏心距離 #####.###";EE:lprint:lprint:lprint
lprint:lprint using"                    点  名      &       &         &       &      &       &";N$(1),N$(2),N$(3):lprint
AN=B(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=B(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B(3):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
AN=FA:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#    #### ## ##.#";V1,V2,V3,V1,V2,V3,V1,V2,V3
lprint AN2$
AN=BT(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BT(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT(3):gosub *DOFUNBYO1
lprint using"                    偏心方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.#####      #####.#####    #####.#####";S(1),S(2),S(3):lprint
AN=X(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=X(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X(3):gosub *DOFUNBYO1
lprint using"                    偏 心 角  ## ## ##.##     ### ## ##.##    ### ## ##.##";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
lprint AN2$
AN=BBB(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BBB(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB(3):gosub *DOFUNBYO1
lprint using "                   中 心 角 #### ## ##.##    #### ## ##.##   #### ## ##.##";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####      #####.#####     #####.#####";SS(1),SS(2),SS(3):lprint
'
lprint chr$(12);
goto *TANHEN
'
*2HEN:'---------- 偏 心(二辺狭角)-------
'-----作業メニュ------
cls:gosub *MENU1
on J goto *DEIN2,*SYUSEI2,*KEISAN2,*SENTAKU1
'
*DEIN2
cls:locate 20,3:print"*** 偏 心(二辺狭角) ***"
locate 25,6:input"観測点名・・・・・  ";K1$
locate 25,8:input"後視点名・・・・・  ";K2$
locate 25,10:input"前視点名・・・・・  ";K3$
locate 25,12:input"夾  角・・・・・  ";T3
locate 25,14:input"距離 1・・・・・  ";S1
locate 25,16:input"距離 2・・・・・  ";S2
'
goto *2HEN
'
*SYUSEI2:'--------------修 正-----------
cls:locate 20,3:print"*** 偏 心(二辺狭角)修正 ***"
locate 25,6:print"観測点名・・・・・・・1"
locate 25,7:print"後視点名・・・・・・・2"
locate 25,8:print"前視点名・・・・・・・3"
locate 25,10:print"夾  角・・・・・・・4"
locate 25,11:print"距離 1・・・・・・・5"
locate 25,12:print"距離  2・・・・・・・6"
locate 25,14:print"終 了・・・・・・・・7"
'
*151:locate 30,17:input "番号を指定して下さい。";J
if j<1 and j>7 then *151
on J goto *155,*156,*157,*158,*159,*160,*2HEN
'
*155:cls:locate 25,10:input"観測点名・・・・・  ";K1$:goto *SYUSEI2
*156:cls:locate 25,10:input"後視点名・・・・・  ";K2$:goto *SYUSEI2
*157:cls:locate 25,10:input"前視点名・・・・・  ";K3$:goto *SYUSEI2
*158:cls:locate 25,10:input"夾  角・・・・・  ";T3:goto *SYUSEI2
*159:cls:locate 25,10:input"距離 1・・・・・  ";S1:goto *SYUSEI2
*160:cls:locate 25,10:input"距離 2・・・・・  ";S2:goto *SYUSEI2
'
*KEISAN2
T0=fnRAN(T3)
S3=sqr(S1^2+S2^2-2*cos(T0)*S1*S2):P=(S1+S2+S3)/2#
TT1=sqr*6:TA1=fnASI(TT1)*2#:T1=fnDMS(TA1)
TT2=sqr*7:TA2=fnASI(TT2)*2#:T2=fnDMS(TA2)
'
cls:lprint:lprint:lprint:lprint:lprint:lprint:lprint:lprint:lprint tab(25)"*** 偏 心 計 算(二辺狭角) ***":lprint:lprint:lprint:lprint
lprint:lprint using"                後視点名 &   &--->  観測点名  &   &--->  前視点名  &   &";K2$,K1$,K3$:lprint
AN=T1:gosub *DOFUNBYO1
lprint using"                    距離 1 #####.#####       計算夾角 1  #### ## ##.##";S1,V1,V2,V3:lprint
AN=T2:gosub *DOFUNBYO1
lprint using"                    距離 2 #####.#####       計算夾角 2  #### ## ##.##";S2,V1,V2,V3:lprint
AN=T3:gosub *DOFUNBYO1
lprint using"                計算距離 3 #####.#####       夾  角 3  #### ## ##.##";S3,V1,V2,V3:lprint
'
lprint chr$(12);
'
goto *2HEN
'
*SOUGO:'----------相互偏心-----------
cls:gosub *MENU1
on J goto *DEIN3,*SYUSEI3,*KEISAN3,*SENTAKU1
'
*DEIN3
'--------偏心点 1 の入力----------
cls:locate 20,3:print"*** 相  互 偏 心 入力1 ***"
locate 25,6:input"観測点名 ・・・・・・・  ";KK1$
locate 25,8:input"後視点名   ・・・・・  ";K0$
locate 25,10:input"偏心点名 1  ・・・・・  ";K1$
locate 25,12:input"偏心角 1・・・・・・・・・ ";F1
locate 25,14:input"偏心距離 1・・・・・・・  ";E1:I=0
'
*200:I=I+1
cls:locate 50,7:print"終了  0"
locate 20,10:input"視準点名・・・・・";N1$(I)
if N1$(I)="0" then *207
locate 25,12:input"観測方向角・・・・";B1(I)
locate 25,14:input"観測距離・・・・・";S1(I):II=I
goto *200
'--------偏心点 2 の入力----------
*207:cls:locate 20,3:print"*** 相  互 偏 心 入力2 ***"
locate 25,6:input"観測点名 ・・・・・・・  ";KK2$
locate 25,8:input"後視点名   ・・・・・  ";N0$
locate 25,10:input"偏心点名 2  ・・・・・  ";N1$
locate 25,12:input"偏心角 2・・・・・・・・  ";F2
locate 25,14:input"偏心距離 2 ・・・・・・  ";E2:I=0
'
*214:I=I+1
cls:locate 50,7:print"終了  0"
locate 20,10:input"視準点名・・・・・";N2$(I)
if N2$(I)="0" then *SOUGO
locate 25,12:input"観測方向角・・・・";B2(I)
locate 25,14:input"観測距離・・・・・";S2(I):III=I
goto *214
'
'
*SYUSEI3:'--------------修 正-----------
'
cls:locate 20,1:print"*** 相 互 心 修 正 ***"
locate 25,4:print"観測点名1・・・・・・・1"
locate 25,5:print"後視点名1・・・・・・・2"
locate 25,6:print"偏心点名 1・・・・・・・3"
locate 25,7:print"偏心角1 ・・・・・・・4"
locate 25,8:print"偏心距離1・・・・・・・5"
locate 25,10:print"観測点名2・・・・・・・6"
locate 25,11:print"後視点名2・・・・・・・7"
locate 25,12:print"偏心点名2・・・・・・・8"
locate 25,13:print"偏心角 2 ・・・・・・・9"
locate 25,14:print"偏心距離2・・・・・・10"
locate 25,16:print"観測点1の修正・・・・11"
locate 25,18:print"観測点2の修正・・・・12"
locate 25,20:print"終 了 ・・・・・・・13"
locate 30,22:input "番号を指定して下さい。";J
on J goto *244,*245,*246,*247,*248,*249,*250,*251,*252,*253,*254,*256,*SOUGO
'
*244:cls:locate 25,10:input"観測点名1・・・・・  ";KK1$:goto *SYUSEI3
*245:cls:locate 25,10:input"後視点名1・・・・・  ";K0$:goto *SYUSEI3
*246:cls:locate 25,10:input"偏心点名1・・・・・  ";K1$:goto *SYUSEI3
*247:cls:locate 25,10:input"偏心角1・・・・・  ";F1:goto *SYUSEI3
*248:cls:locate 25,10:input"偏心距離1・・・・・  ";E1:goto *SYUSEI3
*249:cls:locate 25,10:input"観測点名2・・・・・  ";KK2$:goto *SYUSEI3
*250:cls:locate 25,10:input"後視点名2・・・・・  ";N0$:goto *SYUSEI3
*251:cls:locate 25,10:input"偏心点名2・・・・・  ";N1$:goto *SYUSEI3
*252:cls:locate 25,10:input"偏心角 2・・・・・  ";F2:goto *SYUSEI3
*253:cls:locate 25,10:input"偏心距離2・・・・・  ";E2:goto *SYUSEI3
'
*254:cls:locate 20,7:input"何番目か ・・・・ ";I
locate 20,10:input"視準点名・・・・・";N1$(I)
locate 25,12:input"観測方向角・・・・";B1(I)
locate 25,14:input"観測距離・・・・・";S1(I):goto *SYUSEI3
*256:cls:locate 20,7:input"何番目か ・・・・ ";I
locate 25,10:input"視準点名・・・・・";N2$(I)
locate 25,12:input"観測方向角・・・・";B2(I)
locate 25,14:input"観測距離・・・・・";S2(I):goto *SYUSEI3
'
*KEISAN3:cls:'---------計算中---------
'
FF1=360#-fnDEG(F1):FA1=fnDMS(FF1):FR1=FF1/RAA
for I=1 to II
BB1(I)=fnDEG(B1(I)):TN=BB1(I)+FF1:gosub *360:BT1(I)=fnDMS(TN):TR=TN/RAA
X=atn(E1*sin(TR)/(S1(I)-E1*cos(TR))):X1(I)=fnDMS(X*RAA)
SS1(I)=sqr(S1(I)^2+E1^2-2#*cos(TR)*S1(I)*E1)
X2=fnDEG(X1(1)):TN=BB1(I)-X2+X*RAA:BBB1(I)=fnDMS(TN)
next I
'
FF2=360#-fnDEG(F2):FA2=fnDMS(FF2):FR2=FF2/RAA
S1=S1(1)-E1*cos(FR1)-E2*cos(FR2):S2=-E2*sin(FR2)-E1*sin(FR1):SS0=sqr(S1^2+S2^2)
for I=1 to III
BB2(I)=fnDEG(B2(I)):TN=BB2(I)+FF2:gosub *360:BT2(I)=fnDMS(TN):TR=TN/RAA
X=atn(E2*sin(TR)/(S2(I)-E2*cos(TR))):X2(I)=fnDMS(X*RAA)
SS2(I)=sqr(S2(I)^2+E2^2-2#*cos(TR)*S2(I)*E2)
X2=fnDEG(X1(I)):TN=BB2(I)-X2+X*RAA:BBB2(I)=fnDMS(TN)
next I
'
'-----------印刷----------
lprint:lprint:lprint:lprint:lprint tab(30)"相 互 偏 心 計 算 書"
if II=2 then *294
if II=3 then *339
'
*294
lprint:lprint:lprint using "                    観測点  &     &  -------->  視準点  &     &";KK1$;K0$
lprint using "                                     -------->  偏心点  &     &";K1$:lprint
AN=F1:gosub *DOFUNBYO1
lprint using "                    偏心角   #### ## ##         偏心距離 #####.###";V1,V2,V3,E1:lprint:lprint
lprint using"                    点  名      &       &         &       &";N1$(1),N1$(2):lprint
AN=B1(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B1(2):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
AN=FA1:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#";V1,V2,V3,V1,V2,V3
lprint AN1$
AN=BT1(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT1(2):gosub *DOFUNBYO1
lprint using"                    偏心方向角#### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.###        #####.###";S1(1),S1(2):lprint
AN=X1(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X1(2):gosub *DOFUNBYO1
lprint using"                    偏 心 角  #### ## ##.##    #### ## ##.##";V4,V5,V6,V1,V2,V3
lprint AN1$
AN=BBB1(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB1(2):gosub *DOFUNBYO1
lprint using "                   中 心 角  #### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
AN=TA1:gosub *DOFUNBYO1
lprint using"                    偏心角 1                     ## ## ##.## ";V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####      #####.#####";SS1(1),SS1(2):lprint
lprint using"                    与点間距離 #####.##### ";SS0
lprint AN1$
lprint AN1$
if III=2 then *315
if III=3 then *369
'
*315:lprint
lprint using "                    観測点  &     &  -------->  視準点  &     &";KK2$;N0$
lprint using "                                     -------->  偏心点  &     &";N1$:lprint
AN=F2:gosub *DOFUNBYO1
lprint using "                    偏心角   #### ## ##         偏心距離 #####.###";V1,V2,V3,E2:lprint:lprint
lprint using"                    点  名      &       &         &       &";N2$(1),N2$(2):lprint
AN=B2(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B2(2):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
AN=FA2:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#";V1,V2,V3,V1,V2,V3
lprint AN1$
AN=BT2(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT2(2):gosub *DOFUNBYO1
lprint using"                    偏心方向角#### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.###       #####.###";S2(1),S2(2):lprint
AN=X2(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X2(2):gosub *DOFUNBYO1
lprint using"                    偏 心 角  #### ## ##.##    #### ## ##.##";V4,V5,V6,V1,V2,V3
lprint AN1$
AN=BBB2(1):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB(2):gosub *DOFUNBYO1
lprint using "                   中 心 角  #### ## ##.#     #### ## ##.#";V4,V5,V6,V1,V2,V3:lprint
AN=TA2:gosub *DOFUNBYO1
lprint using"                    偏心角 2                     ## ## ##.## ";V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####       #####.#####";SS2(1),SS2(2):lprint
'
lprint chr$(12);
goto *SOUGO
'
'---------3方向 print---------
*339:lprint
lprint:lprint:lprint using "                    観測点  &     &  -------->  視準点  &     &";KK1$;K0$
lprint using "                                     -------->  偏心点  &     &";K1$:lprint
AN=F1:gosub *DOFUNBYO1
lprint using "                    偏心角   #### ## ##         偏心距離 #####.###";V1,V2,V3,E1:lprint:lprint
lprint using"                    点  名      &       &         &       &      &       &";N$(1),N$(2),N$(3):lprint
AN=B1(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=B1(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B1(3):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
AN=FA1:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#    #### ## ##.#";V1,V2,V3,V1,V2,V3,V1,V2,V3
lprint AN2$
AN=BT1(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BT1(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT1(3):gosub *DOFUNBYO1
lprint using"                    偏心方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.###        #####.###       #####.###";S1(1),S1(2),S1(3):lprint
AN=X1(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=X1(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X1(3):gosub *DOFUNBYO1
lprint using"                    偏 心 角   ### ## ##.##     ### ## ##.##    ### ## ##.##";V7,V8,V9,V4,V5,V6,V1,V2,V3
lprint AN2$
AN=BBB1(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BBB1(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB1(3):gosub *DOFUNBYO1
lprint using "                   中 心 角  #### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
AN=TA1:gosub *DOFUNBYO1
lprint using"                    偏心角 1                    ### ## ##.## ";V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####      #####.#####     #####.#####";SS1(1),SS1(2),SS1(3):lprint
lprint using"                    与点間距離 #####.##### ";SS0
'
lprint AN2$
lprint AN2$
'
if III=2 then *315
if III=3 then *369
'
'---------3方向 print---------
*369:lprint
lprint using "                    観測点  &     &  -------->  視準点  &     &";KK2$;N0$
lprint using "                                     -------->  偏心点  &     &";N1$:lprint
AN=F2:gosub *DOFUNBYO1
lprint using "                    偏心角   #### ## ##         偏心距離 #####.###";V1,V2,V3,E2:lprint:lprint
lprint using"                    点  名      &       &         &       &      &       &";N2$(1),N2$(2),N2$(3):lprint
AN=B2(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=B2(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=B2(3):gosub *DOFUNBYO1
lprint using"                    観測方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
AN=FA2:gosub *DOFUNBYO1
lprint using"                    360-B#### ## ##.#     #### ## ##.#    #### ## ##.#";V1,V2,V3,V1,V2,V3,V1,V2,V3
lprint AN2$
AN=BT2(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BT2(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BT2(3):gosub *DOFUNBYO1
lprint using"                    偏心方向角#### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
lprint using"                    観測距離  #####.###        #####.###       #####.###";S2(1),S2(2),S2(3):lprint
AN=X2(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=X2(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=X2(3):gosub *DOFUNBYO1
lprint using"                    偏 心 角  # ## ## ##.##     ### ## ##.##    ### ## ##.##";V7,V8,V9,V4,V5,V6,V1,V2,V3
lprint AN2$
AN=BBB2(1):gosub *DOFUNBYO1:V7=V1:V8=V2:V9=V3:AN=BBB2(2):gosub *DOFUNBYO1:V4=V1:V5=V2:V6=V3:AN=BBB2(3):gosub *DOFUNBYO1
lprint using "                   中 心 角  #### ## ##.#     #### ## ##.#    #### ## ##.#";V7,V8,V9,V4,V5,V6,V1,V2,V3:lprint
AN=TA2:gosub *DOFUNBYO1
lprint using"                    偏心角 2                    ### ## ##.## ";V1,V2,V3:lprint
lprint using"                    計算距離  #####.#####      #####.#####     #####.#####";SS2(1),SS2(2),SS2(3)
'
lprint chr$(12);
goto *SOUGO
'
'
*360:'-------0<TA<360-------
if TN>=360 then TN=TN-360
if TN<0 then TN=TN+360
if TN>=360 or TN<0 then *360
return
'
*MENU1
locate 20,3:print"*** 作 業 メニュウ- ***"
locate 25,6:print"デ-タの入力 ・・・・・・・1"
locate 25,8:print"デ-タの修正 ・・・・・・・2 "
locate 25,10:print"計算書の印刷 ・・・・・・・3 "
locate 25,12:print"作業の終了 ・・・・・・・・4 "
locate 30,15:input"番号を指定    ";J
if J<1 and J>4 then *MENU1
return
'
'
*DOFUNBYO1:'-----度.分秒の分離-----
VV=abs(AN):V1=fix(VV):V2=fix*8*100#
if AN<0 then V1=(V1+0.01)*sgn(AN)
return
'
*SYURYOU
'
end

*1:T-fix(T

*2:T-fix(T

*3:T-fix(T

*4:T-fix(T

*5:T-fix(T

*6:P-S2)*(P-S3)/(S2*S3

*7:P-S1)*(P-S3)/(S1*S3

*8:VV-V1)*100#):V3=(VV*100#-fix(VV*100#