Wurzelziehen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Versuch doch mal, selber eine Procedure zu entwickeln, die das gleiche macht wie Sqrt(). Das nötige Wissen lernt man normalerweise schon in der Grundschule. Das bringt dir sicher mehr Erfolgserlebnis als wenn du einfach nur eine graphische Oberfläche zusammenhackst.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Hier die Umsetzung einer blöden Aufgabe des Analysis-Übungsblattes, bei der
die Konvergenz bestimmt werden soll. Hab's leider nicht hinbekommen, aber
was die Folge zurückliefert, war mir klar.

Die Wurzel:

Code: Alles auswählen

Procedure.d wurzel(x.d, n.l = 20)
  Protected m1.d
  If n = 0 : ProcedureReturn 0.5 * x : EndIf
  m1 = wurzel(x, n-1)
  ProcedureReturn 0.5*(m1+x/m1)
EndProcedure

x.d = 9999
a.d = wurzel(x)
MessageRequester("wurzel", StrD(a) + Chr(10) + StrD(Sqr(x)))
20 Rekursionen sollten genügen. Aber um die Wurzel aus Zahlen unter
10000 zu ziehen, reichen sogar 10 Rekursionen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Sebastian:
alles roger, no problem.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten