qをパラメータとして円を描く下記プログラムで FOR q=1.5 TO 1.0 STEP -0.1 の動作について2点お尋ねです。
質問(1) このループでは1.5 , 1.4 ... ,1.0までqが変化するので円が6個描かれると 思っていたのですが、5個しか描かれません。For Next制御は、終端値を越えると ループから抜け出るのでは無いでしょうか?
質問(2) FOR q=1.5 TO 1.0 STEP -0.1 を FOR q=1.0 TO 1.5 STEP 0.1 に変えると、描かれる円の大きさが小さくなって しまいます。プログラムロジック上は変わらない筈だと思うのですが。
十進BASICのバージョンは Win版:708 Linux版:6.4.5 でいずれも動作は同じです。よろしくお願い致します。
!-------- プログラムの内容 ------------- OPTION ARITHMETIC complex
LET j=SQR(-1)
SET WINDOW -4,10,-4,10
draw grid
! a相地絡時のb相過電圧特性図を描く
SET LINE COLOR "black"
FOR q=1.5 TO 1.0 STEP -0.1 !過電圧係数をセット
LET kc=3*1.732/2/(3-q^2)
LET mc=-(3-4*q^2)/2/(3-q^2)
LET R=3*q/(3-q^2)
For i=0 to 360
LET rad=pi/180*i
LET m=R*COS(RAD)+mc !m値=X0/x1をセット
LET k=R*SIN(RAD)+kc !k値=R0/x1をセット
PLOT LINES:m,k;
NEXT i
PLOT LINES
NEXT q
! a相地絡時のc相過電圧特性図を描く
! b相地絡特性はa相地絡の特性円を、(-2,0)点を中心に-60°
! 回転させたものに等しい事を利用。
SET LINE COLOR "red"
FOR q=1.5 TO 1.0 STEP -0.1
LET kc=3*1.732/2/(3-q^2)
LET mc=-(3-4*q^2)/2/(3-q^2)
LET R=3*q/(3-q^2)
For i=0 to 360
LET RAD=PI/180*i
LET m=R*COS(RAD)+mc
LET k=R*sin(rad)+kc
LET z=m+2+j*k
LET z1=z*EXP(-j*PI/3)
LET z2=z1-2
PLOT LINES:Re(z2),Im(z2);
NEXT i
PLOT LINES
NEXT q
! 有効接地系の条件範囲を表示。
SET LINE COLOR "green"
PLOT LINES:0,0;3,0
PLOT LINES:3.0,0;3.0,1.0
PLOT LINES:3.0,1.0;0,1
PLOT LINES:0,1;0,0
END
|