wujek
Nowy
Dołączył: 12 Sty 2013
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 19:25, 12 Sty 2013 Temat postu: Bisekcja - pomocy! |
|
|
Witam.
Mam za zadanie napisać program szukający miejsca zerowego przy pomocy bisekcji. Posiedziałem trochę i się potrudziłem, w końcu program udał się uruchomić. Problem w tym, że pętli się w nieskończoność z dziwnymi wartościami. Co mam źle? pozdro
program albert;
function f(x:real):real;
begin
f:=5*(x*x*x*x)-3*(x*x)+0.1;
end;
var
a, b, c, Z : real;
begin
writeln('Program ma za zadanie wyznaczenie miejsca zerowego z okreslona dokladnoscia Z w przedziale [a:b}');
write('Podaj wartosc a='); read(a);
write('Podaj wartosc b='); read(b);
write('Podaj dokladnosc Z='); read(Z);
repeat
c:=(a+b)/2;
if f(a)*f(c)<0 then
c:=b
else
c:=a;
writeln(c);
until
abs(b-a)<Z;
writeln('Miejsce zerowe funkcji o dokladnosci ',Z ,'jest rowna=',c:20:5);
end.
Post został pochwalony 0 razy
|
|