Programma fortran zeri di una funzione
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
Il ciclo
non ha all'interno nessuna istruzione per uscire dal ciclo (aka 'exit').
do ... end do
non ha all'interno nessuna istruzione per uscire dal ciclo (aka 'exit').