[问题] 迭代请益

楼主: 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