線上の点、幅杭計算(単曲線)

CASIO fx-4800P版 測量計算ソフト プログラムソース




FX-603P版はこちらです→FX-603P 幅杭計算(曲線)     印刷用ページ】

幅杭計算(単曲線)

 単曲線上の任意の点(P点)の座標と、幅杭(PL点、PR点)座標を計算します。
 幅員(Haba(L),Haba(R))が0以下の幅杭は計算しません。
 ※左右の幅員を0にすると、中心座標のみ計算します。

幅杭計算(単曲線)画面

線上の点、幅杭計算(単曲線) 【ファイル名:P4】(681バイト)
   Fixm:H=0:G=0
Lbl 0:{H}
   "<HABA-CURVE>"
   "LEFT_CURVE_⇒1"
   H"RIGHT_CURVE⇒2_"
   H=1⇒K=-1:Goto 1△
   H=2⇒K=1:Goto 1△
   Goto 0
Lbl 1:{M}
   M"R_":M≦0⇒Goto 1△
Lbl 2:{ABEG}
   A"BCX_":B"BCY_"
   "IP_INPUT"
   "ZAHYO___⇒0"
   G"HOKOKAKU⇒1_"
   G≠0⇒E"IP_HOKO_"
   T=E:Prog "60.SUB"
   F=W:Goto 3△
   {CD}
   C"IPX_":D"IPY_"
   T=A:U=B:V=C:W=D
   Prog "ZA.SUB"
   Z=999⇒Goto 2△
   F=Y
   X"IP_KYORI="▲
   T=F:Prog "60.SUB"
   E=V
   E"IP_HOKO="▲
Lbl 3:{LN}
   H=1⇒L"(L)L_":≠⇒L"(R)L_"△
   L≦0⇒Goto 3△
   P=L÷M×90÷π
   Q=sin P×2×M
   R=F+P×K
   T=cos R×Q+A
   U=sin R×Q+B
   H=1⇒T"(L)PX="▲
   U"(L)PY="▲
   ≠⇒T"(R)PX="▲
   U"(R)PY="▲
   △
   N"HABA(L)_"
   N=0⇒Goto 4△
   V=R+P×K−90
   X=cos V×N+T
   Y=sin V×N+U
   H=1⇒X"(L)PLX="▲
   Y"(L)PLY="▲
   ≠⇒X"(R)PLX="▲
   Y"(R)PLY="▲
   △
Lbl 4:{S}
   S"HABA(R)_"
   S=0⇒Goto 3△
   V=R+P×K+90
   X=cos V×S+T
   Y=sin V×S+U
   H=1⇒X"(L)PRX="▲
   Y"(L)PRY="▲
   ≠⇒X"(R)PRX="▲
   Y"(R)PRY="▲
   △
   Goto 3

QUICK RUN に書き加える条件文 (14バイト)
  I=4⇒Prog "P4":Goto 0△

エラー表示サブルーチン 【ファイル名:ER.SUB】(38バイト)
   Z=999
   "DATA_ERROR"
   Pause 1

座標変換サブルーチン 【ファイル名:ZA.SUB】(106バイト)
   Fixm:Z=0
   (T-V)≠0⇒Goto 1△
   (U-W)≠0⇒Goto 1△
   Prog "ER.SUB":Goto 2
Lbl 1:X=W-U:Y=V-T
   Deg:Pol(Y,X)
   J≦0⇒J=J+360△
   X=I:Y=J
Lbl 2

角度変換サブルーチン 【ファイル名:60.SUB】(153バイト)
   Fixm:V=T:W=T
   T=0⇒Goto 1△
   X=T÷Abs T
   T=Abs T
   V=Int T:W=V
   Y=(T-V)×60
   I=Int Y
   J=(Y-I)×60
   V=(V+(J÷100+I)÷100)×X
   Y=Frac T×100
   I=Int Y
   J=(Y-I)×100
   W=(W+(I+J÷60)÷60)×X
Lbl 1

ご注意下さい
  • プログラムを入力する前に、fx-4800Pの取扱説明書をよくお読みください。
  • プログラムをご使用になる前に、「内容説明書」「操作手順書」「例題集」を良くお読みになり、操作方法を練習してください。
  • 上記プログラムソースは見やすいようにインデントされていますが、fx-4800Pに入力する際には、インデントを無視してください。
  • ファイル名は変更可能ですが、ソフト起動プログラム(QUICK RUN)を利用する場合には変更しないでください。
  • サブルーチンは他のプログラムと共用しますのでファイル名を変更しないでください。
  • アルファベットの「O」と数字の「0」を区別するため、アルファベットの「 O 」にアンダーラインを入れて表示しています。
  • fx-4800Pのプログラムには通常のテキストでは忠実に表現できないものがあります。本プログラムリストでは下表の通り表現していますのでご注意ください。