Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(1)处的不可分类声明?(Fortran)_Fortran - Fatal编程技术网

(1)处的不可分类声明?(Fortran)

(1)处的不可分类声明?(Fortran),fortran,Fortran,我正在通过剑桥自学指南2学习fortran编程。在第11页中,我们可以找到以下程序: program projectile implicit none ! define constants real, parameter :: g = 9.8 real, parameter :: pi = 3.1415927 real :: a, t, u, x, y real :: theta, v, vx, vy ! Read values for a, t, and u from terminal r

我正在通过剑桥自学指南2学习fortran编程。在第11页中,我们可以找到以下程序:

program projectile
implicit none

! define constants
real, parameter :: g = 9.8
real, parameter :: pi = 3.1415927
real :: a, t, u, x, y
real :: theta, v, vx, vy

! Read values for a, t, and u from terminal
read(*,*) a, t, u

! convert angle to radians
a = a * pi / 180.0
x = u * cos(a) * t
y = u * sin(a) * t – 0.5 * g * t * t
vx = u * cos(a)
vy = u * sin(a) - g * t
v = sqrt(vx * vx + vy * vy)
theta = atan(vy / vx) * 180.0 / pi

write(*,*) 'x: ',x,'y: ',y
write(*,*) 'v: ',v,'theta: ',theta

end program projectile
但它在第16行生成了一个“不可分类语句(1)”,有人能帮我吗?thx在您的线路中

y = u * sin(a) * t – 0.5 * g * t * t
您有一个看起来像减号(
-
)但不是的字符-它是一个短划线(
-
)。是的,它们看起来几乎一样。不,你不能用一个代替另一个。

在你的行中

y = u * sin(a) * t – 0.5 * g * t * t

您有一个看起来像减号(
-
)但不是的字符-它是一个短划线(
-
)。是的,它们看起来几乎一样。不,你不能用一个代替另一个。

哦,这让我想起了。我年轻得多的时候也上过这门课

我不知道你是怎么输入的,但是你的减法运算符是什么

y=u*sin(a)*t–0.5*g*t*t

用错误的符号写的。您需要使用-,而不是en-dash。你是不是直接从讲稿上抄的公式


另外,如果你不介意我这么说的话,你对
g
的定义与你的其他变量相比,精度不够。

哦,这让我回想起。我年轻得多的时候也上过这门课

我不知道你是怎么输入的,但是你的减法运算符是什么

y=u*sin(a)*t–0.5*g*t*t

用错误的符号写的。您需要使用-,而不是en-dash。你是不是直接从讲稿上抄的公式


另外,如果你不介意我这么说的话,你对
g
的定义与你的其他变量相比精度不够。

错误陈述中有泄露
gfortran
在错误消息
y=u*sin(a)*t\xE2\x80\x93 0.5*g*t*t
之前打印它正在读取的行的版本。所有这些十六进制代码都是公认的ASCII码,这意味着文本文件中出现了问题。经过投票,我意识到你比我早回答了这么多分钟-我在choo-choo上,所以没有看到这个答案。在错误声明中给出了答案
gfortran
在错误消息
y=u*sin(a)*t\xE2\x80\x93 0.5*g*t*t
之前打印它正在读取的行的版本。所有的十六进制代码都是公认的ASCII码,这意味着文本文件中出现了问题。经过投票,意识到你比我早回答了这么多分钟-我在choo-choo上,所以没有看到这个答案。你用Word写文本了吗?你用Word写文本了吗?