Załączam kod:
Kod: Zaznacz cały
real function f(x)
real x
f=sin(x)-(x*x)
end function f
program bisekcja
implicit none
real a, b, e, c, x, f
character znak
write (*,*) 'Program poszukuje miejsca zerowego równania w oparciu o metode bisekcji'
write (*,*) 'Podaj przedzial poszukiwan <a,b>'
write (*,*) 'a = '; read (*,*) a; write (*,*) 'b = '; read (*,*) b;
if((f(a)*f(b))>0)then
write (*,*)'niepoprawne dane wejsciowe'
stop
end if
write (*,*) 'Podaj dokladnodnosc: '; write (*,*) 'e = '; read (*,*) e;
if((b-a)>e)then
c=((a+b)/2);
write (*,*) 'Srodek przedzialu: ';
write (*,*) c
endif
!open(unit=c,file='ja.txt',form='formatted',access='direct',status='new')
!write (unit=c),c
open(1,file='ala.txt',form='formatted')
write(1,*)'ala ma kota'
do while ((b-a)>e)
c=(a+b)/2
if(f(a)*f(b)<0) then
b=c
else
a=c
endif
write (*,*)'pierwiastek w podprzedziale'; write (*,*) (a+b)/2; write (*,*) (b-a)/2;
! write(unit=3),3
enddo
read (*,*) znak
end program bisekcja