Entwickler-Ecke
Sonstiges (Delphi) - Umkehrfunktion Sinus funktioniert nicht
informatikschüler - Mo 03.01.11 16:25
Titel: Umkehrfunktion Sinus funktioniert nicht
Hallo Community,
ich habe ein weiteres Problem mit meinem programmierten Taschenrechner, die Umkehrfunktion von sinus und Cosinus funktionieren nicht. Ich habe Uses Math schon eingegeben, aber bei arcsin kommen nur falsche Ergebnisse raus. Ich habe das Programm im Anhang dabei, es wäre sehr nett wenn sich den Fehler jemand mal anschauen würde.
LG
Bergmann89 - Mo 03.01.11 16:36
Hey,
das Ergebnis, sowie die Parameter dieser Funktionen sind im Bogenmaß, und nicht im Gradmaß. Einfach die Werte vorher umrechnen, oder DegToRad bzw RadToDeg benutzen.
MfG Bergmann.
informatikschüler - Mo 03.01.11 16:46
Hi!
Wenn ich ein Ergebnis im Winkelmaß haben möchte, muss ich das RadToDeg einfügen und wenn ich Bogenmaß haben möchte kann ich arcsin einfach so stehen lassen?
Ich kenne die RadToDeg anweisung nicht, wie muss das dann im Programm aussehen?
Vielen Dank!
Bergmann89 - Mo 03.01.11 16:50
Hey,
RadToDeg bzw DegToRad is ne ganz normale Funktion. Dann is mir nochwas aufgefallen. Du rechnest beim ArcSin/ArcCos die Eingabe nochmal um, das ist falsch. Das Ergebnis der Funktion ist im Bogenmaß:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| c := sin(DedToRad(a)); c := RadToDeg(acrsin(a)); c := sin(a); c := acrsin(a); |
MfG Bergmann.
informatikschüler - Mo 03.01.11 17:09
Super!
Jetzt bleibt nur noch das Problem mit der Tangensumkehrfunktion, die mit dem RadToDeg leider nicht funktioniert. Ich habe jetzt eingegeben(für Gradmaß):
Delphi-Quelltext
1:
| c := RadToDeg(ArcTan(a)); |
und für Bogenmaß
Leider bekomme ich hier immer noch falsche Ergebnisse.
Bergmann89 - Mo 03.01.11 17:16
Hm, eigentlich sollte das so funktionieren. Die Tangens-Funktion kann das Ergebnis aber nur zwischen 0 und 180° bzw zwischen 0 und Pi abbilden. Ist das vlt der Fehler? Wenn du das Ergebnis zwischen 0 und 360° bzw 0 und 2Pi haben möchtest, dann muss du ArcTan2 benutzen. Guck ma in die Hilfe da steht das alles genau drin. Ich bin mir jetzt nicht 100% sicher.
MfG Bergmann
informatikschüler - Mo 03.01.11 17:53
Leider kann ich das Programm gerade nicht ausführen, weil irgendein syntaxfehler mir dazwischen kommt. Kann mir jemand sagen was da falsch läuft:
In taschenrechner.dpr steht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| program taschenrechner;
uses Forms, Unit1 in 'Unit1.pas' , Unit2 in 'Unit2.pas' ,
{$R *.res}
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end. |
Fehlermeldung ist:
[Fehler] taschenrechner.dpr(13): Bezeichner erwartet, aber 'BEGIN' gefunden
Warscheinlich ein totaler Anfängerfehler...
Tilman - Mo 03.01.11 17:56
Die DPR sollte man als Anfänger normalerweise nicht bearbeiten. Hast du eventuell eine Unit entfernt? Jedenfalls ist das letzte Komma falsch (Zeile 6), dort muss ein Semikolon ";" hin.
informatikschüler - Mo 03.01.11 18:00
Vielen Dank!
Ja, ich hatte ausversehen noch eine Unit erzeigt und die danach weider gelöscht und dann das Semikolon nicht verschoben. Aber jetzt wird mir das alles viel klarer! Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!