Как показать разрывную функцию - PullRequest
0 голосов
/ 20 апреля 2019

Я должен показать прерывистую функцию, но она показывает

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 Ответ

1 голос
/ 20 апреля 2019

По сути, вся ваша программа представляет собой беспорядок, который только внешне похож на Фортан.Трудно выбрать отдельные проблемы.Все ваши программы должны начинаться с implicit none, это очень важно.

Ваш синтаксис условного выражения if не соответствует стандарту.Вам следует обратиться к базовым учебникам и учебникам по Фортрану для правильного синтаксиса

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

Но эти исправления касаются только синтаксических проблем.Код пробабы в любом случае не решит вашу домашнюю работу, но вы должны сделать еще одну попытку самостоятельно.Мы можем помочь только с общими проблемами, мы не можем написать для вас домашнее задание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...