Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Sinus,Cosinus,Tangens
jojo1991 - Fr 16.02.07 21:26
Titel: Sinus,Cosinus,Tangens
Hallo
Ich habe gerade angefangen mit Delphi zu programmieren(in der Schule).
Nun habe ich begonnen einen Rechner zu programmieren. Allerdings habe ich momentan Probleme mit Sinus etc.Wenn ich das Programm ausführe bekomme ich keine richtigen Werte raus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var sinus, sinus1, zahl1:Real; begin zahl1:=StrToFloat(edit1.Text); sinus:=DegToRad(zahl1);
sinus1:=sin(sinus1); edit2.Text:=FloatToStr(sinus1);
end; |
Wo liegt mein Fehler?(Ich benutze Delphi 2005)
Wie kann ich andere Variablentypen wie Extended benutzen?Wie sehen dann die Umformungen aus?
Vielen Dank im Voraus für eure Antworten
Moderiert von
jasocul: Delphi-Tags hinzugefügt
MrSaint - Fr 16.02.07 21:37
Hallo und :welcome: im DF :)
benutze doch für Quellcode die Delphi-Tags. Klicke mal auf "Quote" (oben rechts) von meinem Beitrag, dann siehst du wie's geht :)
Dein Fehler liegt glaube ich hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var sinus, sinus1, zahl1:Real; begin zahl1:=StrToFloat(edit1.Text); sinus:=DegToRad(zahl1);
sinus1:=sin(sinus1); edit2.Text:=FloatToStr(sinus1);
end; |
Ich denke, dass diese "1" entfernt werden muss. Außerdem weiß ich nicht, ob das
DegToRad nötig ist, aber da hilft ausprobieren :D
MrSaint
Allesquarks - Fr 16.02.07 21:40
Du verwendest extended, indem du dem Compiler bemerkbar machst dass du diese verwenden möchtest z.B. indem du deine Variablen damit deklarierst also extended, double oder single statt real. Nebenbei real wird normalerweise wie ein single umgestetzt ist also nicht so präzise zumindest nicht für nen Taschenrechner. Die Funktionen Sinus etc sind ale ind er Unit Math die musst du unter uses einbinden
Chryzler - Fr 16.02.07 21:40
Hmm, ich nehme immer statt DegToRad GradToRad.
wulfskin - Fr 16.02.07 22:04
Chryzler hat folgendes geschrieben: |
Hmm, ich nehme immer statt DegToRad GradToRad. |
Ich denke, dass ist falsch:
GON.
Gruß Hape!
Chryzler - Fr 16.02.07 22:07
Jo, der Link ist falsch. Aber was hat das hiermit zu tun?
wulfskin - Fr 16.02.07 22:14
Chryzler hat folgendes geschrieben: |
Jo, der Link ist falsch. Aber was hat das hiermit zu tun? |
Lesen:
Wikipedia hat folgendes geschrieben: |
...und wurde früher auch Neugrad genannt |
GradToRad wandelt vom Gon-Maß in das Bogenmaß um,
DegToRad vom Grad in das Bogenmaß.
Darum ist deines (im Sinne von Gradmaß) falsch.
jojo1991 - Fr 16.02.07 22:23
Hallo
1.Das war der Fehler. trotzdem bekam ich nach der Behebung bei 180° und 360° wieder Fehlermeldungen.In einem anderen Threat im Forum stand, dass man DegToRad benutzen muss,da Delphi mit dem Bogenmaß rechnet.
2.Das Deklarieren war mir klar.Aber wie wndle ich die Strings in den Variablentyp(z.B. extended) um? Bei Real ist das StrToFloat.
wulfskin - Fr 16.02.07 22:29
jojo1991 hat folgendes geschrieben: |
Bei Real ist das StrToFloat. |
Hier auch, wie bei allen Kommazahlen (float)! :)
Chryzler - Fr 16.02.07 22:31
jojo1991 hat folgendes geschrieben: |
Hallo
1.Das war der Fehler. trotzdem bekam ich nach der Behebung bei 180° und 360° wieder Fehlermeldungen.In einem anderen Threat im Forum stand, dass man DegToRad benutzen muss,da Delphi mit dem Bogenmaß rechnet.
2.Das Deklarieren war mir klar.Aber wie wndle ich die Strings in den Variablentyp(z.B. extended) um? Bei Real ist das StrToFloat. |
Also geht jetzt bei dir
DegToRad oder
GradToRad?
jojo1991 - Fr 16.02.07 22:34
DegToRad
Aber wie gesagt bekomme ich immer noch falsche werte. warum??
wulfskin - Fr 16.02.07 23:22
jojo1991 hat folgendes geschrieben: |
DegToRad
Aber wie gesagt bekomme ich immer noch falsche werte. warum?? |
Delphi-Quelltext
1: 2:
| Deg := 90; ShowMessage(FloatToStr(sin(DegToRad(Deg)))); |
Also, nochmal langsam:
- Gradmaß (deg) ins Bogenmaß (rad) umwandeln: DegToRad.
- Trigonometrische Funktion anwenden, z.B. sin().
- Ausgeben, z.B. FloatToStr.
Gruß Hape!
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!