討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 最新Microsoft免費研討會行事曆
[ 回上頁 ] [ 討論區發言規則 ]
Fortran 出現的error
更改我的閱讀文章字型大小
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/25 上午 09:50:30
請問如果當出現這一行字串,代表什麼意思, 需要如何解決?
error 399 - Unrecognised statement, did you forget to add /FIXED_FORMAT?
他出現的位子是在
c open the ptracefile file:
print*,'opening ',ptracefile
open(1,file=ptracefile,form='formatted',status='unknown')
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/26 上午 08:03:12
根據這些無法判斷問題的性質, 請將完整的程式附上; 並請說明
1。 那種operating system?
2。 那種編譯器?
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/26 上午 11:10:24
恩~~原來是這樣,不好意思,~因為程式真的很長,你可以給留email給我嗎,我寄給你,
可能會比較清楚一點! 謝謝你的回應!
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/28 下午 09:13:57
請將程式的前五十行列出。
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/29 上午 01:08:00
好 謝謝,就靠你了,我的救星
implicit none
integer Imaxp,Jmaxp,Narray,Ntrain,Nmaxp,ifocusp,jfocusp,ImaxT,JmaxT,Iskin
parameter(Imaxp=1201,Jmaxp=501,Narray=351,Ntrain=10001)
parameter (Nmaxp=10001,ifocusp=481,jfocusp=1,ImaxT=1001,JmaxT=201,Iskin=131)
doubleprecision kwave,lambda,tendtoend,Umax,Mach,train(Ntrain),trainmult
doubleprecision pnplus1(Imaxp,Jmaxp),pn(Imaxp,Jmaxp),pnminus1(Imaxp,Jmaxp)
doubleprecision pnminus2(Imaxp,Jmaxp),pnminus3(Imaxp,Jmaxp),q1,q2,q3,q4
doubleprecision cH2Op,rhoH2O,alphaH2O,BetaH2O,ctissuep,rhotissue,alphatissue
integer i,j,n,m,itargetp,jtargetp,Nptspercycle,decimspace
integer decimtime,nendtoend,ielement(Narray),jelement(Narray)
character*50 infile,trainfile,ptracefile,arrayfile,icflag,Qfile,xamplitude,ramplitude
data infile/'bowl_press.in'/
call readparams (alphatissue,Betatissue,cbloodp,rhoblood,alphablood,Betablood)
call readparams (cvesselp,rhovessel,alphavessel,Betavessel)
call icfiles(cp,rhop,alphap,Betap,cH2Op,rhoH2O,alphaH2O)
call icfiles (BetaH2O,ctissuep,rhotissue,alphatissue,Betatissue)
call initialize(dtp,timep,Nmaxp,Imaxp,Jmaxp,pn,pnplus1)
call initialize(pnminus1,pnminus2,pnminus3,Q,ImaxT,JmaxT,pxmax,pxmin,prmax,prmin)
call readtrain(train,n,Ntrain,trainfile)
call cylarray(Narray,arrayfile,ielement,jelement,itargetp,jtargetp)
call calcparams(rmaxp,drp,Imaxp,Jmaxp,xmaxp,dxp,tmaxp,dtp,Nmaxp,pi,period,Nptspercycle,freq,omega,lambda,kwave)
call calcparams(tendtoend,nendtoend,trainmult,cH2Op,rhoH2O,BetaH2O,itargetp,jtargetp,rtarget,xtarget,q1,q2,q3,q4)
call calcparams(xorder,xshock,Umax,Mach)
call displayparams(drp,dxp,dtp,freq,lambda,kwave,cH2Op,rhoH2O,BetaH2O,Umax,Mach,tmaxp,tendtoend)
call displayparams(xshock,xorder,Nptspercycle,Nmaxp,nendtoend,Imaxp,Jmaxp,decimtime,rmaxp,xmaxp,itargetp,jtargetp,rtarget,xtarget)
pfocusmax=0.d0
pfocusmin=0.d0
c open the ptracefile file
print*,'opening ',ptracefile..........................問題在這裡!
open(1,file=ptracefile,form='formatted',status='unknown')
前面大約是這樣,我在回一篇後面的
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/29 上午 01:10:51
緊接著是
print*,' ------ start time-stepping ------ '
c start time-stepping
t=0.d0
do 11 n=1,Nmaxp
c use the input wave train file at array locations to drive:
if (n.le.Ntrain) then
do 15 m=1,Narray
pn(ielement(m),jelement(m))=trainmult*train(n)
15 continue
end if
call fdtd2s2t(pn,pnplus1,pnminus1,pnminus2,pnminus3,q1,q2,q3,q4,drp,dxp,dtp,Imaxp,Jmaxp)
call fdtd2s2t(cp,rhop,alphap,Betap,omega,Narray,ielement,jelement)
  
c find pressure amplitude at the real focus at the last cycle
if (Nmaxp-n.le.Nptspercycle)then
if (pn(ifocusp,jfocusp).gt.pfocusmax)then
pfocusmax=pn(ifocusp,jfocusp)
end if
if (pn(ifocusp,jfocusp).lt.pfocusmin)then
pfocusmin=pn(ifocusp,jfocusp)
end if

