Seite 1 von 1
Heron Algo. Wurzelziehen
Verfasst: 01.05.2007 05:26
von X0r
Code: Alles auswählen
Procedure.f heronalg(Zahl.f,Startwert.f)
a.f=Zahl
b.f=Startwert
n.f=0.0
last.f=0.0
Repeat
n=(b+(a/b))/2
If last=n
Break
EndIf
last=n
If n=a
Break
Else
b=n
EndIf
ForEver
ProcedureReturn n
EndProcedure
Debug heronalg(0.5,1)
Diese (überflüssige) Prozedur berechnet die Wurzel einer Zahl mit dem Heron Algo.
Verfasst: 01.05.2007 13:58
von STARGÅTE
Diese Berechnungen sind aber falsch wenn die Wurzel aus einer Zahl nicht Ganzzahlig ist, oder die Zahl selber nicht Ganzahlig ist.
Hier eine verbesserung :
Code: Alles auswählen
Procedure.f Heron(Zahl.f, Start.f)
y.f = Zahl / Start
m.f = (Start + y) / 2
q.f = m*m
Repeat
Start = m
y = Zahl / Start
m = (Start + y) / 2
q = m*m
Until m = Start
ProcedureReturn m
EndProcedure
Debug Heron(16, 1)
Debug Heron(256, 1000)
Debug Heron(2, 8)
Debug Heron(8, 2)
Debug Heron(0.25, 6)
Verfasst: 01.05.2007 21:58
von X0r
Hatte einen kleinen fehler gemacht(Wegen int(b)).
Fehler behoben!