[問題] 迭代請益

作者: liaoamy123 (woody )   2019-01-29 15:08:27
小妹是自學fortran新手,
目前主迴圈的迭代次數,run不出來
program test
implicit real (a-g,l-x)
integer I,j,k,z,y
Parameter k_max=500
i=0
Do while i<k_max (當迭代次數小於最高迭代則繼續run)
a=2-i*(2/k_max)
b=-1+i *(-1/k_max)
i=i+1
write (*,*) a,b
end do
End
Error:syntax error,found identifier “i “ when expecting one of :do while i<k
_max
Error:an end so statement occurred without a corresponding do, do while ,or do
times statement
有嘗試google過,但還是不太了解!
麻煩板上神人可以幫幫忙了!謝謝
重要:我需要將a從2趨近到0 (線性)
將b線性遞減-1到-2
作者: rex0707 (我就是我)   2019-01-29 16:21:00
直接"DO i = 0 , k_max-1" 如何?
作者: liaoamy123 (woody )   2019-01-29 17:04:00
你好,試過可以執行,但我需要a從2趨近到0,但執行答案出來一直在2!
作者: espresso1   2019-01-29 17:10:00
改成Do while (i<k_max)另外整數除以整數的結果,小數部分會捨去因此2/k_max=0,-1/k_max=0改成2.0/k_max及-1.0/k_max就可以了
作者: liaoamy123 (woody )   2019-01-29 17:30:00
謝謝你,跑出來了!但放回主程式,卻還是不行 https://i.imgur.com/7https://i.imgur.com/qTbdjo2.jpg
作者: sin55688 (單手挑藏獒)   2019-01-29 18:30:00
應該是呼叫副程式\函數 用法錯誤吧
作者: espresso1   2019-01-29 20:16:00
可能要檢查看副程式名稱,或主副程式間對應的引數型態有無符合
作者: liaoamy123 (woody )   2019-01-30 17:41:00
好的,我再試試看哪邊出錯!謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com