错误FOR3309:未定义标签124

时间:2016-12-21 20:26:34

标签: fortran

我写了这个,但是当我尝试构建* .exe时说:

    Compiling Fortran...
C:\Users\LORD\Desktop\TText1.f90
C:\Users\LORD\Desktop\TText1.f90(197): error FOR3309: undefined label 124
Error executing fl32.exe.

这是项目的源代码:

      program one

real::x(6),f(6),deltaf1(6),deltaf2(6),deltaf3(6),deltaf4(6),deltaf5(6)

real::gradf1(6),gradf2(6),gradf3(6),gradf4(6),gradf5(6)

real::h,x1,x2,s1,s2,p1,p2,Y1,Y2

real::Z,T,a,b,c,d

open(unit=16,file="E:\N\xi.txt")

open(unit=148,file="E:\N\fi.txt")

  gradf1(:)=0.0
  gradf2(:)=0.0
  gradf3(:)=0.0
  gradf4(:)=0.0
  gradf5(:)=0.0

  deltaf1(:)=0.0
  deltaf2(:)=0.0
  deltaf3(:)=0.0
  deltaf4(:)=0.0
  deltaf5(:)=0.0


do i=0,5

read(16,*)x(i)

read(148,*)f(i)

write(*,12)x(i),f(i)

12 format(2F12.4)

end do

do i=0,4

 deltaf1(i)=f(i+1)-f(i)


 end do

  do i=0,3

  deltaf2(i)=deltaf1(i+1)-deltaf1(i)

    end do

    do i=0,2

      deltaf3(i)=deltaf2(i+1)-deltaf2(i)


     end do

     do i=0,1

        deltaf4(i)=deltaf3(i+1)-deltaf3(i)

        write(*,*)deltaf4(i)


        end do

          deltaf5(5)=deltaf4(1)-deltaf4(0)

          write(*,*)deltaf5(5)

          do i=1,5

          gradf1(i)=f(i)-f(i-1)


          write(*,55)gradf1(i)

          55 format(F12.4)

            end do

    do i=2,5

    gradf2(i)=gradf1(i)-gradf1(i-1)

    write(*,65)gradf2(i)

    65 format(F12.4)

    end do

    do i=3,5

    gradf3(i)=gradf2(i)-gradf2(i-1)

    end do


    do i=4,5

    gradf4(i)=gradf3(i)-gradf3(i-1)

    write(*,124)gradf4(i)

    end do


    gradf5(5)=gradf4(5)-gradf4(4)

    write(*,155)gradf5(5)

    155 format(F12.4)


            h=x(1)-x(0)

           x1=0.5

          s1=(x1-x(0))/h





            write(*,33)s1

            33 format(F12.4)

!p(x)=fi(0)+s*deltafi1(0)+(1/2)*s*(s-1)*deltafi2(0)+(1/6)*s*(s-1)*(s-2)*deltafi3(0)+(1/24)*s*(s-1)*(s-2)*(s-3)*deltafi4(0)+(1/120)*s*(s-1)*(s-2)*(s-3)*(s-4)*deltafi5(0)   

p1=f(0)+s1*deltaf1(0)+(1/2)*s1*(s1-1)*deltaf2(0)+(1/6)*s1*(s1-1)*(s1-2)*deltaf3(0)+(1/24)*s1*(s1-1)*(s1-2)*(s1-3)*deltaf4(0)+(1/120)*s1*(s1-1)*(s1-2)*(s1-3)*(s1-4)*deltaf5(0)


    write(*,*)" vaghti x1=0.5 chand jomleie pishro barabar ast ba=",p1

    x2=0.45

    s2=(x2-x(0))/h

    p2=f(0)+s2*deltaf1(0)+(1/2)*s2*(s2-1)*deltaf2(0)+(1/6)*s2*(s2-1)*(s2-2)*deltaf3(0)+(1/24)*s2*(s2-1)*(s2-2)*(s2-3)*deltaf4(0)+(1/120)*s2*(s2-1)*(s2-2)*(s2-3)*(s2-4)*deltaf5(0)

write(*,*)"vaghti x2=0.45 chand jomleie pishro barabar ast ba=",p2

    !Y(x)=fi(5)+s*gradfi1(5)+(1/2)*s*(s+1)*gradfi2(5)+(1/6)*s*(s+1)*(s+2)*gradfi3(5)+(1/24)*s*(s+1)*(s+2)*(s+3)*gradfi4(5)+(1/120)*s*(s+1)*(s+2)*(s+3)*(s+4)*gradfi5(5)



    Y1=f(5)+s1*gradf1(5)+(1/2)*s1*(s1+1)*gradf2(5)+(1/6)*s1*(s1+1)*(s1+2)*gradf3(5)+(1/24)*s1*(s1+1)*(s1+2)*(s1+3)*gradf4(5)+(1/120)*s1*(s1+1)*(s1+2)*(s1+3)*(s1+4)*gradf5(5)

    write(*,*)"vaghti x1=0.5 chand jomleie pishro barabar ast ba=",Y1

    Y2=f(5)+s2*gradf1(5)+(1/2)*s2*(s2+1)*gradf2(5)+(1/6)*s2*(s2+1)*(s2+2)*gradf3(5)+(1/24)*s2*(s2+1)*(s2+2)*(s2+3)*gradf4(5)+(1/120)*s2*(s2+1)*(s2+2)*(s2+3)*(s2+4)*gradf5(5)

     write(*,*)"vaghti x2=0.45 chand jomleie pasro barabar ast ba=",Y2

     T=abs(p1-Y1)

    Z=abs(p2-Y2)

    write(*,*)"tafazole chand jomleie pishro va pasro baraye x1=0.5 barabar ast ba=",T

    write(*,*)"tafazole chand jomleie pishro va pasro baraye x2=0.45 barabar ast ba=",Z

    ! tabe W ra be in shekl benvis=exp(2*x)

    !W=exp(2*x)

    W1=exp(2*x1)

    W2=exp(2*x2)


    a=abs(p1-W1)

    b=abs(p2-W2)

    c=abs(Y1-W1)

    d=abs(Y2-W2)


    write(*,*)"tafazole chand jomleie pishro va tabe W mord nazar dr noghte x1=0.5 mishavad=",a


    write(*,*)"tafazole chand jomleie pishro va tabe W mord nazar dr noghte x2=0.45 mishavad=",b


    write(*,*)"tafazole chand jomleie pasro va tabe W mord nazar dr  noghte x1=0.5 mishavad=",c


    write(*,*)"tafazole chand jomleie pasro va tabe W mord nazar dr noghte x2=0.45 mishavad=",d

 stop
end program one

1 个答案:

答案 0 :(得分:1)

我可以说问题在于您使用的是1997年停产的Microsoft Fortran PowerStation,但是...

你有这条线:

SELECT e.first_name, e.last_name, e.gender, s.salary, d.dept_name 
FROM salaries AS s 
INNER JOIN employees AS e ON s.emp_no=e.emp_no 
INNER JOIN dept_emp AS de ON de.emp_no=e.emp_no 
INNER JOIN departments AS d ON d.dept_no=de.dept_no 
ORDER BY s.salary ASC limit 0, 1

124应该是格式的标签,但你没有标记为124的格式。你的格式标记为12 - 也许这就是你想要的。

以下是现代编译器可能会告诉您的内容:

write(*,124)gradf4(i)