|
Die Primitivversion des Newtonschen Näherungsverfahrens.
Man muss die Funktionsgleichung an der gekennzeichneten Stelle einfügen.
program newton;
uses crt;
var x, y, y2, y1, fstrich, l, r: real;
n: integer;
abfrage: char;
function wert (var x: real): real;
begin
y:=0.5*x+5-ln(1.5)*exp(ln(1.5)*x); <- Gleichung
end;
begin
clrscr;
write (' Startstelle eingeben: ');
readln (x);
repeat
l:=x-0.0000001;
r:=x+0.0000001;
wert (l);
y1:=y;
wert (r);
y2:=y;
fstrich:=(y2-y1)/0.0000002;
wert (x);
x:=x-y/fstrich;
writeln (' Naeherung:', x:20:8);
writeln (' fstrich :', fstrich:16:4);
write (' f :', y:16:4);
write (' Nochmal? (e : ende) ');
read (abfrage);
writeln;
until abfrage='e';
readln;
x:=round(x*10000)/10000;
writeln (' Naeherung: ', x:15:4);
readln;
end.
|
|
Besser |
Wenn Sie eine bessere kurze(!!) Lösung haben,
mailen Sie mir! |
|
|