Bisekcja - pomocy!

 
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
wujek
Nowy



Dołączył: 12 Sty 2013
Posty: 1
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysł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
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin