Wurzel ziehen von ??? |
Hi Leutz! Das hier machen wir grad in Mathe. So kann man kann einfach die n-te Wurzel ausrechnen. [code:1:42fd935aa7]Function Wurzel#(Zahl#, n#) Local Ergebnis# Ergebnis = Zahl ^ (1 / n) Return Ergebnis End Function [/code:1:42fd935aa7] Vielleicht kann das ja jemand gebrauchen. :) Ballermann99 |
von ??? |
Wo gehst du denn zur Schule? Ich habe nämlich vorgestern exakt das gleiche gelernt :D Die Funktion kann man noch ein wenig kürzen: [code:1:9549e7ce12] Function Wurzel#(Zahl#, n#) Return Zahl ^ (1 / n) End Function [/code:1:9549e7ce12] |
von ??? |
Die 0. Wurzel ist genau genommen wirklich nicht definiert. Ich glaube, dass du dies mit hoch 0 verwechselt hast. Wenn den Nenner des Bruchs immer näher Richtung 0 geht (muss positiv sein), wird der Exponent im Gesammten betrachtet immer grösser. Dies hat die Folge, dass die Zahl sehr gross wird. Wenn der Wert jedoch kleiner als 0 ist, dann wird auch das Ergebnis immer kleiner und geht Richtung 0. 0 ist genau die Grenze zwischen fast 0 und fast unendlich, weshalb das Ergebnis nicht definiert ist. Man müsste dann eigendlich eine Fehlermeldung zurückgeben, was aber wie gesagt keiner haben möchte. Deshalb muss man sich dort noch etwas ausdenken, wie event. eine Warunung, dass die Aktion nicht ausgeführt werden kann, ohne jedoch das Programm zu beenden. [code:1:b3a4043919]Function Wurzel#(Zahl#, n#) If Not n#=0 then Return Zahl ^ (1 / n#) Else Print "Die 0. Wurzel kann nicht gezogen werden, da" Print"das Ergebnis nicht definiert ist." ;hier kann natürlich auch etwas anderes stehen, aber dies soll halt nur verdeutlichen, dass die Aktion nicht ausgeführt werden kann. Es dient halt nur als Beispiel End If End Function [/code:1:b3a4043919] Ansonsten ist der Code wirklich gut zu gebrauchen. |
von ??? |
kann man nich irgendwie in die debug-log reinschreiben, damit der programmierer sehn kann, dass da n fehler war (division durch null is ja n fehler) ?? |
von ??? |
[quote:b9578ddd08="ice"]kann man nich irgendwie in die debug-log reinschreiben, damit der programmierer sehn kann, dass da n fehler war (division durch null is ja n fehler) ??[/quote:b9578ddd08]ich glaube, dass ich mich wohl etwas unverständlich ausgedrückt habe. Tut mir Leid. Ich wollte mit dem Beispiel nur eine einfache Möglichkeit zeigen. Natürlich sind hier auch andere Sachen möglich, wie u.a. auch der DebugLog Befehl. Es soll halt nur ein ganz einfaches Beispiel sein. Ändern müsstest du dann nur die else-Bedingung. Eine Möglichkeit wäre dann folgende: [code:1:b9578ddd08]DebugLog "Es wurde versucht die 0. Wurzel zu ziehen."[/code:1:b9578ddd08] |