![]() |
>= bei real?
hi ;)
muss ein kleines programm für mathe schreiben (Heron-Verfahren) und ich bau es etwas aus (nur checks oder so) Jetzt will ich prüfen, ob x² >= a ist. wenn nicht, soll eine fehlermeldung erscheinen. aber das geht nicht:
Delphi-Quellcode:
Er bricht mit der Meldung ab, dass der Operator nicht auf diesen Operandentyp anwendbar ist.
if (x * x) >= a then
Aber wie prüfe ich nun, ob x² größergleich a ist? x und a sind beides real zahlen air |
Re: >= bei real?
Wie sind X und A deklariert? Mit normalen Float-Zahlen geht das.
...:cat:... |
Re: >= bei real?
Compiliert bei mir problemlos:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x,a: real; begin if (x * x) >= a then begin //... end; end; |
Re: >= bei real?
Delphi-Quellcode:
:thumb: Aenogym
if ((x * x) > a) or ((x * x) = a) then
//... |
Re: >= bei real?
Habs nun ganz anders gemacht ;)
Delphi-Quellcode:
So erspar ich mir sowal >= als auch ein "not" oder die "lange" Lösung von Aenogym.
if (x * x) < a then
Trotzdem nochmal Danke :) @toms: Bei mir geht (ging) es aber nicht :gruebel: air |
Re: >= bei real?
Dann hast du aber ein Problem, wenn x² genau so groß is wie a ;-)
|
Re: >= bei real?
Hi,
Delphi-Quellcode:
:roll: Umständlicher geht es auch nicht mehr... :wink:
if ((x * x) > a) or ((x * x) = a) then
//... So geht es bei mir auch problemlos:
Delphi-Quellcode:
MfG Marc
procedure TForm1.Button1Click(Sender: TObject);
var x,a: real; begin if (x * x) >= a then //... end; |
Re: >= bei real?
Da hat er Recht, und
Zitat:
|
Re: >= bei real?
Zitat:
Wir haben heron zwar noch nicht (Vorarbeiter :angel: ) aber im buch steht "für x² >= a" d.h. gleichgroß ist erlaubt (erzeugt dann nur einen rechenschritt). Ich will ja nur x² > a abfangen, um Fehleingaben zu verhindern :) air |
Re: >= bei real?
Zitat:
Zitat:
|
Re: >= bei real?
Zitat:
Zitat:
Aenogym |
Re: >= bei real?
hm
bei mir geht's auch so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x,a: real; begin if (x * x) >= a then //... end; |
Re: >= bei real?
Zitat:
Naja, jetzt geht alles :) Es sei denn, die Wurzel aus 16 ist nicht 4 :mrgreen: (jaja, +- 4, aber bei uns nur nicht negative Zahlen) air |
Re: >= bei real?
Zitat:
|
Re: >= bei real?
Hi,
Zitat:
Alles andere ist Sinnlos. :zwinker: MfG Marc [Edit] Mein "Stadtsnachbar" war mal wieder schneller! :wall: [/Edit] |
Re: >= bei real?
Nö, denn...
Code:
Dann kannst du ja, wenn a 16 sein soll, für x sowohl +4 als auch -4 einsetzen ;-)
sqr(x)=a <=> sqrt(a)=x
Weil das Vorzeichen bei geradem Exponenten wegfällt ;-) *auch mal klugsch...en will* :mrgreen: |
Re: >= bei real?
Aber:
x² = 16 |wurzel( ) x = +/- 4 <= das is dann aber schon die Lösungsmenge gell? |
Re: >= bei real?
Ich würde ja zum Vergleich von float/double and so on
grundsätzlich folgendes empfehlen
Delphi-Quellcode:
uses
Math, Types; {..} if CompareValue(x*x,a) = LesserThanValue then |
Re: >= bei real?
√ aus ± 16 = 4 ...
|
Re: >= bei real?
Wurzel von -16 ist die leere Menge (außer bei komplexe Zahlen glaub ich)
Wurzel 16 = +-4 stimmt. Ist ja aber hier auch wurscht -g- Gruß Stephan :dance: |
Re: >= bei real?
Zitat:
edit: oder hat meine lehrerin mal wieder blödsinn gelabert, um uns nicht zu verwirren? (ich kann mich noch daran erinner: "es gibt keine zahlen, die kleiner als 0 sind" oder "mehr als 360° gibts nicht") Aenogym |
Re: >= bei real?
-Ankopphau- ... Denkfehler :mrgreen:
Nee .. Quark .. garnich Denkfehler... der Taschenrechner sagt Wurzel aus -16 = 4 -hm- |
Re: >= bei real?
Wurzel von -16 = 4i :tongue:
[-edit-] Die Wurzel aus -1 ist einfach als i definiert. Deshalb ist 16i² 4²*i² = -16*1 = -16 :mrgreen: |
Re: >= bei real?
[klugscheisser]
√ aus -16 = 4i mit i² = -1 //imaginäre Zahlen halt [/klugscheisser] :mrgreen: |
Re: >= bei real?
Zitat:
Wurzel bedeutet immer die Seitenlänge eines Quadrates! Deshalb ist z.B. Wurzel 16 = 4 :!: Mathematisch gesehen würde -4 x -4 (=) 16 geben. Aber welches Quadrat hat die Seitenlägne -4?? MfG Marc |
Re: >= bei real?
wir werden off-topic :zwinker:
|
Re: >= bei real?
Der Zahlenraum I nennt sich nicht umsonst imaginär ;)
|
Re: >= bei real?
Zitat:
|
Re: >= bei real?
Was ist denn nun mit dem Problem? Geht es jetzt oder nicht? Es muss eigentlich gehen.
Sorry, muss ich nur kurz klarstellen. :roll: Zitat:
|
Re: >= bei real?
Sorry,
Zitat:
:duck: back to topic |
Re: >= bei real?
Zitat:
|
Re: >= bei real?
Bei uns ist sqrt(16) != [+-] 4
denn unsere Wurzeldefinition ist: Zitat:
|
Re: >= bei real?
Zitat:
dann ist eure Definition falsch. -4 * -4 ist genauso 16, wie 4 * 4 :!: (Wenn Du mir nicht glaubst, tippe es mal in den Taschenrechner ein z.B.) Oder schau Dir mal dizzy's Beispiel an, das macht es auch gut deutlich. mfG mirage228 |
Re: >= bei real?
Hallo zusammen
Code:
Mein alter Mathelehrer bekäme ja Zustände, wenn er diesen Thread lesen würde... :roll:
√(a²) = |a|
Gruss Shaman |
Re: >= bei real?
Zitat:
Es geht hier um etwas anderes. :wink: Zitat:
Mein Mathelehrer (Prof. Titel und hat 2 Mathematik Bücher geschrieben), hat mir/uns genau dieses Zitat beigebracht, was absolut logisch ist. Übrigens: Wenn ich in meinen Taschenrechner (Casio fx-82 Solar) Wurzel-16 eintippe, dann kommt das heraus: -E- (Was so viel wie Error bedeutet :zwinker: ) MfG Marc P.S.: Hiermit entschuldige ich mich bei den Mods, dass ich leider OT geworden bin. |
Re: >= bei real?
@mirage
ich sagte dass ist unsere definition! klar ist -4 * -4 = 16, aber deswegen muss man es nicht zu quadratwurzeln zählen. was wäre, wenn du 5x in einer gleichung Wurzel 16 hast? Viel Spaß, dann darfst du die Gleichung in allen Varianten durchrechnen air |
Re: >= bei real?
Zitat:
aus -16 kann man keine Wurzel bilden. angenommen: Wurzel 16 = 4: 4² = 16 16 <> -16 Wurzel 16 = -4 (-4)² = 16 16 <> -16 denn alles gibt quadriert etwas nich negatives air edit: oh sry 4 doppelpost..hab gar nich aufgepasst |
Re: >= bei real?
Ach Leute... ihr vermischt doch hier wieder zwei Dinge.
Das eine ist es eine Wurzel aus einer negativen Zahl zu ziehen. Und wie oben schon oft geschrieben geht das sehrwohl. Dass euer TR da nur "-E-" schreibt liegt daran, dass das Teil wohl nicht mit komplexen Zahlen kann. Bei mir ist sqrt(-16) = +/-4i. (Das +/- steht nicht drauf, aber schaut euch mal dazu ein paar Bücher o.ä. an...) Das andere ist ist eben dass es beim Wurzel ziehen IMMER 2 Lösungen gibt, AUSSER bei sqrt(0) :!: Die negative Lösung ist genau so eine Lösung wie die positive. Sie sind gleichwertig. Deshalb hat eine Gleichung 4. Grades nunmal auch bis zu 4 Nullstellen. (Edit: Unter Berücksichtigung der komplexen Zahlen hat sie sogar IMMER 4 Nullstellen, im Zweifelsfall sind sie auch alle gleich. Dann ist dies eine sog. vierfache Nullstelle.) Ich erinnere mich an eine Aufgabe in meiner Abiklausur in der man 2 Mal eine Gleichung 4. Grades substituieren musste, und bei der Rückführung trat eine Doppelwurzel auf. Diese Doppelwurzel hatte insgesamt 4 Lösungen. Ich habe für die Aufgabe volle Punktzahl bekommen. Und nu? Ich bringe hier jetzt einen Spruch den ich eigentlich nicht mag. Aber wenn ich sehe was hier mit Halbwissen rumgeschleudert wird, wird mir übel. "Wenn man keine Ahnung hat, einfach mal....." (ihr wisst schon ;)) Mit 14/15/whatever hatte ich auch noch null Plan von komplexen Zahlen und dergleichen, und uns wurde auch gesagt: "Ja, sqrt(-1) geht nicht.", einfach um uns damit nicht zu belasten. Das dahinter stehende Konstrukt ist etwas heftiger, und auch ich habe es erst in der FH voll verstanden. Bitte behauptet nicht, dass etwas wovon ihr nichts wisst, nicht existiert. btw: Meine Mathe-LK-Lehrerin damals hatte auch keinn Plan als ich sie nach komplexen Zahlen fragte! Aber sie wusste zumindest von den zwei Lösungen einer Wurzel ^^ Schuldigung, musste ich an dieser Stelle einfach los werden :duck: Nachti, Fabian |
Re: >= bei real?
Noch eins ;)
Aber dann müsste die Wurzel aus negativen Zahlen doch eine total (!) andere Methode sein. Denn bei mir gibt sqrt(x) für x < 0 nicht, was quadriert x geben könnte air |
Re: >= bei real?
Man führte dazu die imaginäre Einheit ein, und ergänzt damit den Zahlenstrahl zur Gauss'schn Zahlenebene. Danach besteht jede Zahl aus zwei komponenten, nämlich Real- und Imaginärteil. Eine Zahl heisst dann nicht mehr "x", sondern quasi "x + yi". Das i ist nicht anders zu behandeln wie eine Variable die nie einen konkreten Wert zugewiesen bekommt, aber i² = -1.
Und dadurch allein lässt sich das ganze lösen: sqrt(x) mit x<0 ist "0 + sqrt(x)*i". sqrt(-16) wäre also 0+4i. Das ganze zum Quadrat (die 0 kann man sich ja sparen): (4i)² = 4² * i² = 16 * -1 = -16 Kunstvoll gell!? Und was das ganze so irre macht ist, dass man mit diesen 2-komponentigen Zahlen ganz normal weiterhin addieren, subtrahieren, multiplizieren, dividieren, potenzieren... etc.pp. kann. Sämtliche Axiome sind erhalten. Somit ist die Einführung der imaginären Komponente ein absolut gültiger Vorgang, und in der Physik zeigt sich oftmals dass die gesamte Mathematik sehr oft komplexer Natur ist. Es ist eine natürliche Erweiterung die nicht nur gültig ist, sondern zwangsläufig dazu gehört. Jede dir bekannte Zahl ist somit "x + 0*i", und beim Radizieren negativer Realanteile stößt man als erstes an den Punkt an dem der Imaginäranteil einen Wert <> 0 bekommt. Man kann die Rechenweise mit diesen Zahlen sogar auf die Vektorrechnung zurückführen! Es ist wie mit anderen 2-dim. Vektoren, nur dass man noch eine weitere Multiplikation einführt - die komplexe Multiplikation (daher der Name "komplexe Zahlen"). Und jetzt der Hammer: Man kann's noch weiter treiben, mit den Quaternionen oder hyperkomplexen Zahlen. Diese haben 3 Imaginäranteile und einen Realanteil. Problem bei diesen: Bei Quaternionen geht die Kommutativität verloren, bei den hyperkomplexen Zahlen geht das inverse Element bez. der Multiplikation. Man muss also Einbußen hinnehmen beim Rechnen. Man kann sogar ein Gerüst spannen so dass eine einzige Zahl aus 8 Werten besteht, Octernionen. Eine 8-dimensionale Zahl! Hier gehen weitere Axiome flöten, und es gibt schon keine praktische Anwendung mehr für diese Zahlen. Aber es ist denkbar. Wie du siehst sind die komplexen Zahlen die vollständigsten. Alle Regeln gelten, und alle Operationen sind ohne Einschränkung anwendbar. Die Wurzel aus -1 ist i; i² = -1 Man kann mit diesen Zahlen zum Teil wunderbar einfach rechnen, und ohne sie würdest du nicht ein mp3 zu hören bekommen. Die Fouriertransformation baut nämlich auf komplexe Zahlen. :hi:, Fabian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz