昨日今日明日

きのうを思い、きょうを実感し、あすに想いを馳せよう。
若年性或いは老人性痴呆症にならない為にもね?

songzhaoのボケ封じ数学講座第73講

2008年03月15日 | Weblog
 第67講の閉合・開放トラバース測量プログラムへの追稿

 任意の2点間の距離を計算するルーチンを追加しますので、12410行、12420行、12430行を次のように書き改めてください。

 12410 CLS:PRINT”<MENU>”,”データ リスト =1: メンセキ ケイサン =2”,”チャート =3: 2テンノキョリ =4”,”シュウリョウ =5”;
 12420 INPUT P:ON P GOTO 12550,12450,14000,15000,10190
 12430 IF P<>5 THEN 12410

 2点間の距離を求めるプログラムは下記の通りです。
 
 15000 REM**2テンカンノキョリ
 15010 CLS:PRINT”2テンカンノキョリ”:INPUT TS$,PS:PRINT”to”:INPUT TE$,PE
 15020 IF TS$=”S” THEN PS=PS-1
 15030 X1=X(PS):Y1=Y(PS)
 15040 IF TE$=”S” THEN PE=PE-1
 15050 X2=N(PE):Y2=E(PE)
 15060 LL=SQR((X1-X2)^2+(Y1-Y2)^2):IF TS$=”S” THEN PS=PS+1
 15070 IF TE$=”S” THEN PE=PE+1
 15080 CLS:PRINT TS$;”(”;PS;”) カラ ”;TE$;”(”;PE;”) ノ キョリ”,LL,”(strike M to <MENU>)
 15090 A$=INKEY$:IF A$=”” THEN 15090
 15100 IF A$=”M” THEN 12410 ELSE 15000

 また、14380行のQQをQQ$と、文字変数に訂正すればエラー表示されません。なにとぞ悪しからず。

 第67講のデータプログラムをそのまま使って、第69講の通りプログラムを実行してみます。

 <MENU>画面から1と選択して、トラバース点と測点の座標値を書き取ってみると、
 
 Tr(0) X= 0.000 Y=  0.000
 Tr(1) X=49.384 Y=  7.821
 Tr(2) X=31.465 Y=-38.859
 So(1) X= 6.962 Y= 19.308
 So(2) X=27.952 Y= 23.049
 So(3) X=49.384 Y=  7.821
 So(4) X=65.569 Y= -6.102
 So(5) X= 7.780 Y=-43.033 

 さてここで、Tr(0)からSo(5)までの距離は如何程かというのが問題なのですが、平面直角座標系の2点の距離は、ピタゴラスの定理さえ知っていれば容易に解ける問題です。その距離はSQR((0.000-7.780)^2+(0.000+43.033)^2)という算式を解けばよいだけです。この解は、43.73062416となります。

 ここで、プログラムを立ち上げ、正常に作動するかチェックしてみましょう。
  
 (Tr.(0)の方位角は90.0000、X座標は0.000、Y座標は0.000とします)。すると、その距離は43.72938566と表示されます。これは、座標表示のX、Y座標の表示が小数点以下第4位で丸められているために起こる現象です。

 任意の2点の計算結果の成果を、さまざまに検証してみてください。

 使用方法:メニュー画面から、4を選択すると「2テンカンノキョリ」と表示され、改行して?のマークが表示されますから、T(=トラバース点ということ)と入力します。すると改行して?マークが表示されますから0を入力します。今度は、「to」が表示され?となって、もう一方の求点の表示を要求して来ますので、Sと入力し、さらに5と入力します。すると、求める2点間の距離が表示されます。同様の作業で、任意の2点間の距離を求めることができます。