Witam.
Czy mógłbym prosić kogoś o objaśnienie krok po kroku tych dwóch programów poniżej?
Jutro mam częściowe zaliczenie metod numerycznych ,a niestety nie jestem wybitny w programowaniu - dlatego też zwracam się z prośbą o pomoc tutaj.
Nie wiem kompletnie nic, dlatego prosiłbym o proste objaśnienie, najlepiej skomentowanie każdej z linii.
program polowienieprzedzialow
a=1
b=4
ex=1e-6
ef=1e-6
x=(a+b)/2
fx=f(x)
fa=f(a)
do while ((b-a)/2 > ex .AND. abs(fx) > ef)
if (fa*fx<0) then
b=x
else
a=x
fa=fx
endif
x=(a+b)/2
fx=f(x)
end do
write (*,*)x
end
function f(x)
f=sin(x)
end
program gauss
dimension r(10,11),x(10)
integer x
open(3,file='dane.txt')
read(3,*)n
do i=1,n
read(3,*)(r(i,j),j=1,n+1)
enddo
close(3) /*wczytanie danych z pliku
! R=[A b]
do i=1,n /*ustawienie jedynek na przekatnej
c=r(i,i)
do k=i,n+1 /*podzielenie z obustronne i odjecie w i-tym wierszu wartosci z niewiadomych
r(i,k)=r(i,k)/c
enddo
do j=1,n
c=r(j,i)
if (i/=j) then
do k=1,n+1
r(j,k)=r(j,k)-r(i,k)*c
enddo
endif
enddo
enddo
! R=[I x]
open(4,file='x.txt')
do i=1,n
write(*,*)(r(i,j),j=1,n+1)
enddo
close(4)
end