[問題] 迭代請益

看板Fortran作者 (woody )時間5年前 (2019/01/29 15:08), 5年前編輯推噓3(3011)
留言14則, 4人參與, 5年前最新討論串1/1
小妹是自學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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.116.206 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1548745709.A.8BC.html

01/29 16:21, 5年前 , 1F
直接"DO i = 0 , k_max-1" 如何?
01/29 16:21, 1F

01/29 17:04, 5年前 , 2F
你好,試過可以執行,但我需要a從2趨近到0,但執行答
01/29 17:04, 2F

01/29 17:04, 5年前 , 3F
案出來一直在2!
01/29 17:04, 3F
※ 編輯: liaoamy123 (114.137.116.206), 01/29/2019 17:06:13 ※ 編輯: liaoamy123 (114.137.116.206), 01/29/2019 17:08:08

01/29 17:10, 5年前 , 4F
改成Do while (i<k_max)
01/29 17:10, 4F

01/29 17:13, 5年前 , 5F
另外整數除以整數的結果,小數部分會捨去
01/29 17:13, 5F

01/29 17:15, 5年前 , 6F
因此2/k_max=0,-1/k_max=0
01/29 17:15, 6F

01/29 17:17, 5年前 , 7F
改成2.0/k_max及-1.0/k_max就可以了
01/29 17:17, 7F

01/29 17:30, 5年前 , 8F
謝謝你,跑出來了!
01/29 17:30, 8F

01/29 17:37, 5年前 , 9F
但放回主程式,卻還是不行 https://i.imgur.com/7
01/29 17:37, 9F

01/29 17:38, 5年前 , 10F

01/29 18:30, 5年前 , 11F
應該是呼叫副程式\函數 用法錯誤吧
01/29 18:30, 11F

01/29 20:16, 5年前 , 12F
可能要檢查看副程式名稱,或主副程式間對應的引數型態
01/29 20:16, 12F

01/29 20:16, 5年前 , 13F
有無符合
01/29 20:16, 13F

01/30 17:41, 5年前 , 14F
好的,我再試試看哪邊出錯!謝謝
01/30 17:41, 14F
文章代碼(AID): #1SJ_ljYy (Fortran)
文章代碼(AID): #1SJ_ljYy (Fortran)