くだすれFORTRAN(超初心者用)その3at TECH
くだすれFORTRAN(超初心者用)その3 - 暇つぶし2ch353:デフォルトの名無しさん
08/06/08 04:17:23
>>351 ぐはw 
0.1 2 1.0 で既に重根判定が崩れているw 0.125 2.0 8.0 とか二進法での有理数なら大丈夫なんだがw
a==0.0の類もどうかと思ったが、EPSILONとか使うと初心者らしくないかと思ってチョンボしたが、
Dは掛け算の後の引き算があるから避けられないなw

PROGRAM quadratic_eq
IMPLICIT NONE
REAL :: a, b, c, d
WRITE(*, *) 'INPUT A, B, C OF A QUADRATIC EQUATION AX**2 + BX + C = 0.'
READ(*, *) a, b, c
d = b**2 - 4.0 * a * c
IF ( a == 0.0 ) THEN
IF ( b == 0.0 ) THEN
IF ( c == 0.0 ) THEN
WRITE(*, *) 'UNDETERMINABLE' ! a=0, b=0, c=0
ELSE
WRITE(*, *) 'INCONSISTENT' ! a=0, b=0, c/=0
END IF
ELSE
WRITE(*, *) 'ONE NON-DEGENERATE SOLUTION' ! a=0, b/=0
END IF
ELSE
IF (D < EPSILON(0.0) ) THEN
WRITE(*, *) 'TWO-FOLD DEGENERATE SOLUTIONS' ! D = 0
ELSE IF (D > 0.0) THEN
WRITE(*, *) 'TWO REAL SOLUTIONS' ! D > 0
ELSE
WRITE(*, *) 'TWO COMPLEX SOLUTIONS' ! D < 0
END IF
END IF
STOP
END PROGRAM quadratic_eq


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch