我必须显示一个不连续的函数,但它显示
Error: Unclassifiable statement
我认为我失去了一些东西,但我不知道。谁能帮我吗?
program hw1
real y
real x
if x=0.5 then abs(y)=0.5
x=0 then abs(y)>0.5
x=1 then abs(y)<0.5
write(*,*) abs(y)
do y=-0.5,0.5,0.1
enddo
stop
end
答案 0 :(得分:1)
基本上,您的所有程序都是一堆乱七八糟的东西,只是表面上看起来类似于Fortan。很难选择单个问题。您的所有程序都应以implicit none
开头,这非常重要。
您的if条件语法不符合标准。您应该查阅基本的Fortran教程和教科书以获取正确的语法
if (x==0.5) then
abs(y)=0.5
else if (x==0) then
abs(y)>0.5
else if(x==1) then
abs(y)<0.5
end if
但是您仍然无法将其分配给abs(y)
,这是胡说八道。您甚至都没有声明abs(y)
应该是什么。也许您想分配一些变量?
空的do循环也是完全错误的。您应该使用整数变量进行do循环。如果您希望x的值为-0.5,0和0.5,则可以使用
do i = -1, 1
x = 0.5 * i
end do
但是这些修复程序仅涉及语法问题。代码编写能力将无法解决您的家庭作业,但是您必须自己做一些尝试。我们只能为一般问题提供帮助,我们无法为您写作业。