作者zx09192939 (虛擬外功)
看板Fortran
標題[請益] 先做再判斷的while
時間Mon Feb 24 11:00:21 2014
我翻過書的迴圈章節
因為迴圈次數不一定所以一定要用while,而我試著改掉goto的語法所以不考慮
請問除了先判斷再進迴圈的方式之外
fortran有沒有類似C那種判斷在後,也就是至少先做一次的語法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.23
1F:推 terryys:可以試試用exit? 02/24 11:15
2F:推 rex0707:WHILE(.TRUE.) 搭配 IF(判斷) EXIT 02/24 11:48
3F:→ zx09192939:我本來就是這樣寫但是覺得不漂亮(討打 02/25 01:07
4F:→ zx09192939:看來是沒有內建的能用囉 02/25 01:07
5F:→ blc:flag=.true. ; while(flag) ; if()flag=.false. 02/25 14:44
6F:→ zx09192939:謝樓上,但還是會先進判斷而非我。我採用了各位的方法 02/27 16:40
網路上找到了一個語法
直接貼範例給大家看
N = 1
DO
N = N + 1
TERM = TERM * (-1.)*X*X/REAL((2*N-2)*(2*N-1))
SINX =SINX + TERM
IF(ABS(TERM) .LT. 1.E-7) EXIT
END DO
只要DO後面不要放變數跟設定範圍就會一直做,直到滿足判斷式才exit離開迴圈
※ 編輯: zx09192939 來自: 163.22.18.23 (03/10 17:07)