[問題] if用法

作者: afe812 (薛丁格的貓)   2016-05-12 23:58:29
在練習寫一元二次方程式,參考網路別人的寫法的程式碼如下:
real a, b, c, det
complex r1, r2
1 write (*, "(/'請輸入方程式 ax^2+bx+c=0 的 a, b, c 值: ', $)")
read (*, *) a, b, c
if (a == 0.) then
print *, 'a 不可為 0'
go to 1
end if
det = b**2 - 4.*a*c
if (det) 3, 5, 7
3 r1 = cmplx(-b/(2.*a), sqrt(-det)/(2.*a))
r2 = cmplx(-b/(2.*a), -sqrt(-det)/(2.*a))
print *, '無實數根, 有 2 個複數根:', r1, r2
go to 1
5 print *, '有 1 個實數根:', -b/(2.*a)
go to 1
7 print *, '有 2 個實數根:', (-b+sqrt(det))/(2.*a), (-b-sqrt(det))/(2.*a)
go to 1
end
來源:https://tw.answers.yahoo.com/question/index?qid=20091226000015KK08689
想請問他的if 怎麼判斷式只有一個變數,後面接3 5 7就可以
他怎麼知道det<0要去3,det==要去5,det>0要去7
謝謝
作者: kerwinhui (kezza)   2016-05-13 10:41:00
arithmetic if,現在很少人用了最原始版fortran只有這種if,但有了logical if以後大家都比較常用好讀又好寫的logical if,Fortran90已經把arithmetic if列為obsolescent了,留著只是為了和F77相容
作者: rex0707 (我就是我)   2016-05-13 12:30:00
長知識推
作者: afe812 (薛丁格的貓)   2016-05-16 18:07:00
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com