諸量の計算プログラム 2
A4 の方眼紙 (section paper) で 角度や 寸法比の値を得たいときに
必要な数値を 整数/整数 に変換する BASIC のプログラムをお伝えします。
以下をコピーし 実行してください。
!! コピー開始
OPTION ANGLE DEGREES ! a00 に 数値入力 ! 対辺/底辺 に変換したい角度は 90度より小さく 5度より大きい ! 整数/整数 に変換したい数値は 5 以下 ! 上記の範囲で 計算ができます !************************* LET a00= 20.9410204722436 !************************* LET a01=a00 ! 入力値加工 LET a02=250 ! 長いほうの罫線表示巾の寸法 LET a03=180 ! 短いほうの罫線表示巾の寸法 LET a04=1 ! 誤差初期値 LET a05=0 ! 小さい方の整数 LET a06=0 ! 大きい方の整数 LET a07=0 ! swap サイン IF a01>5 THEN ! 角度の変換か数値の変換かの判定 IF a01>45 THEN ! 45度より大の場合 余角で計算 LET a01=90-a01 LET a07=1 ! swap サイン on END IF LET a01=TAN(a01) END IF IF a01>1 THEN ! すべて 1より 小で計算 LET a01=1/a01 LET a07=1 ! swap サイン on END IF FOR x=a02 TO 1 STEP -1 LET a08=ROUND(x*a01,0) ! 短いほうの整数値 IF a08>180 THEN GOTO 100 ! 短いほうが 180以下になるまで計算しない LET a09=ABS(a01-a08/x) ! 誤差の絶対値 IF a09< a04 THEN ! 誤差が最小か判定 LET a04=a09 ! 最小誤差値を入れる LET a05=a08 ! 短いほうの数を入れる LET a06=x ! 長いほうの数を入れる END IF 100 NEXT x PRINT a00 ! 入力値表示 IF a07=1 THEN SWAP a05,a06 ! swap処理 PRINT a05;"/";a06 ! 演算値表示 END! コピー終わり
2013年1月14日