Programma fortran zeri di una funzione

valery911
Ciao a tutti, avrei un problema dovrei consegnare alla mia professoressa di programmazione un programma fortran 90/95 per il calcolo degli zeri di una funzione generica. Ho provato a fare un programma, ma mi da un loop infinito vorrei chiedere consiglio a voi. Questo è il programma da me fatto :
program bisect
logical :: segnomeno
real :: x0=1.0,x1=2.0,x,EPS=1.0E-10
segnomeno = cos(x0) < 0.0
if ((cos(x1) < 0.0) .eqv. segnomeno) then 
WRITE(*,*) ' Non dobbiamo operare '
else
do 
x = (x0 + x1) / 2.0
if ((cos(x) < 0.0) .eqv. segnomeno) then
x0 = x
else
x1 = x
end if
write(*,*) abs(x0 - x1)
if (abs(x0 - x1) < EPS) then
write(*,*) ' Operazione eseguita '
end if
end do 
write(*,*) x
end if
end program bisect

Risposte
Rggb1
Il ciclo
do
...
end do

non ha all'interno nessuna istruzione per uscire dal ciclo (aka 'exit').

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.