...

http://repository.osakafu-u.ac.jp/dspace/ Title Author(s) Editor(s

by user

on
Category: Documents
10

views

Report

Comments

Transcript

http://repository.osakafu-u.ac.jp/dspace/ Title Author(s) Editor(s
 Title
Author(s)
古いプログラム資源の活用に関する検討
川口, 俊雄; 新納, 格
Editor(s)
Citation
Issue Date
URL
大阪府立大学工業高等専門学校研究紀要, 2015, 49, p.43-54
2015-12-17
http://hdl.handle.net/10466/14784
Rights
http://repository.osakafu-u.ac.jp/dspace/
古いプログラム資源、の活用に f
刻する検討
古い プログラム資源の活用に関する検討
川口 俊雄 ¥
新 納 格*
TheOldPr
o
gr
amsTr
a
ns
p
la
n
t
e
dt
ot
hePo
c
k
e
tCompu
t
e
r
T
o
sh
ioKAWAGUCHI*
andTa
da
sh
iNII
RO
ホ
要旨
A
S
IO,S
H
A
R
P によって、 1
9
8
0
年代に開発された計算機器である 。
ポケットコンビュータは、 主に日本の C
by
t
e程度の容量であったが、現場で使える機種がそれまでに存在しなかったことから 、搭 載 さ れ
当初 は 1K
A
S
I
C言語により、コンパクトなプログラムが多数開発された。その後、パソコンでの処理がなされ
ている B
A
S
I
Cで、のプログラムが未整理のまま、あまり利用されなくなり 、
るようになり、ポケッ トコンビュータの B
0
本の測 量計算フ。ログ
今日に至っている 。今後の携帯端末でのプログラムの開発の参考になるように、古い 2
ラムの整理を行った。
u
r
v
e
y
,BAS
I
C,P
o
c
k
e
tComp
ut
e
r
,SHARPPC
・
G850VS,携帯端末,測量計算プログラム
キーワード :S
1 はじめに
の処理やチェックができる点では、ポケットコンピ
ュータもまだまだこれからも利用価値が高く 、便利
現 在、測量作業のまとめである計算作業は、パー
なものであると考えられる 。
A
S
I
C で作られた、
以上のことから、 三十年前の B
ソナルコンピュータによる処理が ー般化 され、事 務
9
8
0
年
所では比較的簡素化されて処理されている 。 1
主に測企計算プログラムを 、ポケッ トコンビュータ
代前半では 、こ のパ}ソナノレコンピュータがまだほ
S
出R
PP
C
G
8
5
0
V
S に移植 ・整理した。移植は、演算
とんど無く 、関数電卓にプログラム機能が付いた機
年前に完成しているので 、主に表
部分については 30
種 や、初 めて 一般に販売されだしたポケットコンピ
示音I
1
分の修正であり考えていたよりも簡単に処理で
A
S
I
Cプログラムを組み込み、それを使っ
ユ}タに B
きた。
て、事務所や現場作業で、
の計算処理に使っていた。
とても貴重な計算処理機であった。 現在は 、関数電
2.計算例
日本国内 D
E
G
R
E
E版
卓
、 一部ポケッ トコンビュ ータも販売されて いるが、
大きな流れとしては、ス マー トフォンによって、こ
N して 、ポケットコンピュ ー タを 立 ち上
電源、を O
れ らのものに代用される機会が噌えて いる 。今後は、
A
S
I
Cモードで R
U
N と入 力 し、プ ログラ ムを
げる 。B
このスマートフォンに代表さ れる携帯端末の利用が
e
n
u画面から 、プログラムを選択する 。
起動する。 M
活発化され、進化していくことが考えられ、それに
S:
標高トラハ、、 ース
0:
開放トラハ」ス
A
S
I
Cプログラムも 来整理の
コンビュータで動く B
M
e
n
u
A:
放射トラハや ース
F
:間接水準
G:
4点交点
H:
垂線長計算
ものが多数有り 、使用する電源の確保の面からも、
J
:鉛 直角補正
K:
気 温 気圧 補正
L:
投影補正
X:
平行4点交点
B:
λタ
シ
。7 1
C
:2内角交点
N
:λタ
γ72
M:
ス
タ
シ"73
伴うアプリケーションソフトの開発が期待される。
←方 、三十年以上も前のものであるが 、ポケッ ト
単四乾電池4本で動き 、相当な期間ほとんど電源を意
Z:
三角計算
識することなく使っていけるという面から 、現場お
V:
横断(逆算)
よび事務所においても 、手軽に手に取って 測量計算
,中間点 ・幅杭
/
:
逆ト 7
¥
• ース計算
C
C:
前方交会法
:
内角計算 λ
(へ。引が二つ)
2015
年 8月 1
7日受理
*総合工学システム学科都市環境コース (
D
c
p.
o
fT
c
c
h
n
o
l
o
g
i
c
a
l
プログラムを選択してください。
$
y
s
t
e
m
s:
C
i
v
i
lE
n
g
i
n
e
e
r
i
n
ga
n
dE
n
vi
r
on
m
e
n
tC
o
u
r
s
e
)
- 43 -
川口俊雄,
新納
格
大阪府立大学高専研究紀要 第 49 巻
距 離 L=
方向角 AZ=
座 標 dx=
X=
水平角 HA=
距 離 L=
方向角 AZ=
座 標 dx=
X=
A:放射 トラバース 計算(Traverse 1)
基準点 X1= 100.000
Y1= 100.000
方向角 Z1= 30.5750
入力
水平角 HA= 36.4436
(36°44′36″)
距 離
L= 334.322
出力
方向角 AZ= 67°42′26″
座 標 dx= 126.822
dy= 309.334
X= 226.822
Y= 409.334
10.000
300°00′03″
5.000 dy= -8.660
602.732 Y= 590.340
270.0000
5.000
30°00′03″
4.330 dy= 2.500
607.062 Y= 592.840
F:間接水準(Cross Section)
標 高 EL= 500.000
器械高 IH= 1.500
目標高 FH= 0.250
鉛直角 V= 87.3945
(87°39′45″)
斜距離 SL= 100.000
距 離 L= 99.917
dh= 5.329
地盤高 GH= 505.329
S:標高 トラバース 計算(Traverse 2)
基準点 X1= 100.000
Y1= 100.000
方向角 Z1= 30.5750
(30°57′50″)
標 高 EL= 500.000
器械高 IH= 1.500
目標高 FH= 0.250
観測角 HA= 36.4436
(36°44′36″)
鉛直角 V= 97.4028
(97°40′28″)
斜距離 SL= 100.000
方向角 AZ= 67°42′26″
距 離 L= 99.104
座 標 dx= 37.594
dy= 91.697
X= 137.594
Y= 191.697
地盤高 dh= -12.104
GH= 487.896
G:4点交点(4×)
基準点
基準点
基準点
基準点
出力
X1= 4.000
X2=11.000
X3= 7.000
X4= 6.000
X=
Y1= 5.000
Y2=12.000
Y3= 4.000
Y4=12.000
6.556 Y= 7.556
H:垂線長計算(Suisen)
垂線長
基準点 X1=
Y1=
X2=
Y2=
X3=
Y3=
H= 200.000 距離 L=
100.000
100.000
350.000
250.000
226.824
409.332
267.901
D:開放 トラバース 計算(Open Traverse)
基準点 X1= 597.732 Y1= 599.000
方向角 Z1= 300.0003
(300°00′3″)
水平角 HA=
0.0000
(0°00′00″)
J:鉛直角補正計算(Vertical)
鉛直角 r= 94°13′53″
鉛直角 l= 265°46′49″
入力
r= 94.1353
l= 265.4649
- 44 -
古いプログラム資源の活用にl
刻す る検討
鉛直角
出力
。0
' 421/
合計= 360
e= + 0
。0
'4
21/
0
r-l 2Z= 188 2
7
' 41/
v= 89.1425
(
8
90 1
4' 25" )
出力
距離
L= 332.941
0
Z= 94 1
3
' 32グ
dh=
90-Z v= -40 1
3
'3
21/
地盤高 GH=505.665
X:
平行移動十l
き4点交点 (Parallel4x
)
K:
気瓶 ・気圧補正計算 (WildAtmosphere)
基準温度 10C
基準標高 Om
0
キ
票 高
器械高
目標高
EL= 500.
000
気温
鉛直角
TM= 20
5.665
基準点 X1= 4.000
IH= 1
.500
M
基準晶 3
斜距離
Y1
= 5.000
¥ごメ/
v= 1
.1
425
4
'2
51/
(
10 1
む
./
/ / 基準点 X2= 11
.000
FH= 0.250
佐 川00
);
:空車
ァ
)
L
l= 1
000.001
轟自
匹点
/ 、 ¥ 轟.
114
ν/〆
"
方向角
距離
0
AZl= 45
0
0
'0
01/
平均距離 Ave= 1000.002
斜距離
SL= 1000.0020
係 数 料
2
.38
幅
I
V
+
= 1.000
基準点
X3=
7.000 Y3=
補正最
斜距離
基準点
X4=
6.000 Y4= 1
2.000
L2= 1000.002
L3= 1000.003
0=
0.0238
L1= 9.899
4.000
LO= 1000.0258
L:
投影補正 (Oistance)
斜距離
0
方向角
距離
AZ2= 97 0
7
' 30
.
06"
幅
-I
V
+= 2.000
L2= 8.062
00= 1000.0258
鉛直角
v= 4.1
332
出力
0
(
4 1
3
'3
2")
標 高
器械高
目標高
標高差
EL= 500.000
地盤高
平均標高
傾斜補正
投影補正
球面距離
GH= 574.935
X=
4.607 Y=
7.021
I
H= 1
.500
FH= O
.250
H= 73.685
C:
2 内角交点計算 (
2Angles)
AH= 537.467
基準点 Xl= 100.000
2(
X
2
.Y2)
0= 997.307
Y1= 100.000
もl
時=ー0.084
'" ~求点
1
L
L= 997.223
基準点 X2= 350.000
./〆
Y2= 250.000
3(
X
3.
Y
3)
14T
1(
X
l.Y
l)
B:
スタジア計算 (Stadia)
出力方向角
標高
EL=500.000
器械高
目標高
IH= 1
.500
FH= O
.250
~é
入力
入力
ス
タ
シ
ー 71 S1= 1
.230
ス
タ
シ
ー 72 S2= 4.560
求点
- 45 -
同
住
角度
角度
AZ= 30 5
7
'4
9.
5
2
"
0
L= 291
.548
A= 36.4435 (
3
6 44
'3
51/
)
s= 83.1525 (
8
3 1
5
'2
51/
)
0
X= 226.824
0
Y= 409.333
川口俊雄,
,中間点 ・幅杭計算(In
t
e
r
m
e
d
i
a
t
e
)
2
(
X
2.
Y
2)
基準点
車
i
l
納絡
大阪府立大学高専研究紀袈第 4
9巻
スペース
スペース :
内角計算 (
A
n
g
l
e
)
2(
X
2.
Y
2
)
Xl
= 100.000
基準点Xl
= 100.000
Y
l= 100.
000
Y1= 100.000
-W I φ W
求点
・
ー
ー
ー
ー・
-.
. 基準点 X2= 350.000
求点1
3
(
X
3
.
Y
3
)
3
(
X
3
.Y
3)
Y2= 250.000
+
L
中間点距離
1(
X
l.Y
l
)
0
AZ= 30 5
7
' 49.52#
し= 1
67.1
6
0
出力中間点 I
N
T:
X= 243.339 Y= 186.003
距 離 し =291
.548
人力幅杭(一:+
)
L(
ー:
+
)= 10.000
出力幅杭
基準点X2=350.000
Y2= 250.000
基準点
出力
内角
X3= 226.
824
距離
L=334.321
R
:
Y3= 409.332
0
AN= 36 4
4
' 34#
X= 2
3
8
.1
94 Y= 194.578
スペース :
逆 トラパース計算 (
R
e
v
e
r
s
e
)
求点
基準点
X1= 100.000
2
(
X
2.
Y
2) 求 点
Y1
= 100.
000
X2= 350.000
プログラムの流れ
プログラム
フローチャー卜
Y2= 250.000
方向角
Y
1(
X1
.Y
l
l
距離
基準点
AZ
= 300 5
7
' 49
.52グ
2
0
L= 291
.548
M
e
n
u
プログラムの選択
X
l= 100.000
Yl= 100.000
求点
X2= 226.824 Y2= 409.332
1
1
0
方向角 AZ= 670 4
2
' 24.1
5
#
距離
L
= 334.321
8
6
5
C
C:
前方交会法 (
Z
e
n
p
o
u
)
基準線
角度
求点
3
0
角度
J AV
1
曹
L
出力
.948
L= 261
A= 86.5000
0
' 00" )
(
8
6 5
,
¥b
a/
"
B
¥
.
.
曹
サブルーチン
2
L
l=
96.083
L2=
165.865
距離
a= 1
,739.351
距離
b= 1
,744.598
メインルーチン
B=84.3240
0
3
2
' 40" )
(
8
4
1
1
8
0
0
- 46 -
古いプログラム資源の活用に l
刻する検討
Z:
三角計算 (
T
r
i
a
n
g
l
e
)
3
.S
H
A
R
PPC
-G
8
5
0
V
S ^'パソコンの送受信
三角計算とは、 三角形の二つの座標値が決定して
テキス トファイノレの送受信
いる場合に、 三角形の要素 a
,
b,
A,
B,
C,
h,
d,
e
,
S のう
・ポケコンとパソコンの通信条件を合わせる
ち
、 二条件が整って 三角形が成立する場合に、求点
ポケコンで [
T
E
X
T
]ーー>[
S
]ーー>[
F
]と操作して
の座標値を出力するものである 。 この場合 、基本的
通信条件を下記の通りに設定する
baudr
at
e =9600
d
a
t
ab
i
t
=8
stopb
it = 1
p
a
r
it
y
=n
o
n
e
en
dofli
n
e=CRLF
en
doffi
l
e= 1
A
l
i
n
en
u
m
b
e
r= y
e
s
flow=RS
/CS
※9
600b
p
s に設定する場合の例です。
うまくいかない場合は 4
8
0
0b
p
sに
には、基準点 l
から基準点2の方 向に向かつて右側の
交点を出力する 。右側に 2
点交点ができるものは、 二
つの交点を出力する。
∞
∞
)
(
3
5
0
. 0.
2
田.
0
2(
X
2.Y
2)
設定してください。
1(
X1
.Y1)
∞ ∞∞
)
パソコン側では、 T
e
r
aTer
m を使いま す
。
(
1
0
0
. 0
.
1 .
0
0 シ リアル (E)
X
1= 1
0
0
.
0
0
0 Y
l= 1
0
0
.
0
0
0
X
2
=3
5
0
.
0
0
0 Y
2
=2
5
0.
0
0
0
0
出力方向角
AZ
= 3
0 5
7
'4
9.
5
2
#
距離
L
=2
91
.5
4
8
入力
距離
a=3
3
4.
3
2
2
b
=201
.3
9
3
距離
角度
A= 3
6.
4
4
3
5
(
3
60 4
4
'3
5
#)
0
角度
B= 83.1
5
2
5
(
8
3 1
5
'2
5
#)
0
角度
C= 60.
0
0
0
0
(
6
0 0
0
'0
0
#)
垂線長
h
=2
0
0.
0
0
0
d=2
8
9.
5
3
1
e
=1
7
4.
41
2
面積
S=2
9,1
5
4.
8
0
0
ポート (
p
)
に
チェックを入れる
基準点
設定(
S
) 一一〉シリアルポート (
E
)
基準点
で通信 条件を設定する 。
P
)
COM3
ポート (
ボーレート (
B
)
データ (
D
)
パリティ (
A
)
ストップ (
S
)
フロー制御 (
F
)
9600
8b
it
none
1b
it
n
o
n
e
パソコン一一〉ポケコンのファイノレ転送
①
ポケコンを受信待機状態にする
ポケコンで [
T
E
X
T
]一一>
[
S
]
>
[
L
] と操作する
X
=2
2
6.
824 Y=4
0
9.3
3
3
求点
②
EE--74J
i
!
?
l
・‘、,'
.¥
'¥
'(
~. ,
.伊丹』
パソコンからファイノレを転送する
TeraTermでファイノレ (
F
) ーー〉 ファイノレ送信
でアアイノレを選ぶ(パンコン側で通信が終了
l
:
詰問通i
議?
!
j
Eぷ伝記;
;
i
j
圃
しでもポケコン側で受信が終了しない場合は、
CTRLキーを押しながら Z キーを押す)
.
.
.
ー・
F
ポケコン ーー〉パソコンのファイル転送
圃
①
置置園白』 21
②
図 1 ポケッ トコンピュ}タ S
HARPP
C
G
8
5
0
V
S
- 47 -
パソコンを受信状態にする
T
e
r
aTermでファイノレ (
F
) 一一〉ログ (
L
)で
ファイノレ名を入力する
ポケコンからファイノレを転送する
TEXT]
>
[
S
]
>
[
S
] と操作する
ポケコンで [
川口俊雄,
車
i
'
納絡
大阪府立大学高専研究紀袈第 4
9巻
4 考察
付録
今回は、過去のプログラムの移植を行ったが、全
くゼロの状態から有(プログラム)を生み出すのは、
10CLS :
WAIT0
:DEGREE
H
20PRIN
T HSurvey JapanDE
GREE 0001
30A$=H H
H
40PRIN
TH
A:
Tral S:
Tra2 D:
Tra3
H
45PRIN
T HF:
Crsl G:
4X
H
:Ylen
H
50PRIN
TH
J
:Yer
K:
I
V.
A
L:
Ocal
H
60PRINT HZ:
Trian X:
Pa4X C:
2Ang
H.
65PRIN
T H,:
I
nt
,
:
Rev
たいへんな時間とエネノレギーを必要とする。 したが
って、少しでも過去にプログラム化されたものがあ
るのであれば、それを移植していくのが 、過去の資
源を有効に活用する方法であると考える。過去のプ
ログラムは、その時代のコンビュータの状況などの
制約から 、多くの知恵や工夫がなされて造られてい
る。その知恵や工夫を知って今後に生かすためにも 、
移植、整理してい くべきであると考える。プログラ
ムの中には、すでにブラックボックス化されてしま
っているルーチ ンも存在する。こ れらについては、
その内容を明らかにして い くことは、今後の課題と
するところである。
5.あとがき
社会は、過去から未来へ、また人から人へと受け
継がれて発展している。今は、すでに高度情報化社
会の中にあり 、イ ンターネットなどは基礎技術の一
つで、社会はこれな くしては成り立っていかない。
今後の社会は、インターネットを中心と して、情報
の共有というものが、ますます重要となってくると
考えられる。人々がそれぞれ歳月をかけて築きあげ
てきたものは、今後データベースとして有効に活用
プログラムリスト
日本圏内 DEGREE版
70INPUT A$
72CLS
AH TH
EN H
AH
751FA$=H
761FA$=HSH THEN H
SH
H
H
771FA$=HD THEN HD
H
H
781FA$=HF THEN HF
H
H
791FA$=HG THEN H
G
80lFA$=HHHTHEN HHH
811FA$=HJH THEN HJH
H
H
821FA$=HK THEN HK
H
831FA$=HL THEN H
LH
841FA$=HZH THEN HZH
H
H
851FA$=HX THEN HX
H
H
861FA$=HC THEN H
C
871FA$=H,H THEN H,H
したい と考える。ま た、三十年というタ イムスパン
を一度振り返って整理してみるのも 、今後の社会の
あり方を考える良い機会になるものと考える。
881FA$=H H THEN H
891FA$=HyH THEN HyH
H
H
9
11FA$=HB THEN HB
H
H
921FA$=HN THEN H
N
931FA$=H
MH TH
EN H
MH
謝古事
941FA$=H H THENH
H
H
951FA$=HCC THENHCC
1
00GOTO 20
大阪府立大学工業高等専門学校技術支援室にて本
プログラムのチェックを快く引き受けていただいた。
感謝申し上げる 。
110GO
SUB 1
50:
X=A+OX:
Y=B+OY:
RE
TURN
1
20LO=ABSLO:
L=ABS(
L
O*COSV
):
GOSUB430
:RETUR
N
130V=9 0-V : RETU~~
1
40LO= ABS LO:
し= A
BS (
LO*SINV
):
RETURN
1
500X=
以 C
OSAZ:
DY=L*SIN AZ : RETU~~
1
60J=OX+0.5/TENF
*SGNOX:
K=DY+0.5/TENF牢 SG
N
OY
参考文献
1
70N=X+0.5/ TENF* SGNX:
M=Y+0
.5
/ TEN F*SGNY
1)取扱説明書 SHARPPC-G850VS シャープ株式会社
1
8
0RETURN
2)位置測定装置(特許第 38451
02号)
1
90AZ= OEG ZI
3) 測量学 I 堤 隆 著
コロナ社
4) 測量学
大木正喜著森北出版株式会社
5) 地図の科学
山岡光治著 SB州エイティプ
6) 地形図を読む技術 山岡光治著 S8州エイティプ
200GOSUB31
0
21
0RETURN
1
V
2600X=O-Q:
OY=P-
270L=SQR (SQUOX+SQUD
Y
):
I
FL=OLE
TAZ=O:
GOTO
- 48 -
古いプログラム資源の活用に l
刻する検討
330
680USING "持詳詳持拡詳詳詳 ":RETURN
280AZ= ASN (
D
Y/L
)
1
":
RETURN
690USING "詳持詳詳扶持持詳t
290IFDX>=OLETAZ=360+AZ
700WAIT O:
PRINT"AZ=ρ
; DMS$ AZ
300IFDXくoLETAZ=180-AZ
,670,680,
690
7100N FGOSUB 660
310IFAZ>=360LETAZ=AZ-360
5:
PRINT " L=";L+0.51 TENF*
7
2
0
I
V
A
I
T:
LOCATE 1
2,
320IFAZくoLETAZ=AZ+360
SGNL:RETURN
330Z=AZ
1TEN F*SGNH:RETURN
730PRINT "H=";H+O.5
340RETU附
1TEN F*SGN D:RETURN
740PRINT" D=";D+O.5
350GOSUB 810:GOSUB 140:F=3:GOSUB710:RETURN
750GOSUB 710
360DH=-DH:
GOSUB 450:
RETURN
PRINT"dh=";DH+0.5
1TENF
*
760WAIT0:
LOCATE0,5:
370GOSUB 530
SGNDH
380INPUT "S1= ;S1:IFS1>=0 INPUT "S2=";S2
PRINT"GH=";
EL+0.5
1TENF*
770WAIT :
LOCATE1
2,5:
くo
LETS=ABSS1
390GOSUB8
1
0
:S=ABS(
S1
S
2
):
IFS1
SGNEL
が
400GOSUB 1
3
0
780RETURN
410L=TEN2ヰS牢 SQUCOSV:H=TEN2*S牢 COSV牢 SIN
,2
:
INPUT "HA=";HA:IF 出 <0 LET
790LOCATE 1
2
V:
GOSUB440
HA=HA+360
J
.
420RETUR
i
'
800RETUR
N
4
:INPUT "HA= ;
H
A
:IF HAくo LET
805LOCATE 0,
430H=LO*SINV
440DH=H+IH-FH
が
HA=HA+360
807RETUR
N
450EL=GH+DH:
RETURN
460WAIT
O:FOR
SC=1
TO
2:GOSUB
810INPUT" V=";VO
INPUT"Xl=";A:
LOCATE
865:NEXT :
I
V
A
I
T:
LOCATE0,I:
820V= DEGVO:
IFV>O RETURN
1:
INPUT
1
2,
830V=ABSV:
V=450-V:
IFV>=360 LET V=V-360
"
Y
l=";B:LOCATE
0,
2
:INPU
T
1:
GOSUB 1
9
0:
X=A:Y=B:GOSUB 310
"ZI
=
"
;Z
840RETURN
470RETUR
N
850INPUT "V=";VO:
V= DEG VO
480GOSUB790:
GOSUB 560:IFL<O GOSUB 350
860RETURN
490RETURN
2:
IFG>=O INPU
T "EL=";G:
GH=ABSG
500LOCATE 1
2,
865LOCATE
":RETURN
510LOCATE 0,
3:IF 1
>=0 INPUT "IH="
;I:
I
H= ABS 1
870"A
"
:DEGREE:
I
V
A
I
T0
:PRINT"Traverse1
"
:F=3:
AZ=
520RETURN
3:
IFR>=O I
NPUT "FH=μ;R:FH=ABS R
530LOCATE 1
2,
DEG0
540RETUR
N
890GOSUB 480:
GOSUB 190:AZ=AZ+ DEG HA:GOSUB 110
550GOSUB 810
560INPUT" L=";LO:
L=LO
670,
680,
690
900GOSUB 1
6
0:
0NFGOSUB660,
J
.
570RETUR
i
'
865:NEXT :
GOTO880
580LOCATE 0,
1:
INPUT "Xl=";
Q:
LOCATE 1
2,
1
:I
NPUT
V
"Yl
=";W:A=Q:
B=1
920"S":DEGREE
:
I
V
A
I
T
2
":
F=3:
SC
=4:
AZ=0
590RETURN
930GOSUB 460:
GOSUB 500
2:
INPUT "X2=";0:
LOCATE 1
2,
2:INPUT
600LOCATE 0,
940WAIT
"Y2=";P
8
6
5
:NEXT :
I
V
A
I
T :
GOSUB 5
3
0
:GOSUB 8
0
5
:GOSUB
610RETUR
N
190:AZ=AZ+ DEG HA:
GOSUB 810:GOSUB 1
3
0:
GOSUB
SC:PRINT
O,
880GOSUB460
910GOSUB 6
2
0
:I
V
A
I
T 0
:FOR SC
=1 TO 5
:GOSUB
O:FOR
O:
PRINT
SC=4
TO
"Traverse
5:GOSUB
3:PRINT "AZ="
; DMS$AZ
620LOCATE9,
560:GOSUB 120
4:
P
RINT"x=";];" y=";K
6
3
0
I
V
A
I
T O:
LOCATE0,
l0:
GOSUB160:
GOSUB700:
I
V
A
I
TO:FORSC=4
950GOSUB1
PRINT "X=";
N;
"Y=";M
640WAIT :LOCATE0,5:
TO5
:GOSUB8
6
5
:NEXT :
I
V
A
I
T:
GOSUB6
3
0
:WAIT0・FOR
650RETURN
RETURN
660USING "詳持持持詳.持":
SC=4TO 5:GOSUB865:NEXT :WAIT :
G
O
SUB 760:
GOTO
940
r:
RETURN
670USING"持詳持持拡持t
960"D":DEGREE
- 49 -
:
I
V
A
I
T
O:
PRINT
"Open
川口俊雄, 車i
'
納絡
大阪府 立大学高専研 究紀袈 第 4
9巻
Traverse":
F=3:
AZ=0
At
mosphere":
F=4
970GOSUB460
1290GOSUB 500:
G
OSUB 530
980GOSUB 480:
A
Z
=A2+ OEGI
A:
G
O
SUB 310
1300IFT>=
O INPUT"TM=";
T:TM=ABST
990GOSUB 1
5
0:
X=X+OX:
Y=Y+OY
1000GOSUB 160:0
N FGOSUB 660,670,680,690
1310GOSUB850
l
1320INPU
T"
L
(
l
)="
;L
1010GOSUB620:
A2=A2-180:
GOSUB310:WAIT0:
LOCATE
1322INPUT "L(2)=";L2
2:
PRINT"
1
2,
1324INPUT "L(3)="
;L3
":
FOR SC=3TO 5:GOSUB
865:NEXT :
I
V
A
I
T:
G
OTO980
1380L
=(
L
l+L2+L
3
)/3:J
=(
(
L
*
SIN
1020"F":OEGREE :WAIT O:PRINT "Cross Section
D=J*L
/
V
)/2
+
G
H
)*
0
.0
0
3
+
1
.7+(
T
M
3
0
)牢0.085:
TE
N
1
":
F=3
5:
00=L+0
1030GOSUs 500
1390GOSUB680:PRINT "Ave=";L
1040GOSUB 530:GOSUB 550:
GOSUB 1
3
0:
GOSUB 1
20
1400GOSUB690:PRINT "SL=";
L
,670,680
,690
10430N FGOSUB 660
1410GOSUB
1
0
4
5
I
V
A
I
T
0:
SC=5:
GOSUB
865:
WAIT
:
LOCATE
=";J+0.005:GOSUB
670:PRINT
牢
690:
GOSUB 740
4
:PRINT" L= ;L+0.5/TEN F
キ S
G
NL
1
2,
PRINT
14200N F GOSUB 660,670,680,690:WAIT :
3:
PRINT "
1
050GOSUs 760:
I
V
A
I
T 0:
LOCATE 1
2,
"00=";00+0.5/ TENF
が
¥
'
AIT :
GOTO 1
040
":
FORSC=4TO5:
GOSUB865・NEXT :
1
43
0
I
V
A
I
T
'
y
'
'
:
OEGREE :
I
V
AIT :
PRINT "Cross Section
1
0
6
0
'
865:NEXT :
I
V
A
I
T :GOTO 1280
2(Reverse)":
F=3
G
H,
"寧 F
H=ρ;FH,
"*IH=ρ;11
1
1070INPUT "牢GH= ;
1440"L":
OEGREE
"Oi
stance"
1080GOSUB 550:GOSUB 130:
GOSUB 1
2
0:
GOSUB 360
1450FOR SC=4TO5:
GOSUB 865:
NEXT :
WAIT :
LOCATE
1090GOSUB 750:
GOTO 1070
:I
NPUT "00="
;しO
0,1
1
l00"H":OEGREE :
WAIT O:PRINT "Suisen":F
=3:
0
NF
1460GOSUB850:
G
OSUB 500:
GOSUB 530
GOSUB 660,670,680,690
1110GOSUB 580:GOSUB 600
1470D=LO*COS V:
GOSUB430:
AH=(GH+E
L
)/2
1115GOSUB 260:
L
l=L:
21=A2
1
490F
=3:
0N
3:
INPUT "X3="
;C:
L
OCA
TE 1
2,
3:INPUT
1120LOCATE 0,
730:GOSUB 770:PRINT "AH="; MOFAH
が
O:FOR
SC=l
:
I
V
A
I
T
TO
5:
G
OSUB
0:
LOCATE
:PRINT
0,0
148000=-AH*0/6377397.1
5
5:
L=0+00
F
GOSUB
660,670,680,690:
GOSUs
"Y3=";M
1500F
=3:
0N F GOSUB 660,670,680,690: GOSUB
11500
=C:
P=M:
GOSUs 260:
L2=L:
22=A2
/TEN F:GOSUB 720
740:PRINT "牢 0=";00-0.5
,
Z
3
):
I
I=Z
117023=Z2-Z1:
L=REC (
L2
1
5
1
0
I
V
A
I
T0
:FOR SC=O TO 3
:GOSUB 865:
NEXT :
GOTO
V
AIT O:
LOCATE O,
5:GOSUB 7
3
0
:
¥
¥
'
AIT :
LOCATE
11801
5:
GOSUB 720:
I
V
A
I
T O:
FOR SC=3 TO 5:GOSUB
1
2,
1
440
1520" ":
OEGREE :
I
V
A
I
TO:PRINT "Reverse"
:F=3
8
6
5
:NEX
T:
I
V
A
I
T:
GOTO 1120
1530GOSUB 580:GOSUB 600:
GOSUB 260:
S$="+"
1
1
9
0
'
'
]
'
':
OEGREE :
¥
¥
'
AITO:PRINT "Vertica1"
1
5
4
0
I
V
A
I
T:
GOSUB 700:
WAIT O:
FOR SC
=1TO 5:
GOSUB
1
2
0
0
I
V
A
I
T:
INP
UT " r="
;R
:I
NPUT " 1
="
;L:
B= OEG
865:
NEXT :
I
V
A
I
T :GOTO 1530
R:
LB=OEG L:
IFB>LBLETB1=B:B2=LB:
B=B2:
LB=B1
1
2
1
0
T=B+LB:U
= ABS (
3
6
0-T
):
S$=
1550"B":
OEGREE :
I
V
AITO:PRINT "
Stadia 1":F=3
1220PRINT "Tota1="; OMS$ T:
S$="+":IFTく360LET
1570GOSUB 3
7
0
:¥
'
AIT :
GOSUB750
が + が
1560GOSUB 500
S$=一
1
5
8
0
I
V
A
I
T
1230PRIN
T "e=";S$+ OMS$ U:
V2=B-LB:
IFV2くoLE
T
865:NEXT :
I
V
A
I
T :GOTO 1
570
V2=V2+360
":
OEGREE :
I
V
A
I
TO:PRINT "Stadia 2":F
=3
1590"N
1240S$="+":PRINT "22= "
; OMS$ V2
1600GOSUB460:GOSUB 500
1
250V1
=V2/2:
S$="+"
1
6
1
0
I
V
A
I
T
1260PRINT " Z= "
; OMS$ V
l:
V=
>90 LETS$="-"
(
9
0
V
1
):
S$="+":
IFV1
ABS
O:FOR
SC=3
0
:LOCATE
TO
5:GOSUB
PRINT
1
2,3:
V
AIT :
GOSUB
":GOSUB 530:
GOSUB 805:
GOSUs 380・I
750:GOSUB 190:A2=A2+DEGHA
1270 PRINT "V=";S$+OMS$ V:GOTO 1200
1620GOSUs 110:GOSUs 160:GOSUB 640
1280"K":
OEGREE :
WAIT O:
LOCATE O,O:PRINT "Wi1d
1
6
3
0
I
V
A
I
T
- 50 -
O:FOR
SC=3
TO
5:GOSUB
古いプログラム資源の活用に l
刻する検討
865:
NEXT :
¥
V
AIT :
G
OTO 1
61
0
2245END
0::
PRINT"Stadi
a
1
640"M":
DEGREE:
I
V
A
I
T0:
LOCATE0,
2250LOCATE
O,
K:
PRINT
3 (Reverse)":F=3
INPUT "*GH="
;GH,
本
"IH="
;I
H
1650LOCATE0,1:
2255RE
TU附4
1
6
6
0
I
V
A
I
T
3010"C":
' 2Angle
O:
FOR
SC=3
TO
5:GOSUB
¥
V
AIT :
GOSUB370:
GOSUB 360
865:NEXT :
詳
詳
3020CLS :DEGREE :
WAIT O:
USING"詳詳持詳持.詳
1670GOSUB 750:
¥
'
AIT 0:
FOR SC
=1 TO 5:
GOSUB
3030PRIN
T "2Angle"
865:NEXT :
I
V
A
I
T:
GOTO 1
640
X
l:LOCATE0,I:PRIN
T"
X
l=μ;Xl
3040INPU
T"
X
l=";
1680",":DEGREE
:WAIT O:
PRINT
"Intermidiam
H
INPU
T "Yl=";Yl
3050LOCATE 1
2,1:
PRIN
T
3060LOCA
TE 1
2,1:
90":
F
=3
,
670,
680,
690:
GOSUB580
16900N FGOSUB 660
X2:
L
OCATE0,
2:PRINT "X2=";X2
3070INPU
T "X2= ;
1700GOSUB 600:
GOSUB 260:
Z0=AZ
INPU
T "Y2=";Y2
3080LOCATE 1
2,2:
1710A=Q:
B=W:
AZ=ZO:
GOSUB 560:IF L=OTHEN 1700
2:
PRINT "Y2="
;Y2
3090LOCATE 1
2,
1720GOSUB 110:GOSUB 170:
X3=X:
Y3=Y:
A=X:
B=Y
3100XO=X
l:
YO=Y
l
3110DX=X2-X1:
DY=Y2-Yl:
LO= SQR (DX^2+DY^2):
AZ=
1
7
3
0
I
V
A
I
TO:PRIN
T "INT:
"
:I
V
A
I
T:
G
O
SUB640
グ
1
740AZ=AZ+90:
GOSUB 310
ー:
+)=
が;
L
1750L
=0:
INPUT "L(
ACS (
D
X/(
LO+ ABS (
LO=O
)
)
)
1760IFL=OTHEN 1710
)
(
D
Xく0
3120AZ
=(
3
6
0+A
Z
)* ABS (
D
X
)=O
)+(
1
8
0-AZ)* ABS
1770GOSUB 11
0:
GOSUB 170
3130GOSUB 3350
>O PRINT "R: :
GOTO1800
1
7
8
0
I
V
A
I
T0
:IFL
3140Z0=AZ:
Z=AZ
T"
L
:
1
7
9
0
I
V
A
I
T0
:IFLくoPRIN
PRINT "AZ=";
3150K=3:
GOSUB 3410:LOCATE 0,3:
が
が
1800GOSUB 640:
GOTO 1
750
I
V
A
I
TO:PRINT " L="
; MDF LO
DMS$ AZ:
LOCATE 1
2,3:
2115"G":
' 4X
31
60K=4:
GOSUB 341
0:
INPU
T " A=";
AA:
ZA= DEG
2120DEGREE
4:PRINT "A=が
; DMS$ DEGAA
AA:
Z=AA:
LOCATE0,
2125CLS :
USING "持詳詳持詳.持持詳'
INPU
T "B=";BB:
ZB= DEG BB:
Z=BB
3170LOCA
TE 1
2,4:
2
1
3
0
I
V
A
I
TO:FOR K=1TO 5:
GOSUB 2250:NEXT
4・PRINT"B="
; DMS$ DEGBB
3180LOCATE 1
2,
2135LOCATE0,0
2140PRIN
T "4X"
31
90CA=-DEGBB+180-DEGAA:
LC=LO*SINDEGBB/SIN
l:
LOCATE0,I:PRINT "
X
l=";Xl
2145INPUT "
X
l="
;X
3210AZ
=ZO+ZA:
L=LC
:
INPU
T "Y1
="
;Y1
2150LOCATE 1
2,1
3220IFAZ)=360 LETAZ=AZ-360:
GOTO3220
(
C
A
)
="
;
Y
1
2155LOCA
TE 1
2,1:PRINT "Y1
GOTO 3230
3230IFAZくoLETAZ=AZ+360:
2:PRINT "X2=";X2
2160INPUT "X2=";X2:
LOCATE0,
3240DX=L
* COS AZ:
DY=L牢 SINAZ
,
2:INPU
T "Y2=";Y2
2165LOCATE 1
2
3250X3=Xl+DX:
Y3=Yl
+DY
2:
P
RIN
T "Y2="
;Y2
2170LOCA
TE 1
2,
3270K=3:
GOSUB 3410
2175INPUT "X3=";X3:
LOCATE0,
3:PRINT "X3=";X3
3:
Z=AA:
PRIN
T "A=グ;DMS$ DEG AA
3280LOCATE 0,
3:
INPU
T "Y3="
;Y3
2180LOCA
TE 1
2,
3:
PRIN
T "Y3=";Y3
2185LOC
ATE 1
2,
Z=BB:PRINT "B="
; DMS$ DEGBB
3290LOCA
TE 1
2,3:
3300K=4:
GOSUB 3410
2190INPUT "X4=";X4:LOCATE0,4:PRINT "X4=";X4
5:
PRINT" X="
; MDFX3
3310LOCATE0,
4:
INPU
T "Y4="
;Y4
2195LOCA
TE 1
2,
3
3
2
0
I
V
A
I
T
4:
P
RIN
T "Y
4=";Y
4
2200LOCA
TE 1
2,
Y3:
K=5:
GOSUB3410
2205Ml=(
Y
2-Y
l
)/(
X
2-X
l
)
3330GO
TO311
0
2210M2=(Y4-Y3)/(
X
4
X
3
)
3340END
本X
l
+YI-Y
3
)/(
M
2-Ml
)
2215X=(M2*X3-Ml
3350IFAZ)=360 LETAZ=AZ-360:
GOTO3350
:
LOCATE 1
2,5:PRINT
2220Y=Ml
*(X-X1)+Yl
3360IFAZ<O LETAZ=AZ+360:
GOTO 3360
PRINT "X=";MDFX
2
2
3
0
I
V
A
I
TO:LOCATE0,5:
3370RE
TURN
5:
PRINT" Y="
; MDFY
2235WAIT :
LOCATE 1
2,
¥
V
AIT
3410
2240GOTO2130
K
":LOCATEO,
- 51 -
0:
LOCATE
Y=
O,
K:PRINT
MDF
川 口俊雄, 車
i
'
納
3420RETURN
40
1
0
"
X
"
:
' PA4X
絡
大阪府 立大学高専研 究 紀 袈 第 4
9巻
4440GOSUB4950
445022=A2
l
E
N44
80
4460I
F Y4<>0n
4020DEGREE
4030CLS :USING "持括採詳詳.持説持
4470IFY4=0 LET2=Z2
H
40401
V1
=0:W2=0
4:
PRINT "A22="
; DMS$ 22
4480LOCATE 0,
4050K=0:
GOSUB4930
4490IFY4=0THE
N 4510
4060K=1:
GOSUB4930
PRINT "L2="
; MDF L2
4500LOCATE 1
2,4:
4070CLS
5:
PRIN
T "-¥
¥
'
+="
;
1
1
'2
4510LOCATE0,
4080PRINT "Parallel4X"
5
:IN
PUT 1
'2
4520LOCATE 1
4,
INPUT "
X
l="
;X
l:
LOCATE O,I:PRINT
4090LOCATE 0,I:
V2
本 C
OS (
Z
2
+
9
0
)
4530X8=X3+1
"
X
l=";Xl
V2
牢 S
IN (
2
2+9
0
)
4540Y8=Y3+1
,I
:
INPUT Yl=";Yl
4100LOCATE 1
2
1
V2
牢 C
OS (
2
2+9
0
)
4550X9=X
4+
Y
l=";Yl
4110LOCATE 1
2,I:PRINT "
4560Y9=Y4+W2*SIN (
Z
2
+
9
0
)
グ
2:PRINT "X2=";X2
41
2
0
INPUT "X2=μ;X2:LOCATE0,
4570I
F Y2=0 ANDY4=0 THE
N 4770
,
2:INPUT "Y2=";Y2
4130LOCATE 1
2
4580I
F Y2=0 THE
N 4650
2:PRINT "Y2=";Y2
41
40LOCATE 1
2,
4150IFY2=0LET2
1= DEG X2:
GOTO4200
4590IFY4=0 THE
N 4710
4600Ml=(
Y
7-Y
6
)/(
X
7-X
6
)
4160DX=X2-Xl:
DY=Y2-Yl:
Ll= SQR (
D
X
^
2+Dγ2):
21=
4610M2=(Y9-Y8)/(
X
9
X
8
)
ASN (
D
Y/(
L
l
+ABS (
L
l=O
)
)
)
)
4620X=(M2*X8-Ml*X6+Y6-Y8)/(
M
2一Ml
4170A2=(
3
6
0+21)* ABS (
D
X)=0
)+(
1
8
0-21)* ABS
4630Y=Ml*(X-X
6
)+Y6
)
(
D
Xく0
4640GOTO4860
4180GOSUB4950
4200IFY2く)0THEN4220
4660M2=(
Y
9-Y
8
)/(
X
9-X
8
)
4210IFY2=0LET2=21
Y
6
Y
8
)
)/(
M
I
M
2
)
4670DX=(
M
l
*(
X
6
X
8
)一(
3:
PRINT "A21
="
; DMS$ 2
1
4220LOCATE0,
4680X=X8+DX
4230IFY2=0THE
N 4250
4690Y=Y8+DX*M2
4700GOTO4860
4650Ml= TA
N ZI
3:PRINT "
L
l
=
"
; MDFL
l
4240LOCATE 1
2,
4250LOCATE0,
4:
PRINT"-1
'+="
;
1
1
'1
4710Ml= TA
N Z2
4260LOCATE 1
4,
4:
INPUT 1
'1
4720M2=(
Y
7-Y
6
)/(
X
7-X
6
)
1
1
'1
* COS (
Z
I+
9
0
)
4270X6=Xl+
Y
8
Y
6
)
)/(
M
I
M
2
)
4730DX=(
M
l
*(
X
8
X
6
)一(
l+
1
1
'1
*SIN (
Z
I+9
0
)
4280Y6=Y
4740X=X6+DX
4290X7=X2+Wl*COS (
2
1+9
0
)
本M
2
4750Y=Y6+DX
Y
7=Y2+
1
V1
牢 S
IN (
2
1
+
9
0
)
4300
4760GOTO4860
4340K=3:
GOSUB4930
1
4770X7=X6+1
000牢 COS21:Y7=Y6+1000牢 SIN2
3:
INPUT "X3=";X3:
LOCATE 0,
3:PRI
NT
4350LOCATE 0,
"X3=";X3
4780X9=X8+1000ヰ COS22:Y9=Y8+1000*SIN22
3
:
INPUT "Y3=";Y3
4360LOC
ATE 1
2,
4790Ml=(Y7-Y6)/(
X
7
X
6
)
4800M2=(
Y
9
Y
8
)!(
X
9-X
8
)
T "Y3=";Y3
4370LOCATE 1
2,3:PRIN
牢X
8-Ml*X6+Y6-Y
8
)/(
M
2-M
l
)
4810X=(
M
2
4:
INPUT "X4=";
X4:
LOCATE 0,
4:PRINT
4380LOCATE 0,
4820Y=Ml*(X-X6)+Y6
"X4=";X4
4830GOTO4860
4:
PRIN
T"
1
1
'1
=ρ
; MOFI
V
I
4860LOCATE0,
4:
INPUT "Y4=";Y
4
4390LOCATE 1
2,
4:PRINT "Y4=";Y4
4400LOCATE 1
2,
4870LOCATE 1
2,4:PRI
NT "W2="; MDFW2
4410IFY4=0 LET22= DEG X4:
GOTO4470
4420DX=X4-X3:
DY=Y4-Y3:
L2= SQR (
D
X
^
2+DY^
2
):
22=
5:
PRINT "X="
; MOFX
48
9
0
I
V
A
I
TO:
LOCATE0,
ASN (
D
Y/(
L
2
+ABS (
L
2=0
)
)
)
4
9
1
0
I
V
A
I
TO:GOTO4050
4430A2=(
3
6
0+2
2
)本
(
D
X
<
O
)
ABS (
D
X
)=O
)+(
1
8
0-2
2
)ヰ
ABS
5:
PRINT "Y="
; MDFY
49
0
0
I
V
A
I
T:
LOCATE 1
2,
4920END
4930LOCATE
- 52 -
K:PRINT
O,
古いプログラム資源の活用に l
刻する検討
C":
C
L
S:
I
V
A
I
TO:DEGREE :
USING "詳詳詳詳詳.将
将
詳
5510"C
4940RETURN
5520PRIN
T "Zenpou":CLEAR
4950IFAZ)=360 LETAZ=AZ-360:
GOTO4950
I:
I
NPUT "L=";
L
5530LOCATE0,
GOTO4960
4960IFAZくoLETAZ=AZ+360:
5540K=1:
I
V
A
I
T 0:
GOSUs 5390
4970RETU附
5010- :'Angle
I:
PRINT "L=";L
5550LOCATE 0,
5020CLS :
DEGREE :
I
V
A
I
T O:
USING "詳詳詳持持.詳持詳"
(360-DEGA
)
5030PRINT "Angle
"
5580K=2:
WAIT O:
GOSUB 5390
H
2:
INPUT"A=";A:
IFA>=180LE
TA=DMS
5560LOCATE0,
l:LOCATE0,I:PRINT "Xl
=";Xl
5040INPUT "Xl=-;X
PRINT "A=";DMS$ DEGA
5590LOCATE0,2:
:
INPUT "Yl
="
;Yl
5050LOCATE 1
2,I
3:
INPUT"B=";
B:
IFB>=1
80LE
TB=DMS
5600LOCATE0,
Y
l=";Yl
5060LOCA
TE 1
2,I:PRINT "
(
3
6
0-DEG B
)
5070INPUT "X2=";X2:
LOCATE0,2:PRINT "X2=";X2
PRINT "B=";DMS$ DEGB
5610LOCATE0,3:
5080LOCATE 1
2,2:INPUT "Y2=";Y2
可D
EGA
)
5620L2=L
/(
I
+ Tru~ DEG B/ TM
2:PRINT "Y2=";Y2
5090LOCATE 1
2,
5630L
l=L-L2
5100XO=Xl:
YO=Yl
5640AA=Ll/COSDEGA
l:
DY
=Y2-Y
l:
LO= SQR (
D
X"
2+Dγ2):
AZ
=
5110DX=X2-X
ASN (
D
Y/(
L
O+ ABS (
L
O=O
)
)
)
5650BB=L2
/ COS DEG B
4:
P
R
INT"Ll=が
;MDFL
l;
"L2=μ
;MDFL2
5660LOCATE0,
5120AZ=(
3
6
0+A
Z
)* ABS (
D
X)=
O
)+(
1
8
0
A
Z
)* ABS
=
"
; MDFA
A
;
"b=";
5
6
7
0
I
V
A
I
T:
LOCATE0,5:PRINT "a
)
(
D
Xく0
MDFBB
5130GOSUB 5330
5
6
8
0
I
V
A
I
TO:FOR K=1TO4:
GOSUB 5390:NEXT :
I
V
A
I
T
5140Z0=AZ
5690K=5:
GOSUB 5390:GOTO 5530
5
1
5
0
I
V
A
I
T
0:
LOCATE
3:
PRINT
O,
"AZ=μ
;
5700END
3:
I
V
A
I
TO:PRINT " L=
ぺ附FLO
DMS$ AZ:
L
OCATE 1
2,
6010"Z":
' Triangle
5
1
6
0
I
V
A
I
T :
K=4:GOSUB 5390:
LOCA
TE 0,4:INPUT
v
AITO:LOCATE0,
4:PRINT "X3=μ;X3
"X3=μ;X3:¥
6
0
2
0
I
V
A
I
T0:
CLS :
DEGREE:
ONERRORGOTO687
0
:PRIN
T
5170LOCATE 1
2,4:INPUT "Y3=";Y3
1柑柑.柑f
3:PRINT "Y3="
;Y3
5180LOCATE 1
2,
6030FOR
5190DX3=X3-Xl
:DY3=Y3-Yl
:L3=
SQR
A$:
DIM A(1
0
),
A$(10):
USING
"
Triangle"
:ERASE A,
N=1
1
0:
A$(N)=
TO
"
+
が
ぺN,1)+"=":NEXT N
MID$ ("abcABCShde
(
D
X
3
<
0
)
6050LOCATE
"Y
l=";Yl
:LOCATE
TB A
→-
MH
nn
n4
n
r
nU
F
巴
小
I
Fし
AA
nU
L
内
じ
F
ヤl
1
2,
2
:INPUT
﹃
し
VA
円
P
,
一
一V4A
中
E
,
,
TIA
i HU
唱
u
w
川川町
'
円
,
G
︽
U
Ti
pじ
Va
一
A
INPU
T
1
2,1:
U
H
円
中l
MDF
nHHF
L=
TiAAnLAn
PRINT
:
LOCATE 1
2,5:
M
5
3
0
0
I
V
A
I
T
勾
3:PRINT "Y3="
;Y3:
K=4:
GOSUB 5390
5270LOCATE 1
2,
5:
PRINT"AN
="
; DMS$ AN
5290LOCA
TE O,
円
3:
PRINT "X3=";X3
5260LOCATE0,
し VAPU
P
・ 0
-0・ '
5230Z=AN
LnvvAAu
の=360LETAN=AN-360:
GOTO5220
5220IF似
内
,
ti p o u
nρhv
5210AN=AZ3-Z0+360
NY L
n
uEL=
ハU
'PO L t
5200AZ3=(360+AZ3)* ABS (
D
X
3)=
0
)+(180-AZ3)*ABS
6040LOCATE 0,l
:I
NPUT "Xl=";Xl:
LOCATE O,I:PRINT
"Xl=";Xl
(DX3"2+D
Y
3
"
2
):
AZ3=ASN (
D
Y
3/(
L
3+ABS (
L
3=0
)
)
)
"Y2=μ
;Y2:LOCATE
2:
PRINT "Y2=";Y2
1
2,
6080DX=X2-Xl:
DY=Y2-Y1
:L=SQR (
D
X"
2+DY"
2
):
Z=ASN
(
D
Y
/(
L+ABS (
L
=O
)
)
)
(
L
3
):
K=4:
GOSUB 5390:
K=5:
GOSUB 5390
6090Z=(
3
6
0
+
Z
)*
5310GO
TO511
0
):
GOSUB 6750:Z1=Z:A(3)=L
(
D
Xく0
5320E
ND
6100XO=X
l:
YO=Y
l:
Z0=Zl:
A(1
)=0:
A
(
2
)=0
ABS
(
D
X>=
O
)+(
1
8
0
Z
)牢
ABS
5330IFAZ)=360 LE
T AZ=AZ-360:
GOTO5330
6110FOR N=4 TO 1
0:
A(N)=0:
NEX
T N:
S=0:K=3:
GOSUB
GOTO 5340
5340IFAZくoLETAZ=AZ+360:
6860
5350RETURN
5
3
9
0
I
V
A
I
T
6120FORN=1TO 1
0
0:
LOCATE
O,
K:PRINT
6130IFA(
N
)く)0ORS)1 THEN 6330
K
":
LOCATEO,
2,K:
PRINTA$(
N)
6140LOCATES牢1
5400RETURN
2+3,
K:
INPUTA
(
N
)
6150LOCATE S牢1
- 53 -
川口俊雄, 車i
'
納
大阪府 立大学高専研 究 紀 袈 第 4
9巻
絡
6160IFA
(
N
)=O THEN 6330
DA
(
M
))=
A
(
3
) THEN6580
6540IFA(
N
)く90AN
GOSUB6890
6170IFN<4ANDA(N)くo
6550IFA
(
M
))A
(
3
) OR P=A
(
M
) THEN6570
6180IFN<4THEN6310
6560GOSUB 6580:
GOSUB 6780
6190IFN)6THEN6280
一1
65700=
6200A(N)= DEG A
(
N
):
A
(
6
)= ABSA
(
6
)
6580L
= ABS (
T+O*U
):
RETU附
6210IFA(N))OTHEN 6240
6590XO=X2:YO=Y2:20=21+180:RETU郎
N=
4)+(Z1
+A
(
5
)+1
8
0
)牢 ABS
6220Z=(
A
(
4
)
Z
1
)本 ABS (
6600P=180-ASN (
A
(
M
)/A(3)*SIN A(6))
(
N
=5
)
6610IFA
(
M
)<=
A
(
3
) THEN6630
2
)
=
1
8
0
)
6230GOSUB 6750:
A(N)=2-1
80本 ABS (
v
=P+A(6):
GOSU
B 6640:
GOSUB 6460
6620¥
6240IFA
(
N
))=1
8
0 LETA
(
N
)=360-A(N)
v
=P-A(6)
6630¥
62502= DMS A(
N
)
6640IFM=2THEN6700
牢S
,K
:PRIN
T A$(
N
)
; DMS$ A(
N
)
6260LOCATE 1
2
6650RETU貯J
6270A(
9
)=A(
3
)*
SIN
A(
5
):
A(
1
0
)=A(
3
)*
!
SI
6660L=A(8)/ SINA
(
4
):
RETU悶
可
A(4):
GO
TO6320
6670L
=A
(
8
)/ SINA
(
5
):
GOTO6590
6300
,
6300
62800
N N-7 GOTO6310,
6
)牢2
)/2
):
R= SQR
6680V=A(
3
)/2:
P=V* T州 ((180-A(
):
Q=SQRABS(γ2-(
P
-ABSA(
8
)
) 2):
L=SQR
(
P'
2+V 2
A
6290A(
8
)=2*A(
7
)/A(
3
):
GOTO631
0
A
6300A(5-ABS (
N=1
0
)
)=ASN (
A
(N)/A(3))
Q+V
)三)
(
A(
8
)三+(
:PRINTA$(N); MDFA
(
N
)
6310LOCATE 1
2
*
S,K
6690¥
V
=ASN (
A
(
8
)/L
):
GOSUs6780
6320S=S+1
V
=A(1
0)-W:
GOTO6590
6700¥
:IFS<2THEN6120
6330NEXTN
6710GO
TO6740
ABS
6340S=0:L=A(I)+A(2)牢
6720L=A(3)*SIN(180-A(4)-A(6))/SINA
(
6
):
RETURN
¥
v
=A
(
4
)+(
A
(1
0)-A(5))* ABS (
A(
4
)=0
):
K=3
(
A
(
I
)=O
):
V
=180-A(
5
)-A(
6
)
6730¥
6350FORM=1TO5
v
-A(5)):
RETURN
6740L
=A
(
3
)* SINA
(
5
)/ SIN (
1
8
0-¥
6360FORN=M+1TO 6
本 A
sS (
2
)
=
3
6
0
)+360*ABS (
2く0
)
67502=2-360
6370S=S+1
6760RETURN
M
=3
)
)=0ORA(
N+5*ABS(
N=3
)
)=0
6380IFA(
M
+
5牢 ABS(
6
7
7
0
' SUBROUTINE
THEN 641
0
6780GOSUB6850
63900
N
S
GOSUB
1
V
6790Z=ZO+
6450,
6480,
6490,
6500
,
6510
,
6520
,
6590
,6600,
6
6440,
6800GOSUB
,
6670
,
6680
,6710,6720,
6730
660
¥
V
AIT
2:
X=XO+DX:
Y=YO+DY:GOSUB 6860:
6400GOSUB 6790:
N=
6:
M=5
5:
PRINT"X="
;MDFX
;"Y
=
"
;MDFY:FOR
6810LOCATE0,
6410NEXTN:
NEXTM
K=4TO 5:
G
OSUB6860:
NEXT :
K=5
6750:DX=L*
COS
6420GOTO6100
¥
V
AIT O:
RETUR
N
6820GOSUB6860:
6
4
3
0
' TRIANGLE
6850PRINT "2Triangles"
V
=
ACS
644
01
(
3
)三)/(
2吋 (
1
)吋 (
3
)
)
):
RETURN
(
(
A(
1
)• 2-A(
2
)三+A
V
AIT
6860¥
0:
LOCATE
2:
DY=L牢
SIN
O,
K:PRIN
T
V
=ASN (
A(
8
)/A(1
))
64501
":LOCATEO,K:RETURN
6
8
7
0
I
V
A
I
T:
P
R
INT "NOTTRIANGLEDATACHECK!
"
6
4
6
0
2
=
2
0
¥
¥
'
+1
8
0
6880GOSUB 6820:
GOTO 6100
6470GOSUB 6850:
GOTO6800
3
:PRINT"L="
;ABSA(
N
):
LOCATE1
2,
4
6890LOCATE0,
6480RETURN
V=0:
INPUT " V="
;V:
Z=V:
LOCATE
6900LOCATE 0,4:
6490GOTO6520
1
O
, 4:
PRINT" V="
; DMS$ V
6500GOTO6600
1
V
=360-ASN (
A(
8
)/A(
2
)):
GOSUB6590:
GOTO6460
6510
6910IF2)=0THEN 6940
T
=ABS (A(3)*COSA(N)
):
U=
6520P=A(3)*SINA
(
N
):
69302=450+2:
IF2)=360 LET2=2-360
SQR (A(M)'2-P'2):
0=1:
IFN=5GOSUB 6590
):K=4:GOSUB
6940A(N)= ABS (
A
(
N
)牢 SIN DEG 2
3
)
) OR (
A(
N)く90AND
6530IF (
A
(
N
))=90ANDA
(
M
)くA(
6860:
K=3
P)A(M
)
) THEN6870
貯J
6950RETU
6920Z= ABS Z
- 54 -
Fly UP