end if
  
c find pressure amplitude on axis at the last cycle
if (Nmaxp-n.le.Nptspercycle)then
do 13 i=1,Imaxp
if (pn(i,1).gt.pxmax(i))then
pxmax(i)=pn(i,1)
end if
if (pn(i,1).lt.pxmin(i))then
pxmin(i)=pn(i,1)
end if
13 continue
do 14 j=1,Jmaxp
if (pn(ifocusp,j).gt.prmax(j))then
prmax(j)=pn(ifocusp,j)
end if
if (pn(ifocusp,j).lt.prmin(j))then
prmin(j)=pn(ifocusp,j)
end if
14 continue
end if
  
c output pressure at real and geometric focus
if (MOD(n,2).eq.0)then
write(1,110)t,pn(ifocusp,jfocusp),pn(itargetp,jtargetp)
end if
  
110 format(3(G12.4, 1x))
  
c collect intensity integral over the last ten cycles
if (n.ge.(Nmaxp-Naverage).and.n.lt.Nmaxp)then
do 20 j=1,JmaxT
do 30 i=1,ImaxT
i0=i+Iskin-1
Qn=((3.d0*pn(i0,j)-4.d0*pnminus1(i0,j)+pnminus2(i0,j))/(2.d0*dtp))**2/(omega*omega*rhop(i0,j)*cp(i0,j))
Q(i,j)=Q(i,j)+Qn
30 continue
20 continue
end if
  
這兩篇差不多是這個程式的三分之一,請問這樣看的出問題的所在嗎?
謝謝你的回應
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/29 上午 01:21:28
補充一下,剛剛看到BuildLog裡面是寫著
FTN95.EXE "C:\Documents and Settings\Administrator\桌面\FreeFormat2.f95" /NO_BANNER /VS7 /DELETE_OBJ_ON_ERROR /ERROR_NUMBERS /UNLIMITED_ERRORS /LINK /CHECKMATE

請問這個有幫助嗎?
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人volley註記此篇回應為最佳解答 2007/10/29 上午 04:13:04
我建議你把程式碼中第一個字母為"C" 的全部改為"!"試試看。
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/29 上午 07:52:28
補充一下﹕

只需要改像
c open the ptracefile file
這樣的注解行
-----------------------------------------------------------------------------
character*50 infile,trainfile,ptracefile,arrayfile,icflag,Qfile,xamplitude,ramplitude

call readparams (alphatissue,Betatissue,cbloodp,rhoblood,alphablood,Betablood)

這樣的就不用改了。
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/29 上午 10:25:41
恩 我有試著照你的方法,原本的問題解決了,謝謝!不過出現了另一個問題
error 28 - SUBROUTINE cannot be declared inside SUBROUTINE block (perhaps missing CONTAINS or END statement?)

這是出現在
subroutine readparams(drp,dxp,dtp,Nptspercycle,Naverage,xorder,trainmult,cH2Op,rhoH2O,alphaH2O,BetaH2O,ctissuep,rhotissue)
subroutine readparams(alphatissue,Betatissue,cbloodp,rhoblood,alphablood,Betablood,cvesselp,rhovessel,alphavessel,Betavessel)
subroutine readparams(decimspace,decimtime,icflag,infile,trainfile,ptracefile,arrayfile,Qfile,xamplitude,ramplitude)
他本來的程式是
subroutine readparams(drp,dxp,dtp,Nptspercycle,Naverage,xorder
  ,trainmult,cH2Op,rhoH2O,alphaH2O,BetaH2O,ctissuep,rhotissue
  ,alphatissue,Betatissue,cbloodp,rhoblood,alphablood,Betablood
  ,cvesselp,rhovessel,alphavessel,Betavessel
  ,decimspace,decimtime,icflag,infile,trainfile,ptracefile
  ,arrayfile,Qfile,xamplitude,ramplitude)
因為他說不能用「,」為程式的開頭,所以我就把他分成三個(subroutine readparams)寫,不知道是不是這個原因造成error!
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人volley註記此篇回應為最佳解答 2007/10/30 上午 08:27:25

>他本來的程式是
>subroutine readparams(drp,dxp,dtp,Nptspercycle,Naverage,xorder
> ,trainmult,cH2Op,rhoH2O,alphaH2O,BetaH2O,ctissuep,rhotissue
> ,alphatissue,Betatissue,cbloodp,rhoblood,alphablood,Betablood
> ,cvesselp,rhovessel,alphavessel,Betavessel
> ,decimspace,decimtime,icflag,infile,trainfile,ptracefile
> ,arrayfile,Qfile,xamplitude,ramplitude)

問題是這個指令被切為很多行! 你需要在每行的後面加上 " &" (最後一行不必). 目的在使編譯器將由 "Subroutine read..." 到 "ramplitude)"視為一個單一的指令。
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/30 下午 04:16:56
非常感謝你的協助!
請問當出把 程式中的「c」改為「!」 所代表的意思是?
作者 : cccc(cc)
[ 貼文 78 | 人氣 657 | 評價 340 | 評價/貼文 4.36 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人volley註記此篇回應為最佳解答 2007/10/30 下午 08:26:26
C- comment(註解的意思)

!-- comment(同樣也是註解的意思)
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人volley註記此篇回應為最佳解答 2007/10/31 下午 08:41:15

>C- comment(註解的意思)
>而
>!-- comment(同樣也是註解的意思)
>
在Fortran 90之前的版本對程式檔的格式要求比較疆硬。 例入注解行必需以第一個字母為"C"來標明。
Fortran 90以後的版本彈性較大, 注解可以用 "!" 來標識并且可以出現在任何位置。
這個是為何OP 會碰到" error 399 - Unrecognised statement, did you forget to add /FIXED_FORMAT?"這樣的信息。
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/10/31 下午 10:14:05
原來如此!學了很多,非常謝謝你
又有一個問題,這是另一個程式的。他沒有出現error 只出現一些warning
像是
 warning 868 - Opening unit 1 may affect the operation of input from the default unit '*' - are you sure you want to do this?
 warning 868 - Opening unit 2 may affect the operation of output to the default unit '*' - are you sure you want to do this?
 warning 868 - Closing unit 1 may affect the operation of input from the default unit '*' - are you sure you want to do this?
: warning 868 - Closing unit 2 may affect the operation of output to the default unit '*' - are you sure you want to do this?
 warning 197 - Variable Z has been declared but not used
 warning 197 - Variable IQ has been declared but not used
 warning 197 - Variable JQ has been declared but not used
 warning 21 - Label 112 is declared, but not used
前四個是要open跟close 檔,但是目前 還沒有那個檔,所以這樣他就跑不出來一個執行檔嗎?他的warning後面還有一些.........我看不懂
Access violation:
The instruction at address 00537cee attempted to write to location 4204f000
00537bdd generate_default_pattern(<ptr>char,<ptr>struct礫ype_definition) [+0111]

0050c944 allocate_static_object(<ptr>struct礬coped_entity) [+02b6]

004c11e1 allocate_a_variable(<ptr>struct礬coped_entity,<ptr>struct礬cope)#42 [+02b2]

004c1899 allocate_all_the_vars(<ptr>struct礬coped_entity,<ptr>struct礬cope)#42 [+004a]

004c1cb8 allocate_var_space(<ptr>struct礬cope) [+1ab8]

00416981 end_function(int) [+0565]

00418770 parse_end_statement(<ptr>char,int,<ref>int) [+0b7b]

0041202b handle_token(<ptr>char,int,int,int,int,<ref>int) [+0e56]

eax=00000080 ebx=00000000 ecx=01cdfd18
edx=00000000 esi=005c0bc4 edi=4204f000
ebp=0383ed78 esp=0383ed28 IOPL=0
ds=0023 es=0023 fs=003b
gs=0000 cs=001b ss=0023
flgs=00210206 [NC EP NZ SN DN NV]
0360/2820 TSTK=5 [ ]
00537cee rep

00537cef stosb
最後才會出現一個error視窗
寫著「the executable does not exist」 請問~~問題是出在 沒有那兩個input檔的關係嗎?
作者 : f77f95(f77f95) Fortran頂尖高手貼文超過500則
[ 貼文 548 | 人氣 9 | 評價 3370 | 評價/貼文 6.15 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人volley註記此篇回應為最佳解答 2007/11/1 上午 09:09:33

> warning 868 - Opening unit 1 may affect the operation of input from the default unit ''*'' - are you sure you want to do this?
> warning 868 - Opening unit 2 may affect the operation of output to the default unit ''*'' - are you sure you want to do this?
> warning 868 - Closing unit 1 may affect the operation of input from the default unit ''*'' - are you sure you want to do this?
>: warning 868 - Closing unit 2 may affect the operation of output to the default unit ''*'' - are you sure you want to do this?

看來你用的編譯器對 "1" "2"這兩個檔案號碼有它的預定的用法; 在你的程式碼中一定有像
"Open(1,..." "Close(2..."這樣的指令。 我建議你將它們的檔案號碼改掉以避開這些warning.

改了 Open Close 中的檔案號碼, 對應的 Read, Write 指令也當然要調整。
作者 : volley(QQ)
[ 貼文 32 | 人氣 3434 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/11/5 上午 08:26:59
謝謝你的指導,我還有很多需要學習的地方,你的每一次回應都對我很有幫助,我把最後一次設為最佳解答嘍 ,感恩
 板主 : 徵求中
 > Fortran - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Fortran - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Fortran
1 f77f95 3300 
2 dennis 470 
3 cc 350 
4 smallpotato 320 
5 qq 290 
6 冼鏡光 230 
7 eraser 220 
8 小文 210 
9 iner 200 
10 wuda 160 
Fortran
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625