如何显示不连续函数

时间:2019-04-20 08:24:03

标签: fortran

我必须显示一个不连续的函数,但它显示

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

1 个答案:

答案 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

但是这些修复程序仅涉及语法问题。代码编写能力将无法解决您的家庭作业,但是您必须自己做一些尝试。我们只能为一般问题提供帮助,我们无法为您写作业。