PROGRAM HYPERBOLA77 INTEGER I, J REAL X, Y, A, B, Y1, Y2 REAL DX, DY INTEGER NX, NY PARAMETER (A = 5.0, B = 3.0) ! 双曲線の係数 PARAMETER (NX = 80, NY = 25) ! 画面サイズ(文字単位) DX = 0.2 ! X軸刻み DY = 0.3 ! Y軸刻み DO 100 J = NY, 1, -1 Y = (J - NY/2.0) * DY DO 110 I = 1, NX X = (I - NX/2.0) * DX IF (ABS(X) .LT. A) THEN WRITE(*, '(A)', ADVANCE='NO') ' ' ELSE Y1 = B * SQRT((X*X)/(A*A) - 1.0) Y2 = -Y1 IF (ABS(Y - Y1).LT.DY/2.0.OR.ABS(Y - Y2).LT.DY/2.0) THEN WRITE(*, '(A)', ADVANCE='NO') '*' ELSE WRITE(*, '(A)', ADVANCE='NO') ' ' ENDIF ENDIF 110 CONTINUE WRITE(*, *) 100 CONTINUE END HYPERBOLA77.EXE【Intel Fortran Compiler】実行結果 * ** ** ** ** ** ** * * ** ** * * ** ** * * * * * * * * * * ** ** * * ** ** * * ** ** ** ** ** **