Код
program NewtonM
real function f (x)
f=x-sin(x) - 0.025
return
end
real function searchnewtonm (a, e, h)
x = a
fx = f(x)
y = fx*h/(f(x+h)-fx)
do while (abs(y)>e)
x = x-y
fx = f(x)
y = fx*h/(f(x+h)-fx)
end do
searchnewtonm = x;
return
end
write(*,*) 'Enter A,E,H ... '
read(*,*) a,e,h
write(*,*) searchnewtonm(a,e,h)
write(*,*) 'end'
end program NewtonM
консольный проект для visual fortran
Все сделал в соответствии с документацией по языку... но не компилируется и выдает тупейшие ошибки.
Что то с синтаксисом не так..
Цитата
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(19) : Error: This statement is positioned incorrectly and/or has syntax errors.
real function F(x)
--------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(21) : Error: A RETURN statement is invalid in the main program.
return
----------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(33) : Error: Syntax error, found '=' when expecting one of: DO FORALL SELECT SELECTCASE WHERE IF
SearchNewtonM := x;
-----------------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(42) : Error: This name does not match the unit name. [NEWTONM]
end program NewtonM
--------------------^
Error executing df.exe.
NewtonM.exe - 4 error(s), 0 warning(s)
real function F(x)
--------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(21) : Error: A RETURN statement is invalid in the main program.
return
----------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(33) : Error: Syntax error, found '=' when expecting one of: DO FORALL SELECT SELECTCASE WHERE IF
SearchNewtonM := x;
-----------------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\NewtonM\NewtonM.f90(42) : Error: This name does not match the unit name. [NEWTONM]
end program NewtonM
--------------------^
Error executing df.exe.
NewtonM.exe - 4 error(s), 0 warning(s)
Помогите найти ошибки... спасибо!