Forth-Gesellschaft e.V.

Forth-Gesellschaft e.V.

Wir programmieren Forth
Home  :  Mitmachen  :  Erweiterte Suche  :  Statistik  :  Verzeichnis  :  Datenschutzerklärung  :  Forth Büro  :  Impressum  :  Photos  :  Redaktion  :  Download  :  Links  :  Umfragen  :  Kalender  :  Wiki  
Willkommen bei Forth-Gesellschaft e.V.
Samstag, 27. April 2024 @ 17:54 CEST
   

Quadratwurzel

ArchivIm Heft zu Volksforth ist eine Funktion sqrt erwähnt.
Zum Ziehen einer Quadratwurzel kenne ich diese Formel:

neuer Schätzwert= Zahl/alter Schätzwert + alterSchltzwert /2

In C beispielsweise benötigt man also 3 Variablen( alterSchätzwert, neuer Schätzwert und Zahl) .

In Forth benötigt man einiges an Stackarithmetik, so daß mein Wort so aussieht:

: sqrt dup begin dup rot dup rot / rot dup rot + 2 / dup rot = until nip ;

und so arbeitet:



: sqrt (n -- sqrt)
dup | Schätzwert | Zahl
begin
dup |Schätzwert| Schätzwert | Zahl
rot | Zahl | Schätzwert | Schätzwert
dup | Zahl | Zahl | Schätzwert | Schätzwert
rot | Schätzwert | Zahl | Zahl | Schätzwert | Schätzwert
/ | Quotient| Zahl | Schätzwert
rot | Schätzwert | Quotient | Zahl
dup | Schätzwert | Schätzwert | Quotient | Zahl
rot | Quotient | Schätzwert | Schätzwert | Zahl
+ | summe | schätzwert | Zahl
2
/
dup |neuer Schätzwert | neuer Schätzwert | schätzwert | Zahl
rot | schätzwert | neuer Schätzwert| neuer Schätzwert | Zahl
=
until | flag | neuer Schätzwert | Zahl
nip ; | Ergebnis

Die senkrechten -|- Striche stellen das Stack-Diagramm dar, ein bei derForth-Programmierung unverzichtbares Hilfsmittel.

Weiterführende Links

Quadratwurzel | 1 Kommentar(e) | Neuen Account anlegen
Die folgenden Kommentare geben Meinungen von Lesern wieder und entsprechen nicht notwendigerweise der Meinung der Betreiber dieser Site. Die Betreiber behalten sich die Löschung von Kommentaren vor.
Quadratwurzel
Autor: fep am Sonntag, 17. Dezember 2006 @ 14:52 CET
Hallo Andi,
die Anzahl aller vorhandenen SQRT Algorithmen dürfte dem Produkt aus der Anzahl der lebenden Mathematiker und der Anzahl der lebenden Forthprogrammierer sehr nahe kommen.

Falls Dich die Implementierung anderer Algorithmen interessiert, findet Du hier unter Kurstexte, SQRT noch etwas mehr...

http://fprinz.dyndns.org/Forth/forthroot.htm

Einfröhliches Gklückauf
Friederich Prinz

---
SPD? NEE! - Sozial wählen! - Links wählen!